llvm-6502/lib
Evan Cheng 1ad0e8b576 Canonicalize -1 - x to ~x.
Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore:
  %t1 = sub i32 0, %a
  %t2 = add i32 %t1, -1
The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A
will fold it to -1 - %a.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93773 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-18 21:38:44 +00:00
..
Analysis Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts array 2010-01-18 20:42:09 +00:00
Archive Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
AsmParser Remove the InlineHint attribute. There are no current or planned 2010-01-15 21:36:30 +00:00
Bitcode Simplify code that chooses when to enumerate function-local metadata operands 2010-01-14 19:54:11 +00:00
CodeGen Canonicalize -1 - x to ~x. 2010-01-18 21:38:44 +00:00
CompilerDriver Make Path use StringRef instead of std::string where possible. 2009-12-17 21:02:39 +00:00
ExecutionEngine Replace DebugLocTuple with DILocation. 2010-01-16 06:09:35 +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 remove the MAI argument to MCExpr::print and switch overthing to use << when printing them. 2010-01-18 00:37:40 +00:00
Support Fix refacto reported by Nicolas Geoffray. 2010-01-18 12:40:05 +00:00
System Remove spurious semicolon. 2010-01-14 20:19:51 +00:00
Target The most significant encoding bit of GPR:$src or GPR:$dst was over-specified in 2010-01-18 20:15:56 +00:00
Transforms While mapping llvm.dbg.declare intrinsic manually map its operand, if possible, 2010-01-18 19:52:14 +00:00
VMCore Simplify MDNode::getFunction() and assertLocalFunction() by avoiding extra Function* variable and smallptrset since function-local metadata cannot be cyclic 2010-01-18 20:36:54 +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