]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Let the compiler decide whether to inline.
authorJanne Blomqvist <jb@gcc.gnu.org>
Thu, 10 Nov 2011 17:08:24 +0000 (19:08 +0200)
committerJanne Blomqvist <jb@gcc.gnu.org>
Thu, 10 Nov 2011 17:08:24 +0000 (19:08 +0200)
2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
* intrinsics/random.c (rnumber_4): Remove inline attribute.
(rnumber_8, rnumber_10, rnumber_16): Likewise.
* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
(gf_cputime): Add inline attribute for MingW version.
* io/format.c (format_hash): Remove inline attribute.
* io/io.h (memset4): Inline function from transfer.c and write.c
moved here.
* io/transfer.c (min_off): Remove inline attribute.
(memset4): Move to io.h.
* io/write.c (memset4): Likewise.
(memcpy4): Remove inline attribute.
* io/write_float.def (calculate_exp): Likewise.

From-SVN: r181260

libgfortran/ChangeLog
libgfortran/intrinsics/cpu_time.c
libgfortran/intrinsics/random.c
libgfortran/intrinsics/system_clock.c
libgfortran/intrinsics/time_1.h
libgfortran/io/format.c
libgfortran/io/io.h
libgfortran/io/transfer.c
libgfortran/io/write.c
libgfortran/io/write_float.def

index f0b64c95093726c5e81703f8a27e685b3933fbdd..00e65ab72f91b843eeed51cd01a09a359db408c9 100644 (file)
@@ -1,3 +1,20 @@
+2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
+       * intrinsics/random.c (rnumber_4): Remove inline attribute.
+       (rnumber_8, rnumber_10, rnumber_16): Likewise.
+       * intrinsics/system_clock.c (gf_gettime_mono): Likewise.
+       * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
+       (gf_cputime): Add inline attribute for MingW version.
+       * io/format.c (format_hash): Remove inline attribute.
+       * io/io.h (memset4): Inline function from transfer.c and write.c
+       moved here.
+       * io/transfer.c (min_off): Remove inline attribute.
+       (memset4): Move to io.h.
+       * io/write.c (memset4): Likewise.
+       (memcpy4): Remove inline attribute.
+       * io/write_float.def (calculate_exp): Likewise.
+
 2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
 
        * intrinsics/time_1.h (gf_gettime): Simplify time() usage.
