llvm-mirror/test/Transforms
Chandler Carruth 9b73630229 Switch to a signed representation for the dynamic offsets while walking
across the uses of the alloca. It's entirely possible for negative
numbers to come up here, and in some rare cases simply doing the 2's
complement arithmetic isn't the correct decision. Notably, we can't zext
the index of the GEP. The definition of GEP is that these offsets are
sign extended or truncated to the size of the pointer, and then wrapping
2's complement arithmetic used.

This patch fixes an issue that comes up with *no* input from the
buildbots or bootstrap afaict. The only place where it manifested,
disturbingly, is Clang's own regression test suite. A reduced and
targeted collection of tests are added to cope with this. Note that I've
tried to pin down the potential cases of overflow, but may have missed
some cases. I've tried to add a few cases to test this, but its hard
because LLVM has quite limited support for >64bit constructs.

llvm-svn: 164475
2012-09-23 11:43:14 +00:00
..
ADCE
ArgumentPromotion Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
BBVectorize Allow BBVectorize to form non-2^n-length vectors. 2012-06-28 05:42:42 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare Move load_to_switch.ll to test/CodeGen/SPARC/ 2012-09-19 09:25:03 +00:00
ConstantMerge
ConstProp Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
CorrelatedValuePropagation make LazyValueInfo analyze the default case of switch statements (we know that in the default branch the value cannot be any of the switch cases) 2012-06-28 16:13:37 +00:00
DeadArgElim Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
DeadStoreElimination Fix more fallout from r158919, similar to PR13547. 2012-09-03 05:15:15 +00:00
EarlyCSE
FunctionAttrs Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
GlobalDCE
GlobalOpt Add testcases for GlobalOpt changes in r160693 and r160757. 2012-07-29 01:15:37 +00:00
GVN Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
IndVarSimplify indvars: Linear function test replace should avoid reusing undef. 2012-07-18 04:35:10 +00:00
Inline rename test 2012-09-19 09:22:17 +00:00
InstCombine InstCombine: Make sure we use the pre-zext type when creating a constant of a value that is zext'd. 2012-09-21 16:26:41 +00:00
InstSimplify
Internalize
IPConstantProp Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
JumpThreading JumpThreading: when default destination is the destination of some cases in a 2012-09-05 23:45:58 +00:00
LCSSA Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LICM LICM may hoist an instruction with undefined behavior above a trap. 2012-09-04 10:25:04 +00:00
LoopDeletion
LoopIdiom LoopIdiom: Give up when the loop is not in canonical form. 2012-09-21 17:27:23 +00:00
LoopRotate LoopRotation: Make the brute force DomTree update more brute force. 2012-09-02 11:57:22 +00:00
LoopSimplify Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
LoopStrengthReduce LSR critical edge splitting fix for PR13756. 2012-09-18 17:51:33 +00:00
LoopUnroll Fix 12513: Loop unrolling breaks with indirect branches. 2012-04-10 05:14:42 +00:00
LoopUnswitch Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch PR1255 related changes (case ranges): 2012-05-24 09:33:20 +00:00
Mem2Reg
MemCpyOpt MemCpyOpt: When forming a memset from stores also take GEP constexprs into account. 2012-09-13 16:29:49 +00:00
MergeFunc Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
MetaRenamer Review feedback from Duncan Sands. Alphabetize includes and simplify 2012-09-14 19:19:57 +00:00
ObjCARC Detect overflow in the path count computation. rdar://12277446. 2012-09-12 20:45:17 +00:00
PhaseOrdering Reapply r155136 after fixing PR12599. 2012-04-23 17:39:52 +00:00
PruneEH The normal edge of an invoke is not allowed to branch to a block with a 2012-08-10 20:55:20 +00:00
Reassociate Stop reassociate from looking through expressions of arbitrary complexity. This 2012-07-26 09:26:40 +00:00
ScalarRepl Port the global copy optimization from the SROA pass to InstCombine. 2012-08-21 08:39:44 +00:00
SCCP Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
SimplifyCFG SimplifyCFG: sink common codes from IF, ELSE blocks down to END block. 2012-09-20 22:37:36 +00:00
SimplifyLibCalls SimplifyLibCalls: Give all safely-shrinkable libcalls the same treatment. 2012-08-22 19:39:15 +00:00
Sink Enhance the sinking code to handle diamond patterns. Patch by 2012-05-31 08:09:49 +00:00
SROA Switch to a signed representation for the dynamic offsets while walking 2012-09-23 11:43:14 +00:00
StripSymbols
TailCallElim Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
TailDup Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00