Go to file
Andrew Trick c08726627c indvars: Linear function test replace should avoid reusing undef.
Fixes PR13371: indvars pass incorrectly substitutes 'undef' values.

I do not like this fix. It's needed until/unless the meaning of undef
changes. It attempts to be complete according to the IR spec, but I
don't have much confidence in the implementation given the difficulty
testing undefined behavior. Worse, this invalidates some of my
hard-fought work on indvars and LSR to optimize pointer induction
variables. It results benchmark regressions, which I'll track
internally. On x86_64 no LTO I see:

-3% huffbench
-3% 400.perlbench
-8% fhourstones

My only suggestion for recovering is to change the meaning of
undef. If we could trust an arbitrary instruction to produce a some
real value that can be manipulated (e.g. incremented) according to
non-undef rules, then this case could be easily handled with SCEV.

llvm-svn: 160421
2012-07-18 04:35:10 +00:00
clang PR13381, part 2: when determining if a defaulted special member function should 2012-07-18 03:51:16 +00:00
compiler-rt [TSan] cleanup header comments 2012-07-17 09:39:59 +00:00
debuginfo-tests Fix this for buggy gdb behavior alongside the change 2012-06-05 18:16:03 +00:00
libclc configure.py: Add an install rule. 2012-06-01 17:29:59 +00:00
libcxx Relax the complete-type checks that are happening under __invokable<Fp, Args...> to only check Fp, and not Args... . This should be sufficient to give the desired high quality diagnostics under both bind and function. And this allows a test reported by Rich E on cfe-dev to pass. Tracked by <rdar://problem/11880602>. 2012-07-16 16:17:34 +00:00
libcxxabi Add missing #include <stdlib.h> into test which uses ::exit. 2012-07-11 09:37:56 +00:00
lld Minor edits to match style guidelines. No functionality change 2012-07-17 16:18:04 +00:00
lldb <rdar://problem/11852285> 2012-07-17 20:18:12 +00:00
llvm indvars: Linear function test replace should avoid reusing undef. 2012-07-18 04:35:10 +00:00
polly Allow cast instructions within scops 2012-07-16 10:57:32 +00:00