On Wed, Mar 20, 2013 at 11:38:03AM +0100, Richard Biener wrote: > Not without using information created by TER which is disabled for this > case because of different line information. If TER would not be disabled > for this reason it would already work automagically.
Would relaxing that in TER for constants help in the case of: static inline __attribute__((always_inline)) ... foo (..., int m = __ATOMIC_SEQ_CST) { if (something) bar (); else baz (); __atomic_test_and_set (&x, m); } void test () { foo (..., __ATOMIC_HLE_ACQUIRE | __ATOMIC_SEQ_CST); } though? I'd think as the temp = 0x10005; would be in a different bb, TER wouldn't do anything here, for -O1 of course CCP or similar would propagate that, but for -O0 we'd still have to walk the chain of SSA_NAMEs. Jakub