index 619f8d25246409e0f32c96299db724213aa62b45..94636c41b0b669b4a97394bee93fcfdc83c048ce 100644 (file)
@@ -26,9 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "time_1.h"
 
 
-static inline void __cpu_time_1 (long *, long *) ATTRIBUTE_ALWAYS_INLINE;
-
-static inline void
+static void
 __cpu_time_1 (long *sec, long *usec)
 {
   long user_sec, user_usec, system_sec, system_usec;
index 8c16b855d1cb50846120643f92cce5866eea95da..35576b85bda9ac19e6d451495c6727e3ff4a8ac9 100644 (file)
@@ -74,7 +74,7 @@ static __gthread_mutex_t random_lock;
    correct offset.  */
 
 
-static inline void
+static void
 rnumber_4 (GFC_REAL_4 *f, GFC_UINTEGER_4 v)
 {
   GFC_UINTEGER_4 mask;
@@ -89,7 +89,7 @@ rnumber_4 (GFC_REAL_4 *f, GFC_UINTEGER_4 v)
   *f = (GFC_REAL_4) v * GFC_REAL_4_LITERAL(0x1.p-32);
 }
 
-static inline void
+static void
 rnumber_8 (GFC_REAL_8 *f, GFC_UINTEGER_8 v)
 {
   GFC_UINTEGER_8 mask;
@@ -106,7 +106,7 @@ rnumber_8 (GFC_REAL_8 *f, GFC_UINTEGER_8 v)
 
 #ifdef HAVE_GFC_REAL_10
 
-static inline void
+static void
 rnumber_10 (GFC_REAL_10 *f, GFC_UINTEGER_8 v)
 {
   GFC_UINTEGER_8 mask;
@@ -126,7 +126,7 @@ rnumber_10 (GFC_REAL_10 *f, GFC_UINTEGER_8 v)
 
 /* For REAL(KIND=16), we only need to mask off the lower bits.  */
 
-static inline void
+static void
 rnumber_16 (GFC_REAL_16 *f, GFC_UINTEGER_8 v1, GFC_UINTEGER_8 v2)
 {
   GFC_UINTEGER_8 mask;
index f4bac0777b37ba5738bd8f4c6adf7944263c6651..6385c4f0c95dc01117e08e4fa23f82174a39f7d8 100644 (file)
@@ -75,7 +75,7 @@ static int weak_gettime (clockid_t, struct timespec *)
    Return value: 0 for success, -1 for error. In case of error, errno
    is set.
 */
-static inline int
+static int
 gf_gettime_mono (time_t * secs, long * nanosecs)
 {
   int err;
index 327f7cf4e0e0c9bbcac770732c43f89c785f0fdd..aaca56ac54ae38af6492a26e00822a2a4ba3f4ae 100644 (file)
@@ -97,14 +97,6 @@ localtime_r (const time_t * timep, struct tm * result)
 #endif
 
 
-#if defined (__GNUC__) && (__GNUC__ >= 3)
-#  define ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
-#else
-#  define ATTRIBUTE_ALWAYS_INLINE
-#endif
-
-static inline int gf_cputime (long *, long *, long *, long *) ATTRIBUTE_ALWAYS_INLINE;
-
 /* Helper function for the actual implementation of the DTIME, ETIME and
    CPU_TIME intrinsics.  Returns 0 for success or -1 if no
    CPU time could be computed.  */
@@ -114,7 +106,7 @@ static inline int gf_cputime (long *, long *, long *, long *) ATTRIBUTE_ALWAYS_I
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
-static int
+static inline int
 gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec)
 {
   union {
index 518dc809ecbcae168c6e0ce30931a4655cb38189..1711a75dd0a5f492282ab3481e051a57cd40c2cf 100644 (file)
@@ -116,8 +116,8 @@ reset_fnode_counters (st_parameter_dt *dtp)
 
 /* A simple hashing function to generate an index into the hash table.  */
 
-static inline
-uint32_t format_hash (st_parameter_dt *dtp)
+static uint32_t
+format_hash (st_parameter_dt *dtp)
 {
   char *key;
   gfc_charlen_type key_len;
index 5270fd7c0b42a4eea90bb5d314dc3abb6c6643f7..06364e17b2ca9a6d4e8356801fd6011f41d84048 100644 (file)
@@ -801,5 +801,14 @@ dec_waiting_unlocked (gfc_unit *u)
 #endif
 }
 
+
+static inline void
+memset4 (gfc_char4_t *p, gfc_char4_t c, int k)
+{
+  int j;
+  for (j = 0; j < k; j++)
+    *p++ = c;
+}
+
 #endif
 
index 062f80efec47b31c0cac91a786c91b85a922f6fd..976102f3a8e3d24abb42c08177f3a3d0787f876b 100644 (file)
@@ -2877,7 +2877,7 @@ next_record_r_unf (st_parameter_dt *dtp, int complete_record)
 }
 
 
-static inline gfc_offset
+static gfc_offset
 min_off (gfc_offset a, gfc_offset b)
 {
   return (a < b ? a : b);
@@ -3136,13 +3136,6 @@ sset (stream * s, int c, ssize_t nbyte)
   return nbyte - bytes_left;
 }
 
-static inline void
-memset4 (gfc_char4_t *p, gfc_char4_t c, int k)
-{
-  int j;
-  for (j = 0; j < k; j++)
-    *p++ = c;
-}
 
 /* Position to the next record in write mode.  */
 
index 95eec84edcb8a42165f5e0f4e31810bd22072968..8be3a5a72bf5322a05d9cde0e54c8410700a8651 100644 (file)
@@ -41,15 +41,7 @@ typedef unsigned char uchar;
 /* Helper functions for character(kind=4) internal units.  These are needed
    by write_float.def.  */
 
-static inline void
-memset4 (gfc_char4_t *p, gfc_char4_t c, int k)
-{
-  int j;
-  for (j = 0; j < k; j++)
-    *p++ = c;
-}
-
-static inline void
+static void
 memcpy4 (gfc_char4_t *dest, const char *source, int k)
 {
   int j;
index 7ab70d28200d81743b201a16b4d83ee7f08fae56..78f09b2982085fd285972739a145e704802a1c3d 100644 (file)
@@ -774,7 +774,7 @@ write_infnan (st_parameter_dt *dtp, const fnode *f, int isnan_flag, int sign_bit
 /* Returns the value of 10**d.  */
 
 #define CALCULATE_EXP(x) \
-inline static GFC_REAL_ ## x \
+static GFC_REAL_ ## x \
 calculate_exp_ ## x  (int d)\
 {\
   int i;\