llvm-6502/lib
Duncan Sands 096aa79276 Generalize the reassociation transform in SimplifyCommutative (now renamed to
SimplifyAssociativeOrCommutative) "(A op C1) op C2" -> "A op (C1 op C2)",
which previously was only done if C1 and C2 were constants, to occur whenever
"C1 op C2" simplifies (a la InstructionSimplify).  Since the simplifying operand
combination can no longer be assumed to be the right-hand terms, consider all of
the possible permutations.  When compiling "gcc as one big file", transform 2
(i.e. using right-hand operands) fires about 4000 times but it has to be said
that most of the time the simplifying operands are both constants.  Transforms
3, 4 and 5 each fired once.  Transform 6, which is an existing transform that
I didn't change, never fired.  With this change, the testcase is now optimized
perfectly with one run of instcombine (previously it required instcombine +
reassociate + instcombine, and it may just have been luck that this worked).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-13 15:10:37 +00:00
..
Analysis Fix typo pointed out by Trevor Harmon. 2010-11-13 12:16:27 +00:00
Archive Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
AsmParser Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
Bitcode Fix PR8494: when reading invalid bitcode, getTypeByID may return 2010-10-28 15:47:26 +00:00
CodeGen Remove DW_AT_start_scope support. It is incomplete and superseeded by location entries support. 2010-11-12 23:20:42 +00:00
CompilerDriver Rename FindExecutable to PrependMainExecutablePath. 2010-11-03 16:14:16 +00:00
ExecutionEngine JIT: More nitty style tweakage, aka territory marking. 2010-11-13 02:48:57 +00:00
Linker GetDLLSuffix: Remove the leading dot from LTDL_SHLIB_EXT. 2010-11-02 20:32:59 +00:00
MC MC: Simplify Mach-O and ELF object writer implementations. 2010-11-13 07:33:40 +00:00
Support report_fatal_error: Simplify a possible ambiguity. 2010-11-13 02:48:51 +00:00
System Fix Whitespace. 2010-11-10 15:06:00 +00:00
Target Comment out the defms until they're activated. 2010-11-13 11:20:05 +00:00
Transforms Generalize the reassociation transform in SimplifyCommutative (now renamed to 2010-11-13 15:10:37 +00:00
VMCore Doxygenify 2010-11-11 21:51:44 +00:00
Makefile