aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-05-12Fix PowerPC/2006-05-12-rlwimi-crash.llChris Lattner
Nate, please verify that if InsertMask is 0, rlwimi shouldn't be used. This fixes the crash and causes no PPC testsuite regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28243 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12new testcase for a recent rlwimi crash.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28242 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Noop instructionEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28241 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Unused instructionEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28240 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Add a method to generate a string representation from a TargetData.Owen Anderson
This continues the work on PR 761. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28239 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson
TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Fix some tabbing issues.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28237 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Backing out fix for PR770. Need to re-apply it after live range splitting is ↵Evan Cheng
possible git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28236 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Duh. That could take a long time.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28235 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Add a new constructor to TargetData that builds a TargetData from itsOwen Anderson
string representation. This is part of PR 761. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28234 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Two simplifications for token factor nodes: simplify tf(x,x) -> x.Chris Lattner
simplify tf(x,y,y,z) -> tf(x,y,z). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28233 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12New scheduling test case.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28232 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Add capability to scheduler to commute nodes for profit.Evan Cheng
If a two-address code whose first operand has uses below, it should be commuted when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28230 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Typo! How did we commute nodes before?!Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28229 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12For extra sanity checking, fill free'd memory with garbage so we know thatChris Lattner
people aren't reusing machine code buffers at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28228 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Fix some bugs in the freelist manipulation code.Chris Lattner
Finally, implement ExecutionEngine::freeMachineCodeForFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28227 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Refactor scheduler code. Move register-reduction list scheduler to aEvan Cheng
separate file. Added an initial implementation of top-down register pressure reduction list scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28226 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Significantly revamp allocation of machine code to use free lists, realChris Lattner
allocation policies and much more. All this complexity, and we have no functionality change, woo! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28225 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Refactor some code, making it simpler.Chris Lattner
When doing the initial pass of constant folding, if we get a constantexpr, simplify the constant expr like we would do if the constant is folded in the normal loop. This fixes the missed-optimization regression in Transforms/InstCombine/getelementptr.ll last night. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28224 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Add MOV16_rm / MOV32_rm and MOV16_mr / MOV32_mr to isLoadFromStackSlot and ↵Evan Cheng
isStoreToStackSlot git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28223 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Also add super- register class info.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28222 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Also add super- register classes info.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28221 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Set weight of zero length intervals to infinite to prevent them from beingEvan Cheng
spilled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28220 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Backing out previous check-in.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28219 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-11Fix some problems linking stuff in libTarget.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28218 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10If the live interval legnth is essentially zero, i.e. in every live rangeEvan Cheng
the use follows def immediately, it doesn't make sense to spill it and hope it will be easier to allocate for this LI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28217 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Update test caseEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28216 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Two changes:Chris Lattner
1. Implement InstCombine/deadcode.ll by not adding instructions in unreachable blocks (due to constants in conditional branches/switches) to the worklist. This causes them to be deleted before instcombine starts up, leading to better optimization. 2. In the prepass over instructions, do trivial constprop/dce as we go. This has the effect of improving the effectiveness of #1. In addition, it *significantly* speeds up instcombine on test cases with large amounts of constant folding code (for example, that produced by code specialization or partial evaluation). In one example, it speeds up instcombine from 0.0589s to 0.0224s with a release build (a 2.6x speedup). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28215 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10New testcase, check that dead code doesn't pessimize instcombineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28214 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Fix the PowerPC JIT-only failure on UnitTests/Vector/sumarray-dbl, which isChris Lattner
really a bad codegen bug that LLC happens to get lucky with. I must chat with Nate for the proper fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28213 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Templatify RegReductionPriorityQueueEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28212 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Add alloca/malloc ctors that don't take array sizes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28211 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Add an assertion for a common errorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28210 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Watch out for the following case:Evan Cheng
1. Use expects a chain output. 2. Node is expanded into multiple target ops. 3. One of the inner node produces a chain, the outer most one doesn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28209 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10Fix a load folding bug. It is exposed by a multi- resulting instructionsEvan Cheng
def : Pat<> pattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28208 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Fix PR773Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28207 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09This method doesn't need to be virtual, thanks to Reid for pointing this out.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28206 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Fix a regression in my patch from last night that broke the llvmgcc4 build onChris Lattner
ppc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28205 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Indent .data/.text in the .s fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28204 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Another instruction scheduling test caseEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28203 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Add pseudo dependency to force a def&use operand to be scheduled last (unlessEvan Cheng
the distance between the def and another use is much longer). This is under option control for now "-sched-lower-defnuse". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28201 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Debugging infoEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28200 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Remove a completed entry.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28199 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Test case for PR770Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28198 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09PR 770 - permit coallescing of registers in subset register classes.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28197 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Added sub- register classes information.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28196 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Add sub-register class information.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Implement MASM sections correctly, without a "has masm sections flag" and a ↵Chris Lattner
bunch of special case code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28194 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Implement MASM sections correctly, without a "has masm sections flag" and aChris Lattner
bunch of special case code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28193 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-09Oh yeah, there are two of these now, unify both.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28192 91177308-0d34-0410-b5e6-96231b3b80d8