llvm-6502/lib
Chris Lattner 785672534d Extend jump threading to support much more general threading
predicates.  This allows us to jump thread things like:

_ZN12StringSwitchI5ColorE4CaseILj7EEERS1_RAT__KcRKS0_.exit119:
  %tmp1.i24166 = phi i8 [ 1, %bb5.i117 ], [ %tmp1.i24165, %_Z....exit ], [ %tmp1.i24165, %bb4.i114 ] 
  %toBoolnot.i87 = icmp eq i8 %tmp1.i24166, 0     ; <i1> [#uses=1]
  %tmp4.i90 = icmp eq i32 %tmp2.i, 6              ; <i1> [#uses=1]
  %or.cond173 = and i1 %toBoolnot.i87, %tmp4.i90  ; <i1> [#uses=1]
  br i1 %or.cond173, label %bb4.i96, label %_ZN12...

Where it is "obvious" that when coming from %bb5.i117 that the 'and' is always 
false.  This triggers a surprisingly high number of times in the testsuite, 
and gets us closer to generating good code for doug's strswitch testcase.

This also make a bunch of other code in jump threading redundant, I'll rip
out in the next patch.  This survived an enable-checking llvm-gcc bootstrap.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86264 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 18:15:14 +00:00
..
Analysis Do not bother to emit debug info for nameless global variable. 2009-11-06 17:58:12 +00:00
Archive Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
AsmParser Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM 2009-11-06 01:33:24 +00:00
Bitcode Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM 2009-11-06 01:33:24 +00:00
CodeGen Use WriteAsOperand to print GlobalAddress MachineOperands. This 2009-11-06 18:03:10 +00:00
CompilerDriver First draft of the OptionPreprocessor. 2009-10-17 20:09:29 +00:00
ExecutionEngine Fix MSVC build. 2009-10-29 12:55:32 +00:00
Linker Pass StringRef by value. 2009-11-06 10:58:06 +00:00
MC Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Support Pass StringRef by value. 2009-11-06 10:58:06 +00:00
System Path::createDirectoryOnDisk should ignore existing directories on win32 too. 2009-11-05 14:32:40 +00:00
Target Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Transforms Extend jump threading to support much more general threading 2009-11-06 18:15:14 +00:00
VMCore Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Makefile remove llvm-db: it is completely broken and if anyone wants to do a debugger, 2009-10-05 02:29:51 +00:00