summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/OptimizeCmps.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizerBill Wendling2010-08-091-112/+0
| | | | | | | pass. This pass should expand with all of the small, fine-grained optimization passes to reduce compile time and increase happiment. llvm-svn: 110627
* Use the "isCompare" machine instruction attribute instead of calling theBill Wendling2010-08-081-5/+5
| | | | | | | | | relatively expensive comparison analyzer on each instruction. Also rename the comparison analyzer method to something more in line with what it actually does. This pass is will eventually be folded into the Machine CSE pass. llvm-svn: 110539
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Add the Optimize Compares pass (disabled by default).Bill Wendling2010-08-061-0/+112
This pass tries to remove comparison instructions when possible. For instance, if you have this code: sub r1, 1 cmp r1, 0 bz L1 and "sub" either sets the same flag as the "cmp" instruction or could be converted to set the same flag, then we can eliminate the "cmp" instruction all together. This is a important for ARM where the ALU instructions could set the CPSR flag, but need a special suffix ('s') to do so. llvm-svn: 110423
OpenPOWER on IntegriCloud