summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add support for parsing and encoding ARM's official syntax for the BFI ↵Bruno Cardoso Lopes2011-01-184-13/+79
| | | | | | instruction llvm-svn: 123770
* Add a FIXME.Jim Grosbach2011-01-181-0/+1
| | | | llvm-svn: 123769
* Ensure Mips::GP is properly reloaded after a function call. Patch by Sasa ↵Bruno Cardoso Lopes2011-01-182-0/+9
| | | | | | Stankovic llvm-svn: 123768
* Negative zero is not legal on mips. Patch by Sasa StankovicBruno Cardoso Lopes2011-01-181-0/+2
| | | | llvm-svn: 123766
* Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa StankovicBruno Cardoso Lopes2011-01-181-3/+2
| | | | llvm-svn: 123763
* Add support for mips32 madd and msub instructions. Patch by Akira HatanakaBruno Cardoso Lopes2011-01-183-10/+229
| | | | llvm-svn: 123760
* For completeness, generalize the (X + Y) - Y -> X transform and add X - (X + ↵Duncan Sands2011-01-181-15/+57
| | | | | | | | | | 1) -> -1. These were not recommended by my auto-simplifier since they don't fire often enough. However they do fire from time to time, for example they remove one subtraction from the final bitcode for 483.xalancbmk. llvm-svn: 123755
* Simplify (X<<1)-X into X. According to my auto-simplier this is the most ↵Duncan Sands2011-01-181-0/+6
| | | | | | | | | | | | | common missed simplification in fully optimized code. It occurs sporadically in the testsuite, and many times in 403.gcc: the final bitcode has 131 fewer subtractions after this change. The reason that the multiplies are not eliminated is the same reason that instcombine did not catch this: they are used by other instructions (instcombine catches this with a more general transform which in general is only profitable if the operands have only one use). llvm-svn: 123754
* add a noteChris Lattner2011-01-181-0/+20
| | | | llvm-svn: 123752
* SPARC backend: Modified LowerCall and LowerFormalArguments so that they use ↵Venkatraman Govindaraju2011-01-182-272/+221
| | | | | | CallingConv assignments. llvm-svn: 123749
* Remove an unnecessary #include.Cameron Zwarich2011-01-181-1/+0
| | | | llvm-svn: 123748
* Move DominanceFrontier from VMCore to Analysis.Cameron Zwarich2011-01-185-130/+140
| | | | llvm-svn: 123747
* McARM: Use accessors where appropriate.Daniel Dunbar2011-01-181-13/+13
| | | | llvm-svn: 123746
* McARM: Fill in ASMOperand::dump() for memory operands.Daniel Dunbar2011-01-181-1/+56
| | | | llvm-svn: 123745
* McARM: Make ARMOperand use a union where appropriate.Daniel Dunbar2011-01-181-9/+13
| | | | llvm-svn: 123744
* There is no point in verifying an analysis that is never updated.Cameron Zwarich2011-01-181-11/+0
| | | | llvm-svn: 123743
* McARM: Unify ParseMemory() successfull return.Daniel Dunbar2011-01-181-40/+22
| | | | llvm-svn: 123740
* McARM: Early exit on failure (NEFC).Daniel Dunbar2011-01-181-7/+8
| | | | llvm-svn: 123739
* McARM: Always keep an offset expression, if used (instead of assuming == 0 ↵Daniel Dunbar2011-01-181-24/+29
| | | | | | | | if used but not present), and simplify logic. Also, clean up various non-sensicalisms in isMemModeRegThumb() and isMemModeImmThumb(). llvm-svn: 123738
* McARM: Add a variety of asserts on the sanity of memory operands.Daniel Dunbar2011-01-181-1/+10
| | | | llvm-svn: 123737
* McARM: Use a consistent marker for not-set OffsetRegNum.Daniel Dunbar2011-01-181-1/+1
| | | | llvm-svn: 123736
* Convert a std::map to a DenseMap for another 1.7% speedup on -scalarrepl.Cameron Zwarich2011-01-181-3/+3
| | | | llvm-svn: 123732
* Make a std::vector a SmallVector<*, 32> like the other vectors in the sameCameron Zwarich2011-01-181-1/+1
| | | | | | | function. This seems to be about a 1.5% speedup of -scalarrepl on test-suite with SPEC2000 and SPEC2006. llvm-svn: 123731
* Reduce indentation and remove commented out code.Rafael Espindola2011-01-181-122/+101
| | | | llvm-svn: 123729
* Remove some now-unused DominanceFrontier methods.Cameron Zwarich2011-01-181-124/+0
| | | | llvm-svn: 123726
* Remove code for updating dominance frontiers and some outdated references toCameron Zwarich2011-01-187-105/+21
| | | | | | dominance and post-dominance frontiers. llvm-svn: 123725
* Remove outdated references to dominance frontiers.Cameron Zwarich2011-01-184-29/+27
| | | | llvm-svn: 123724
* McARM: Start marking T2 address operands as such, for the benefit of the parser.Daniel Dunbar2011-01-181-0/+5
| | | | llvm-svn: 123722
* Support/CommandLine: Add "Did you mean" print for mismatched operands.Daniel Dunbar2011-01-181-0/+39
| | | | llvm-svn: 123717
* The stub routine that we're calling uses test and so clobbersEric Christopher2011-01-181-2/+2
| | | | | | the flags. llvm-svn: 123712
* minor change to rafael's recent patches: if something isChris Lattner2011-01-181-1/+7
| | | | | | | constant but requires a unique address, we can still put it in a readonly section, just not a mergable one. llvm-svn: 123711
* Remove unused variables found by gcc-4.6's -Wunused-but-set-variable.Jeffrey Yasskin2011-01-185-17/+0
| | | | llvm-svn: 123707
* Remove checking that prevented overlapping CALLSEQ_START/CALLSEQ_ENDStuart Hastings2011-01-181-15/+9
| | | | | | | ranges, add legalizer support for nested calls. Necessary for ARM byval support. Radar 7662569. llvm-svn: 123704
* Windows/PathV2.inc: For CryptAcquireContext(), CRYPT_VERIFYCONTEXT may be ↵NAKAMURA Takumi2011-01-171-1/+1
| | | | | | specified for easy use. llvm-svn: 123687
* Windows/PathV2.inc: MoveFileEx() can behave like Posix's mv(1) to specify ↵NAKAMURA Takumi2011-01-171-1/+2
| | | | | | MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING. llvm-svn: 123686
* lib/Support/Windows/Signals.inc: "Showstopper" dialogs may be suppressed ↵NAKAMURA Takumi2011-01-171-0/+3
| | | | | | with SetErrorMode() on Windows 7. llvm-svn: 123685
* Remove dead code, that I apparently wrote a while back. We seem to be doing ↵Owen Anderson2011-01-171-15/+0
| | | | | | | | | | well enough without whatever this was trying to do. When/if someone has the time to do some empirical evaluations, it might be worth it to figure out what this code was trying to do and see if it's worth resurrecting/fixing. llvm-svn: 123684
* Add a missing <cctype> include, from Joerg Sonnenberger!Douglas Gregor2011-01-171-0/+1
| | | | llvm-svn: 123670
* Fix an off-by-one error in ctpop combining.Benjamin Kramer2011-01-171-1/+1
| | | | llvm-svn: 123664
* Roll r123609 back in with two changes that fix test failures with expensiveCameron Zwarich2011-01-173-61/+122
| | | | | | | | | | | | | | checks enabled: 1) Use '<' to compare integers in a comparison function rather than '<='. 2) Use the uniqued set DefBlocks rather than Info.DefiningBlocks to initialize the priority queue. The speedup of scalarrepl on test-suite + SPEC2000 + SPEC2006 is a bit less, at just under 16% rather than 17%. llvm-svn: 123662
* Archive: Fix temp path names.Michael J. Spencer2011-01-171-4/+6
| | | | llvm-svn: 123660
* Support/raw_ostream: Fix uninitalized variable in raw_fd_ostream constructor.Michael J. Spencer2011-01-171-0/+7
| | | | llvm-svn: 123643
* Remove useless Tag enumeration.Jay Foad2011-01-172-4/+5
| | | | llvm-svn: 123623
* Split up RotateShift itinerary in SPU.Kalle Raiskila2011-01-172-38/+40
| | | | | | | | 'rotq*' and 'shlq*' instructions go to the odd pipeline, wheras the inter-vector equivalents 'rot*', 'shl*' go to the even. llvm-svn: 123622
* Add a DAGCombine to turn (ctpop x) u< 2 into (x & x-1) == 0.Benjamin Kramer2011-01-171-0/+24
| | | | | | | | | This shaves off 4 popcounts from the hacked 186.crafty source. This is enabled even when a native popcount instruction is available. The combined code is one operation longer but it should be faster nevertheless. llvm-svn: 123621
* Don't crash SPU BE with memory accesses with big alignmnet.Kalle Raiskila2011-01-171-4/+4
| | | | llvm-svn: 123620
* Materialize GA addresses with movw + movt pairs for Darwin in PIC mode. e.g.Evan Cheng2011-01-1715-81/+244
| | | | | | | | | | | | movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4)) movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4)) LPC0_0: add r0, pc, r0 It's not yet enabled by default as some tests are failing. I suspect bugs in down stream tools. llvm-svn: 123619
* Roll out r123609 due to failures on the llvm-x86_64-linux-checks bot.Cameron Zwarich2011-01-173-121/+60
| | | | llvm-svn: 123618
* Eliminate the use of dominance frontiers in PromoteMemToReg. In addition toCameron Zwarich2011-01-173-60/+121
| | | | | | | | | | | | | eliminating a potentially quadratic data structure, this also gives a 17% speedup when running -scalarrepl on test-suite + SPEC2000 + SPEC2006. My initial experiment gave a greater speedup around 25%, but I moved the dominator tree level computation from dominator tree construction to PromoteMemToReg. Since this approach to computing IDFs has a much lower overhead than the old code using precomputed DFs, it is worth looking at using this new code for the second scalarrepl pass as well. llvm-svn: 123609
* UnRevert "Revert "Archive: Replace all internal uses of PathV1 with PathV2. ↵Michael J. Spencer2011-01-161-36/+36
| | | | | | The external API still uses PathV1."" llvm-svn: 123605
OpenPOWER on IntegriCloud