llvm-6502/test/Transforms
Hans Wennborg 19236d53eb Switch-to-lookup tables: Don't require a result for the default
case when the lookup table doesn't have any holes.

This means we can build a lookup table for switches like this:

  switch (x) {
    case 0: return 1;
    case 1: return 2;
    case 2: return 3;
    case 3: return 4;
    default: exit(1);
  }

The default case doesn't yield a constant result here, but that doesn't matter,
since a default result is only necessary for filling holes in the lookup table,
and this table doesn't have any holes.

This makes us transform 505 more switches in a clang bootstrap, and shaves 164 KB
off the resulting clang binary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199025 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-12 00:44:41 +00:00
..
ADCE
ArgumentPromotion
BBVectorize
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
DebugIR
EarlyCSE
FunctionAttrs
GCOVProfiling
GlobalDCE
GlobalOpt Delete unread globals through addrspacecast 2014-01-02 20:01:43 +00:00
GVN Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
IndVarSimplify Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
Inline [inliner] Fix PR18206 by preventing inlining functions that call setjmp 2013-12-13 08:00:01 +00:00
InstCombine Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
LoopDeletion
LoopIdiom
LoopReroll Fix loop rerolling pass failure with non-consant loop lower bound 2014-01-03 17:20:01 +00:00
LoopRotate
LoopSimplify Reapply r198478 "Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things." 2014-01-06 19:43:14 +00:00
LoopStrengthReduce Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
LoopUnroll
LoopUnswitch
LoopVectorize Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer
ObjCARC BasicAA: Use reachabilty instead of dominance for checking value equality in phi 2014-01-03 05:47:03 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
SampleProfile llvm/test/Transforms/SampleProfile/syntax.ll: Eliminate locale-sensitive message check. 2014-01-11 09:23:52 +00:00
Scalarizer Fix Scalarizer insertion point when replacing PHIs with insertelements 2013-12-23 14:51:56 +00:00
ScalarRepl
SCCP
SimplifyCFG Switch-to-lookup tables: Don't require a result for the default 2014-01-12 00:44:41 +00:00
Sink
SLPVectorizer Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
SROA
StripSymbols
StructurizeCFG
TailCallElim
TailDup