aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2008-08-07Added Mips support for DYNAMIC_STACKALLOCBruno Cardoso Lopes
Fixed bug in adjustMipsStackFrame, which was breaking while trying to access a dead stack object index. Also added one more alignment before fixing the callee saved registers stack offset adjustment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54485 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Add the remaining fp_round libcalls:Bruno Cardoso Lopes
FPROUND_F80_F32, FPROUND_PPCF128_F32, FPROUND_F80_F64, FPROUND_PPCF128_F64 Support for soften float fp_round operands is added, Mips needs this to round f64->f32. Also added support to soften float FABS result, Mips doesn't support double fabs results while in 'single float only' mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54484 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Do a dominator walk when scheduling copies, rather than a DFS on the CFG. ↵Owen Anderson
Also, fix a few problems when creating live intervals for temporaries created by phi elimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54483 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Let SRETPromotion properly preserve the function name instead of (implicitly)Matthijs Kooijman
postfixing it with a number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54468 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Fix SRETPromotion, it was generating functions without returns statements sinceMatthijs Kooijman
r53941 (but this was not noticed due to the lack of a basic test for SRETPromotion). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Add some debug output to SRETPromotion.Matthijs Kooijman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54464 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Remove dead forward declAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54461 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Print section flags ok on platforms, which use '@' as comment string. Fix test.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54460 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Add assertion for easy debugging of missing stuffAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54459 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Switch ARM to new section handling stuffAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54458 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Switch Alpha to new section handling stuffAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54457 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Use EmitAlignment consistentlyAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54456 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07CleanupAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54455 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07CleanupAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54454 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Switch IA64 to new section-handling stuffAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54453 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07CleanupAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54452 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Provide convenient helpersAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54451 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Switch Sparc to new section handling stuff. Refactor printing of ↵Anton Korobeynikov
module-level GVs significantly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54450 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Add hook for constant pool section selection for darwin.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54449 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Select section for constant pool entriesAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54448 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Don't verify passes when assertions are disabled.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54446 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-07Re-enable elimination of unnecessary SUBREG_TO_REG instructions inDan Gohman
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
2008-08-07Rewrite JIT handling of GlobalVariables so theyDale Johannesen
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
2008-08-07Factor code that finalize PHI nodes, jump tables, etc. out of ↵Evan Cheng
SelectBasicBlock. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54438 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06SDISel's constant branch folding can fold away self-loops, which doesn't ↵Owen Anderson
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
2008-08-06Correct handle cases where two phis are coalesced together, and correct ↵Owen Anderson
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
2008-08-06Oops, didn't mean to commit this.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54425 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06We don't need to try to coalesce input vregs that are the same as the output ↵Owen Anderson
vreg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54422 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06Only trim a live interval if the register is not used after the PHI node.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54421 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06Only remap each VNInfo once when doing renumbering.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54420 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06Re-introduce the 8-bit subreg zext-inreg patterns for x86-32,Dan Gohman
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
2008-08-06Fix a shufflevector instcombine that was emitting invalid masks indicesDan Gohman
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
2008-08-06Fix PR2355: bug in ChangeCompareStride. When the loop termination compare is ↵Evan Cheng
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
2008-08-06xchg does not modify FLAGS.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54411 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06optimize a common idiom generated by clang for bitfield access, PR2638.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54408 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06Added support for fp callee saved registers.Bruno Cardoso Lopes
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
2008-08-06Zap sitofp/fptoui pairs. In all cases when the sign difference Chris Lattner
matters, the result is undefined anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54396 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-06Reinstate this optimization, but without the miscompile. Thanks to Bill forNick Lewycky
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
2008-08-05Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-stringDan Gohman
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
2008-08-05Pass the computed iteration count value to RewriteLoopExitValuesDan Gohman
instead of having it call getIterationCount again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54380 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Fix breakage on ARM/2008-04-10-ScavengerAssert.ll.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54378 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Fix PR2596: out of bound reference.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54375 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Correctly handle replacement and removal of PHIs with one incoming register.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Revert r53282. This was causing a miscompile on Linux. Also, the transformationBill Wendling
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
2008-08-05Oops, we were already checking for dead phis. Handle this the proper way, then.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54371 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05We don't need to update live intervals for dead PHIs.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54369 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Remove the -disable-correct-folding option, which was ugly and is no longer ↵Owen Anderson
needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54361 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Fix the AsmWriter to not print extra spaces after parameter attributes.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54351 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Trim #includes.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54350 91177308-0d34-0410-b5e6-96231b3b80d8