diff mbox

Move HWI abs functions inline

Message ID 20141216200151.GB29048@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka Dec. 16, 2014, 8:01 p.m. UTC
Hi,
while looking on profiles of firefox linktime I noticed that HWI abs functions
are implemented offline that slows down the normalize function.
Those are always win when implemented inline.

Bootstrapped/regtested x86_64-linux, comitted as obvious.

	* hwint.c (abs_hwi, absu_hwi): Move to ...
	* hwint.h (abs_hwi, absu_hwi): ... here; make inline.
diff mbox

Patch

Index: hwint.c
===================================================================
--- hwint.c	(revision 218730)
+++ hwint.c	(working copy)
@@ -124,22 +124,6 @@  popcount_hwi (unsigned HOST_WIDE_INT x)
 
 #endif /* GCC_VERSION < 3004 */
 
-/* Compute the absolute value of X.  */
-
-HOST_WIDE_INT
-abs_hwi (HOST_WIDE_INT x)
-{
-  gcc_checking_assert (x != HOST_WIDE_INT_MIN);
-  return x >= 0 ? x : -x;
-}
-
-/* Compute the absolute value of X as an unsigned type.  */
-
-unsigned HOST_WIDE_INT
-absu_hwi (HOST_WIDE_INT x)
-{
-  return x >= 0 ? (unsigned HOST_WIDE_INT)x : -(unsigned HOST_WIDE_INT)x;
-}
 
 /* Compute the greatest common divisor of two numbers A and B using
    Euclid's algorithm.  */
Index: hwint.h
===================================================================
--- hwint.h	(revision 218730)
+++ hwint.h	(working copy)
@@ -264,4 +264,21 @@  zext_hwi (unsigned HOST_WIDE_INT src, un
     }
 }
 
+/* Compute the absolute value of X.  */
+
+inline HOST_WIDE_INT
+abs_hwi (HOST_WIDE_INT x)
+{
+  gcc_checking_assert (x != HOST_WIDE_INT_MIN);
+  return x >= 0 ? x : -x;
+}
+
+/* Compute the absolute value of X as an unsigned type.  */
+
+inline unsigned HOST_WIDE_INT
+absu_hwi (HOST_WIDE_INT x)
+{
+  return x >= 0 ? (unsigned HOST_WIDE_INT)x : -(unsigned HOST_WIDE_INT)x;
+}
+
 #endif /* ! GCC_HWINT_H */