aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Re-enable elimination of unnecessary SUBREG_TO_REG instructions inDan Gohman2008-08-075-12/+46
| | | | | | | | | | | | LowerSubregs, and fix an x86-64 isel bug that this exposed. SUBREG_TO_REG for x86-64 implicit zero extension is only safe for isel to generate when the source is known to always have zeros in the high 32 bits. The EXTRACT_SUBREG instruction does not clear the high 32 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54444 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an extra example that shouldn't get an and instruction.Dan Gohman2008-08-071-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54443 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite JIT handling of GlobalVariables so theyDale Johannesen2008-08-074-23/+179
| | | | | | | | | | | | | | | | are allocated in the same buffer as the code, jump tables, etc. The default JIT memory manager does not handle buffer overflow well. I didn't introduce this and I'm not attempting to fix it here, but it is more likely to be hit now since we're putting more stuff in the buffer. This affects one test that I know of so far, MultiSource/Benchmarks/NPB-serial/is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54442 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor code that finalize PHI nodes, jump tables, etc. out of ↵Evan Cheng2008-08-072-15/+29
| | | | | | SelectBasicBlock. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54438 91177308-0d34-0410-b5e6-96231b3b80d8
* SDISel's constant branch folding can fold away self-loops, which doesn't ↵Owen Anderson2008-08-061-15/+40
| | | | | | | | | result in any dead blocks, but rather an incorrect phi input. Add code to UnreachableMachineBlockElim to get rid of these entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54432 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct handle cases where two phis are coalesced together, and correct ↵Owen Anderson2008-08-061-6/+39
| | | | | | | | | break up the case where two different phis want to coalesce with the same vreg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54426 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, didn't mean to commit this.Owen Anderson2008-08-061-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54425 91177308-0d34-0410-b5e6-96231b3b80d8
* Add libDriver.vcproj to solution file.Ted Kremenek2008-08-061-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54424 91177308-0d34-0410-b5e6-96231b3b80d8
* We don't need to try to coalesce input vregs that are the same as the output ↵Owen Anderson2008-08-061-0/+7
| | | | | | vreg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54422 91177308-0d34-0410-b5e6-96231b3b80d8
* Only trim a live interval if the register is not used after the PHI node.Owen Anderson2008-08-061-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54421 91177308-0d34-0410-b5e6-96231b3b80d8
* Only remap each VNInfo once when doing renumbering.Owen Anderson2008-08-061-13/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54420 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-introduce the 8-bit subreg zext-inreg patterns for x86-32,Dan Gohman2008-08-064-34/+25
| | | | | | | | this time using MOV32to32_ and MOV16to16_. Thanks to Evan for suggesting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54418 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a shufflevector instcombine that was emitting invalid masks indicesDan Gohman2008-08-062-3/+114
| | | | | | | when it meant to be emitting undef indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54417 91177308-0d34-0410-b5e6-96231b3b80d8
* PR2535, not PR2355.Evan Cheng2008-08-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54416 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2355: bug in ChangeCompareStride. When the loop termination compare is ↵Evan Cheng2008-08-062-2/+26
| | | | | | the only use of its iv stride, the stride can be eliminated by moving it to another stride. If the scale is negative, swap the predicate instead of using a inverse predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54415 91177308-0d34-0410-b5e6-96231b3b80d8
* xchg does not modify FLAGS.Dan Gohman2008-08-062-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54411 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify "node" vs. "value" in some comments.Dan Gohman2008-08-061-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54409 91177308-0d34-0410-b5e6-96231b3b80d8
* optimize a common idiom generated by clang for bitfield access, PR2638.Chris Lattner2008-08-062-1/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54408 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for fp callee saved registers.Bruno Cardoso Lopes2008-08-066-152/+225
| | | | | | | | | | | | | | | | | | | | | | Added fp register clobbering during calls. Added AsmPrinter support for "fmask", a bitmask that indicates where on the stack the fp callee saved registers are. Fixed the stack frame layout for Mips, now the callee saved regs are in the right stack location (a little documentation about how this stack frame must look like is present in MipsRegisterInfo.cpp). This was done using the method MipsRegisterInfo::adjustMipsStackFrame To be more clear, these are examples of what is solves : 1) FP and RA are also callee saved, and despite they aren't in CSI they must be saved before the fp callee saved registers. 2) The ABI requires that local varibles are allocated before the callee saved register area, the opposite behavior from the default allocation. 3) CPU and FPU saved register area must be aligned independent of each other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54403 91177308-0d34-0410-b5e6-96231b3b80d8
* stacker is really gone.Chris Lattner2008-08-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54400 91177308-0d34-0410-b5e6-96231b3b80d8
* remove stackerChris Lattner2008-08-062-102/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54398 91177308-0d34-0410-b5e6-96231b3b80d8
* Zap sitofp/fptoui pairs. In all cases when the sign difference Chris Lattner2008-08-062-17/+43
| | | | | | | | matters, the result is undefined anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54396 91177308-0d34-0410-b5e6-96231b3b80d8
* Reinstate this optimization, but without the miscompile. Thanks to Bill forNick Lewycky2008-08-062-0/+25
| | | | | | | tracking down that this was breaking llvm-gcc bootstrap on Linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54394 91177308-0d34-0410-b5e6-96231b3b80d8
* Just grep for through the LL code instead of the ASM codeBill Wendling2008-08-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54389 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ARM to the targets to build.Bill Wendling2008-08-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54386 91177308-0d34-0410-b5e6-96231b3b80d8
* Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-stringDan Gohman2008-08-051-1/+1
| | | | | | | | warning. There wasn't actually a problem here, because the contents of the string are known. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54385 91177308-0d34-0410-b5e6-96231b3b80d8
* Add default architecture.Bill Wendling2008-08-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54384 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass the computed iteration count value to RewriteLoopExitValuesDan Gohman2008-08-051-4/+4
| | | | | | | instead of having it call getIterationCount again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54380 91177308-0d34-0410-b5e6-96231b3b80d8
* It's "a static", not "an static"Bill Wendling2008-08-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54379 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix breakage on ARM/2008-04-10-ScavengerAssert.ll.Owen Anderson2008-08-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54378 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2629.Bill Wendling2008-08-051-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54377 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.Evan Cheng2008-08-053-4/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54376 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2596: out of bound reference.Evan Cheng2008-08-052-3/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54375 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly handle replacement and removal of PHIs with one incoming register.Owen Anderson2008-08-051-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54374 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r53282. This was causing a miscompile on Linux. Also, the transformationBill Wendling2008-08-052-26/+0
| | | | | | | looks bogus. Please see PR2629 for details on why this is breaking things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54372 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, we were already checking for dead phis. Handle this the proper way, then.Owen Anderson2008-08-051-22/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54371 91177308-0d34-0410-b5e6-96231b3b80d8
* We don't need to update live intervals for dead PHIs.Owen Anderson2008-08-051-29/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54369 91177308-0d34-0410-b5e6-96231b3b80d8
* Expand acronyms, suggested by Walter PawleyChris Lattner2008-08-051-21/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54362 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the -disable-correct-folding option, which was ugly and is no longer ↵Owen Anderson2008-08-051-7/+2
| | | | | | needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54361 91177308-0d34-0410-b5e6-96231b3b80d8
* Capitalize LLVM, suggested by Walt PawleyChris Lattner2008-08-051-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54360 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the remaining tests not to use -disable-correct-folding, and remove twoOwen Anderson2008-08-056-115/+18
| | | | | | | that couldn't be updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54359 91177308-0d34-0410-b5e6-96231b3b80d8
* One more -disable-correct-folding case removed.Owen Anderson2008-08-051-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54358 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove another -disable-correct-folding use.Owen Anderson2008-08-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54357 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate another use of -disable-correct-folding.Owen Anderson2008-08-051-7/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54356 91177308-0d34-0410-b5e6-96231b3b80d8
* This check is unnecessary, and getting rid of it removes a use of ↵Owen Anderson2008-08-051-1/+1
| | | | | | -disable-correct-folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54355 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the need for -disable-correct-folding from this test.Owen Anderson2008-08-051-9/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54354 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the AsmWriter to not print extra spaces after parameter attributes.Dan Gohman2008-08-054-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54351 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim #includes.Dan Gohman2008-08-055-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54350 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix several const-correctness issues, resolving some -Wcast-qual warnings.Dan Gohman2008-08-054-16/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54349 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct an assertion string.Dan Gohman2008-08-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54348 91177308-0d34-0410-b5e6-96231b3b80d8