| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | The spill restore needs to be resolved to the SP/FP just like the spill | Jim Grosbach | 2009-10-21 | 1 | -0/+2 | |
| | | | | | llvm-svn: 84792 | |||||
| * | Cleanup of frame index scavenging. Better code flow and more accurately | Jim Grosbach | 2009-10-21 | 1 | -35/+60 | |
| | | | | | | | handles T2 and ARM use cases. llvm-svn: 84761 | |||||
| * | Need a comma after imp-use. | Evan Cheng | 2009-10-21 | 1 | -1/+3 | |
| | | | | | llvm-svn: 84749 | |||||
| * | Revert r84658 and r84691. They were causing llvm-gcc bootstrap to fail. | Dan Gohman | 2009-10-21 | 1 | -489/+319 | |
| | | | | | llvm-svn: 84727 | |||||
| * | Respect src register allocation requirements when breaking ↵ | David Goodwin | 2009-10-20 | 1 | -17/+20 | |
| | | | | | | | anti-dependencies. Remove some dead code. llvm-svn: 84691 | |||||
| * | Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign) | Anton Korobeynikov | 2009-10-20 | 1 | -4/+6 | |
| | | | | | | | transform. llvm-svn: 84683 | |||||
| * | Oops. Backing out 84681 - needs to wait for the indexing patch. | Lang Hames | 2009-10-20 | 1 | -54/+35 | |
| | | | | | llvm-svn: 84682 | |||||
| * | Added some debugging output to pre-alloc splitting. | Lang Hames | 2009-10-20 | 1 | -35/+54 | |
| | | | | | llvm-svn: 84681 | |||||
| * | Checkpoint more aggressive anti-dependency breaking for post-ra scheduler. | David Goodwin | 2009-10-20 | 1 | -310/+477 | |
| | | | | | llvm-svn: 84658 | |||||
| * | Better handle instructions that re-def a scratch register | Jim Grosbach | 2009-10-20 | 1 | -9/+18 | |
| | | | | | llvm-svn: 84657 | |||||
| * | Register re-use for scavenged frame indices must check for re-deginition | Jim Grosbach | 2009-10-20 | 1 | -0/+4 | |
| | | | | | | | of the register in the instruction which kills the scavenged value. llvm-svn: 84641 | |||||
| * | Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are | Dan Gohman | 2009-10-20 | 1 | -182/+343 | |
| | | | | | | | | | | tracked. Instead of trying to manually keep track of these locations while doing complex modifications, just recompute them when they're needed. This fixes a bug in which the TopMBB and BotMBB were not correctly updated, leading to invalid transformations. llvm-svn: 84598 | |||||
| * | Trim unnecessary includes. | Evan Cheng | 2009-10-20 | 2 | -2/+0 | |
| | | | | | llvm-svn: 84597 | |||||
| * | Add getTopBlock and getBottomBlock member functions to MachineLoopInfo. | Dan Gohman | 2009-10-20 | 1 | -0/+28 | |
| | | | | | llvm-svn: 84596 | |||||
| * | If the physical register being spilled does not have an interval, spill its ↵ | Evan Cheng | 2009-10-20 | 1 | -5/+21 | |
| | | | | | | | sub-registers instead. llvm-svn: 84586 | |||||
| * | Enable post-pass frame index register scavenging for ARM and Thumb2 | Jim Grosbach | 2009-10-20 | 1 | -5/+0 | |
| | | | | | llvm-svn: 84585 | |||||
| * | Adjust the scavenge register spilling to allow the target to choose an | Jim Grosbach | 2009-10-19 | 1 | -3/+2 | |
| | | | | | | | | | | | appropriate restore location for the spill as well as perform the actual save and restore. The Thumb1 target uses this to make sure R12 is not clobbered while a spilled scavenger register is live there. llvm-svn: 84554 | |||||
| * | Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux | Anton Korobeynikov | 2009-10-19 | 1 | -355/+177 | |
| | | | | | llvm-svn: 84516 | |||||
| * | Fix a typo in a comment. | Dan Gohman | 2009-10-19 | 1 | -1/+1 | |
| | | | | | llvm-svn: 84504 | |||||
| * | Change a few instance variables to be local variables. | Dan Gohman | 2009-10-19 | 1 | -11/+6 | |
| | | | | | llvm-svn: 84503 | |||||
| * | Spill slots cannot alias. | Evan Cheng | 2009-10-18 | 3 | -9/+16 | |
| | | | | | llvm-svn: 84432 | |||||
| * | -Revert parts of 84326 and 84411. Distinquishing between fixed and non-fixed | Evan Cheng | 2009-10-18 | 9 | -67/+73 | |
| | | | | | | | | | | | | stack slots and giving them different PseudoSourceValue's did not fix the problem of post-alloc scheduling miscompiling llvm itself. - Apply Dan's conservative workaround by assuming any non fixed stack slots can alias other memory locations. This means a load from spill slot #1 cannot move above a store of spill slot #2. - Enable post-alloc scheduling for x86 at optimization leverl Default and above. llvm-svn: 84424 | |||||
| * | Only fixed stack objects and spill slots should be get FixedStack ↵ | Evan Cheng | 2009-10-18 | 7 | -42/+64 | |
| | | | | | | | PseudoSourceValue. llvm-svn: 84411 | |||||
| * | Fix my -Asserts warning fix. | Daniel Dunbar | 2009-10-17 | 1 | -2/+3 | |
| | | | | | llvm-svn: 84372 | |||||
| * | Suppress -Asserts warning. | Daniel Dunbar | 2009-10-17 | 1 | -2/+2 | |
| | | | | | llvm-svn: 84327 | |||||
| * | Distinquish stack slots from other stack objects. They (and fixed objects) ↵ | Evan Cheng | 2009-10-17 | 4 | -5/+5 | |
| | | | | | | | get FixedStack PseudoSourceValues. llvm-svn: 84326 | |||||
| * | Revert 84315 for now. Re-thinking the patch. | Evan Cheng | 2009-10-17 | 8 | -29/+26 | |
| | | | | | llvm-svn: 84321 | |||||
| * | Rename getFixedStack to getStackObject. The stack objects represented are not | Evan Cheng | 2009-10-17 | 8 | -26/+29 | |
| | | | | | | | necessarily fixed. Only those will negative frame indices are "fixed." llvm-svn: 84315 | |||||
| * | 80 col violation. | Evan Cheng | 2009-10-17 | 1 | -1/+2 | |
| | | | | | llvm-svn: 84311 | |||||
| * | Delete an obsolete comment. | Dan Gohman | 2009-10-17 | 1 | -2/+1 | |
| | | | | | llvm-svn: 84300 | |||||
| * | Remove MallocInst from LLVM Instructions. | Victor Hernandez | 2009-10-17 | 2 | -44/+0 | |
| | | | | | llvm-svn: 84299 | |||||
| * | Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic | Dan Gohman | 2009-10-17 | 1 | -177/+354 | |
| | | | | | | | | | | | | | to be more general and understand more varieties of loops. Teach CodePlacementOpt to reorganize the basic blocks of a loop so that they are contiguous. This also includes a fair amount of logic for preserving fall-through edges while doing so. This fixes a BranchFolding-ism where blocks which can't be made to use a fall-through edge and don't conveniently fit anywhere nearby get tossed out to the end of the function. llvm-svn: 84295 | |||||
| * | Allow widening of extract subvector | Mon P Wang | 2009-10-16 | 2 | -0/+8 | |
| | | | | | llvm-svn: 84279 | |||||
| * | Do not emit name entry for a pointer type. | Devang Patel | 2009-10-16 | 1 | -1/+1 | |
| | | | | | llvm-svn: 84276 | |||||
| * | Change createPostRAScheduler so it can be turned off at llc -O1. | Evan Cheng | 2009-10-16 | 2 | -5/+7 | |
| | | | | | llvm-svn: 84273 | |||||
| * | If there is not any llvm instruction associated with each lexical scope ↵ | Devang Patel | 2009-10-16 | 1 | -2/+10 | |
| | | | | | | | encoded in debug info then create such scope on demand for variable info. llvm-svn: 84262 | |||||
| * | If post-alloc scheduler is not enabled, it should return false, not true. | Evan Cheng | 2009-10-16 | 1 | -3/+3 | |
| | | | | | llvm-svn: 84248 | |||||
| * | Indent code. | Zhongxing Xu | 2009-10-16 | 1 | -1/+1 | |
| | | | | | llvm-svn: 84247 | |||||
| * | 80 column violation. | Evan Cheng | 2009-10-16 | 1 | -1/+2 | |
| | | | | | llvm-svn: 84244 | |||||
| * | Report errors correctly for unselected target intrinsics. | Jakob Stoklund Olesen | 2009-10-15 | 1 | -6/+9 | |
| | | | | | llvm-svn: 84193 | |||||
| * | Make CodePlacementOpt align loops, rather than loop headers. The | Dan Gohman | 2009-10-15 | 1 | -71/+30 | |
| | | | | | | | | | | | header is just the entry block to the loop, and it needn't be at the top of the loop in the code layout. Remove the code that suppressed loop alignment for outer loops, so that outer loops are aligned. llvm-svn: 84158 | |||||
| * | When LiveVariables is adding implicit-def to model "partial dead", add the ↵ | Evan Cheng | 2009-10-14 | 1 | -1/+12 | |
| | | | | | | | earlyclobber marker if the superreg def has it. llvm-svn: 84153 | |||||
| * | Print earlyclobber for implicit-defs as well. | Evan Cheng | 2009-10-14 | 1 | -6/+6 | |
| | | | | | llvm-svn: 84152 | |||||
| * | Make loop not recalc getNumOperands() each time around | Jim Grosbach | 2009-10-14 | 1 | -3/+2 | |
| | | | | | llvm-svn: 84138 | |||||
| * | Add support to record DbgScope as inlined scope. | Devang Patel | 2009-10-14 | 2 | -25/+44 | |
| | | | | | llvm-svn: 84134 | |||||
| * | quiet compiler warning | Jim Grosbach | 2009-10-14 | 1 | -1/+1 | |
| | | | | | llvm-svn: 84133 | |||||
| * | I don't see any point in having both eh.selector.i32 and eh.selector.i64, | Duncan Sands | 2009-10-14 | 4 | -29/+27 | |
| | | | | | | | | | | | | | | so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc, which always uses a 32 bit value for the selector on all platforms. My understanding is that the register allocator used to assert if the selector intrinsic size didn't match the pointer size, and this was the reason for introducing the two variants. However my testing shows that this is no longer the case (I fixed some bugs in selector lowering yesterday, and some more today in the fastisel path; these might have caused the original problems). llvm-svn: 84106 | |||||
| * | This remat entry is basically done. There are hooks to allow targets | Dan Gohman | 2009-10-14 | 1 | -38/+0 | |
| | | | | | | | | | to remat non-load instructions as loads, and the remat code now uses the UnmodeledSideEffects flags, MachineMemOperands, and similar things to decide which instructions are valid for rematerialization. llvm-svn: 84060 | |||||
| * | Add a few README.txt items. | Dan Gohman | 2009-10-13 | 1 | -0/+29 | |
| | | | | | llvm-svn: 84059 | |||||
| * | s/DebugLoc.CompileUnit/DebugLoc.Scope/g | Devang Patel | 2009-10-13 | 5 | -22/+23 | |
| | | | | | | | s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g llvm-svn: 84054 | |||||

