llvm-6502/lib/Transforms
Erik Eckstein 6cfbf12d77 reinstate r222872: Peephole optimization in switch table lookup: reuse the guarding table comparison if possible.
Fixed missing dominance check.
Original commit message:

This optimization tries to reuse the generated compare instruction, if there is a comparison against the default value after the switch.
Example:
   if (idx < tablesize)
      r = table[idx]; // table does not contain default_value
   else
      r = default_value;
   if (r != default_value)
      ...
Is optimized to:
   cond = idx < tablesize;
   if (cond)
      r = table[idx];
   else
      r = default_value;
   if (cond)
      ...
Jump threading will then eliminate the second if(cond).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222891 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-27 15:13:14 +00:00
..
Hello
InstCombine InstCombine: Restore optimizations lost in r210006 2014-11-27 07:25:21 +00:00
Instrumentation [msan] Remove indirect call wrapping code. 2014-11-27 14:54:02 +00:00
IPO
ObjCARC
Scalar Revert r220349 to re-instate r220277 with a fix for PR21330 -- quite 2014-11-25 08:20:27 +00:00
Utils reinstate r222872: Peephole optimization in switch table lookup: reuse the guarding table comparison if possible. 2014-11-27 15:13:14 +00:00
Vectorize Masked Vector Load and Store Intrinsics. 2014-11-23 08:07:43 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile