On 11/09/2015 05:47 PM, tbsaunde+...@tbsaunde.org wrote:
+++ b/gcc/dbxout.c
@@ -3076,10 +3076,8 @@ dbxout_symbol_location (tree decl, tree type, const char 
*suffix, rtx home)
               || (REG_P (XEXP (home, 0))
                   && REGNO (XEXP (home, 0)) != HARD_FRAME_POINTER_REGNUM
                   && REGNO (XEXP (home, 0)) != STACK_POINTER_REGNUM
-#if !HARD_FRAME_POINTER_IS_ARG_POINTER
-                  && REGNO (XEXP (home, 0)) != ARG_POINTER_REGNUM
-#endif
-                  )))
+                  && (HARD_FRAME_POINTER_IS_ARG_POINTER
+                      || REGNO (XEXP (home, 0)) != ARG_POINTER_REGNUM))))

This used to be

#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM

and the whole macro seems kind of pointless - why not just make the ARG_POINTER_REGNUM test unconditional? I think the conditional compilation was originally just a "performance optimization", avoiding unnecessary tests - which means the reason to have the tests goes away if we move away from the conditional compilation.


Bernd

Reply via email to