llvm-6502/lib
Chris Lattner 2249a0b1bd Teach jump threading to duplicate small blocks when the branch
condition is a xor with a phi node.  This eliminates nonsense
like this from 176.gcc in several places:

 LBB166_84:
        testl   %eax, %eax
-       setne   %al
-       xorb    %cl, %al
-       notb    %al
-       testb   $1, %al
-       je      LBB166_85
+       je      LBB166_69
+       jmp     LBB166_85

This is rdar://7391699



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93221 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12 02:07:17 +00:00
..
Analysis Respond to Chris' review: 2010-01-11 07:45:19 +00:00
Archive Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
AsmParser Consolidate ConvertGlobalValIDToValue, ConvertGlobalOrMetadataValIDToValue, and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work 2010-01-11 22:31:58 +00:00
Bitcode s/NextValueNo/NextMDValueNo while processing metadata. 2010-01-11 18:52:33 +00:00
CodeGen Avoid adding PHI arguments for a predecessor that has gone away when a BRCOND was constant folded. 2010-01-11 21:02:33 +00:00
CompilerDriver Make Path use StringRef instead of std::string where possible. 2009-12-17 21:02:39 +00:00
ExecutionEngine "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." 2010-01-09 22:27:07 +00:00
Linker Fixed linking of modules containing aliases to constant bitcasts. Existing behaviour first tried to replace the aliases with the global that they aliased (rather than the bitcast), causing a crash on an assert because the types didn't match. When this was fixed, it then did the same thing creating the new alias (creating an alias with a different type to its aliasee). 2010-01-09 16:27:31 +00:00
MC Change errs() to dbgs(). 2010-01-05 01:28:22 +00:00
Support Remove unused string functions. 2010-01-11 20:33:12 +00:00
System Alternative fix to make sure that the extern declarations used by 2009-12-23 19:12:50 +00:00
Target Add TargetInstrInfo::isCoalescableInstr. It returns true if the specified 2010-01-12 00:09:37 +00:00
Transforms Teach jump threading to duplicate small blocks when the branch 2010-01-12 02:07:17 +00:00
VMCore Reimplement getToken and SplitString as "StringRef helper functions" 2010-01-11 18:03:24 +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