| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Rename "loop aligner" pass to "code placement optimization" pass. | Evan Cheng | 2009-05-07 | 3 | -12/+16 | |
| | | | | | llvm-svn: 71150 | |||||
| * | Just turn aggressive stack coloring off at -O3. | Bill Wendling | 2009-05-07 | 2 | -10/+23 | |
| | | | | | llvm-svn: 71140 | |||||
| * | Temporarily revert r71010. It was causing massive failures during self-hosting. | Bill Wendling | 2009-05-07 | 2 | -22/+10 | |
| | | | | | llvm-svn: 71138 | |||||
| * | Make DwarfWriter::RecordInlinedFnStart more like the other DwarfWriter's ↵ | Argyrios Kyrtzidis | 2009-05-07 | 3 | -20/+21 | |
| | | | | | | | | | | | | methods: -Have it return a label ID -Remove the unused Instruction parameter No functionality change. llvm-svn: 71132 | |||||
| * | - Move some debug fields to coincide with how GCC emits them. No functionality | Bill Wendling | 2009-05-06 | 1 | -24/+53 | |
| | | | | | | | | change. - Reformatting. llvm-svn: 71118 | |||||
| * | Do not use register as base ptr of pre- and post- inc/dec load / store nodes. | Evan Cheng | 2009-05-06 | 1 | -1/+4 | |
| | | | | | llvm-svn: 71098 | |||||
| * | CMake: Updated lib/CodeGen/CMakeLists.txt. | Oscar Fuentes | 2009-05-06 | 1 | -1/+1 | |
| | | | | | llvm-svn: 71085 | |||||
| * | Add generic expansion of SUB when ADD and XOR | Duncan Sands | 2009-05-06 | 1 | -8/+12 | |
| | | | | | | | are legal. Based on a patch by Micah Villmow. llvm-svn: 71078 | |||||
| * | Renamed Spiller classes (plus uses and related files) to VirtRegRewriter. | Lang Hames | 2009-05-06 | 6 | -2244/+2206 | |
| | | | | | llvm-svn: 71057 | |||||
| * | If a MachineBasicBlock has multiple ways of reaching another block, | Dan Gohman | 2009-05-05 | 2 | -9/+5 | |
| | | | | | | | | | allow it to have multiple CFG edges to that block. This is needed to allow MachineBasicBlock::isOnlyReachableByFallthrough to work correctly. This fixes PR4126. llvm-svn: 71018 | |||||
| * | Enable stack coloring with regs at -O3. | Evan Cheng | 2009-05-05 | 2 | -10/+22 | |
| | | | | | llvm-svn: 71010 | |||||
| * | Do not require variable debug info nodes to have a compile unit. | Chris Lattner | 2009-05-05 | 1 | -20/+24 | |
| | | | | | | | | For implicit decls like "self" and "_cmd" in ObjC, these decls should not have a location. llvm-svn: 70964 | |||||
| * | Do not substitute if the new register isn't in the register class of the ↵ | Evan Cheng | 2009-05-05 | 1 | -0/+14 | |
| | | | | | | | operand being updated. llvm-svn: 70953 | |||||
| * | Move getInstrOperandRegClass from the scheduler to TargetInstrInfo. | Evan Cheng | 2009-05-05 | 2 | -26/+0 | |
| | | | | | llvm-svn: 70950 | |||||
| * | Do forward and backward substitution to eliminate loads and stores when ↵ | Evan Cheng | 2009-05-04 | 1 | -13/+127 | |
| | | | | | | | possible. llvm-svn: 70937 | |||||
| * | Make DBG_STOPPOINT nodes, and therefore DBG_LABEL labels, get a DebugLoc, so ↵ | Chris Lattner | 2009-05-04 | 2 | -6/+8 | |
| | | | | | | | | | | that it shows up in -print-machineinstrs. This doesn't appear to affect anything, but it was weird for some DBG_LABELs to have DebugLocs but not all of them. llvm-svn: 70921 | |||||
| * | Restore a comment. | Argyrios Kyrtzidis | 2009-05-04 | 1 | -0/+2 | |
| | | | | | llvm-svn: 70900 | |||||
| * | -Remove the DwarfWriter::RecordSourceLine calls from the instruction selectors. | Argyrios Kyrtzidis | 2009-05-04 | 3 | -16/+10 | |
| | | | | | | | | | -Depend on DebugLocs for source line info. (Comes with Regression-Be-Gone(tm)) llvm-svn: 70871 | |||||
| * | Make sure to color with only allocatable registers for the specific register ↵ | Evan Cheng | 2009-05-04 | 2 | -2/+15 | |
| | | | | | | | class. llvm-svn: 70821 | |||||
| * | The stack slots which share the same stack slot after coloring can, but do ↵ | Evan Cheng | 2009-05-04 | 1 | -44/+37 | |
| | | | | | | | not have to, use the same register. In fact, they each may have different register class requirements. llvm-svn: 70815 | |||||
| * | Revert r70803 for now, it causes a regression. | Argyrios Kyrtzidis | 2009-05-03 | 3 | -2/+16 | |
| | | | | | llvm-svn: 70811 | |||||
| * | -Remove the DwarfWriter::RecordSourceLine calls from the instruction selectors. | Argyrios Kyrtzidis | 2009-05-03 | 3 | -16/+2 | |
| | | | | | | | -Depend on DebugLocs for source line info. llvm-svn: 70803 | |||||
| * | Typo. | Evan Cheng | 2009-05-03 | 1 | -1/+1 | |
| | | | | | llvm-svn: 70792 | |||||
| * | In some rare cases, the register allocator can spill registers but end up ↵ | Evan Cheng | 2009-05-03 | 8 | -144/+427 | |
| | | | | | | | | | | | not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants. Not yet enabled. This is part 1. More coming. llvm-svn: 70787 | |||||
| * | Fix typo | Anton Korobeynikov | 2009-05-03 | 1 | -1/+1 | |
| | | | | | llvm-svn: 70770 | |||||
| * | Properly handle sdiv / udiv / srem / urem libcalls | Anton Korobeynikov | 2009-05-03 | 2 | -7/+15 | |
| | | | | | llvm-svn: 70764 | |||||
| * | Proper name 16 bit libcalls | Anton Korobeynikov | 2009-05-03 | 1 | -4/+4 | |
| | | | | | llvm-svn: 70750 | |||||
| * | Add libcall expansion for 16 and 128 bit muls | Anton Korobeynikov | 2009-05-03 | 1 | -0/+4 | |
| | | | | | llvm-svn: 70749 | |||||
| * | -Move the DwarfWriter::ValidDebugInfo check to a static ↵ | Argyrios Kyrtzidis | 2009-05-03 | 3 | -191/+117 | |
| | | | | | | | | | DIDescriptor::ValidDebugInfo -Create DebugLocs without the need to have a DwarfWriter around llvm-svn: 70682 | |||||
| * | Allow CONCAT_VECTORS nodes to be legal or have custom lowering for some targets. | Bob Wilson | 2009-05-01 | 2 | -14/+38 | |
| | | | | | | | Changes to take advantage of this will come later. llvm-svn: 70560 | |||||
| * | Simplify more code and add timer stuff. | Bill Wendling | 2009-05-01 | 1 | -7/+32 | |
| | | | | | llvm-svn: 70539 | |||||
| * | Simplify more code. | Bill Wendling | 2009-05-01 | 1 | -9/+4 | |
| | | | | | llvm-svn: 70537 | |||||
| * | Simplify some code. | Bill Wendling | 2009-05-01 | 1 | -8/+5 | |
| | | | | | llvm-svn: 70534 | |||||
| * | Fix whitespace. It was confusing me. | Bill Wendling | 2009-05-01 | 1 | -21/+20 | |
| | | | | | llvm-svn: 70533 | |||||
| * | Code clean up. Bye bye PhysRegTracker. | Evan Cheng | 2009-05-01 | 2 | -99/+83 | |
| | | | | | llvm-svn: 70524 | |||||
| * | Make DebugLoc independent of DwarfWriter. | Argyrios Kyrtzidis | 2009-04-30 | 6 | -62/+44 | |
| | | | | | | | | | -Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable* -Remove DwarfWriter::getOrCreateSourceID -Make necessary changes for the above (fix callsites, etc.) llvm-svn: 70520 | |||||
| * | Join cross class copies using getCommonSubClass() | Jakob Stoklund Olesen | 2009-04-30 | 1 | -20/+8 | |
| | | | | | llvm-svn: 70513 | |||||
| * | Add a smarter heuristic to determine when to coalesce a virtual register ↵ | Evan Cheng | 2009-04-30 | 2 | -20/+173 | |
| | | | | | | | | | with a physical one. More specifically, it avoid tying a virtual register in the loop with a physical register defined / used outside the loop. When it determines it's not profitable, it will use the physical register as the allocation preference instead. This is *not* turned on by default. Testing indicates this is just as likely to pessimize code. The main issue seems to be allocation preference doesn't work effectively. That will change once I've taught register allocator "swapping". llvm-svn: 70503 | |||||
| * | Move helper functions for optimizing division by constant into the APInt | Jay Foad | 2009-04-30 | 1 | -101/+2 | |
| | | | | | | | class. llvm-svn: 70488 | |||||
| * | fix a regression handling indirect results: these need to be considered | Chris Lattner | 2009-04-30 | 1 | -8/+13 | |
| | | | | | | | | | memory operands otherwise the writebacks get lost when the inline asm doesn't otherwise have side effects. This fixes rdar://6839427, though clang really shouldn't generate these anymore. llvm-svn: 70455 | |||||
| * | Instead of passing in an unsigned value for the optimization level, use an enum, | Bill Wendling | 2009-04-29 | 12 | -51/+53 | |
| | | | | | | | | which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440 | |||||
| * | Fix infinite recursion in the C++ code which handles movddup by making it ↵ | Nate Begeman | 2009-04-29 | 1 | -2/+2 | |
| | | | | | | | unnecessary. llvm-svn: 70425 | |||||
| * | MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const. | Jakob Stoklund Olesen | 2009-04-29 | 1 | -2/+4 | |
| | | | | | llvm-svn: 70408 | |||||
| * | Update comment, replace theoretically impossible check with an assert. | Nate Begeman | 2009-04-29 | 1 | -3/+1 | |
| | | | | | llvm-svn: 70391 | |||||
| * | spillPhysRegAroundRegDefsUses() may have invalidated iterators stored in ↵ | Evan Cheng | 2009-04-29 | 1 | -0/+9 | |
| | | | | | | | fixed_ IntervalPtrs. Reset them. llvm-svn: 70378 | |||||
| * | Implement review feedback for vector shuffle work. | Nate Begeman | 2009-04-29 | 6 | -96/+105 | |
| | | | | | llvm-svn: 70372 | |||||
| * | Add a public method called getAddressSpace() to the GlobalAddressSDNode. | Sanjiv Gupta | 2009-04-29 | 1 | -0/+7 | |
| | | | | | llvm-svn: 70366 | |||||
| * | Disable the load-shrinking optimization from looking at | Chris Lattner | 2009-04-29 | 1 | -3/+6 | |
| | | | | | | | | | | | | anything larger than 64-bits, avoiding a crash. This should really be fixed to use APInts, though type legalization happens to help us out and we get good code on the attached testcase at least. This fixes rdar://6836460 llvm-svn: 70360 | |||||
| * | Determine allocation 'preference' with right register class. I haven't seen ↵ | Evan Cheng | 2009-04-29 | 1 | -8/+10 | |
| | | | | | | | this changing codegen so no test case. llvm-svn: 70351 | |||||
| * | Second attempt: | Bill Wendling | 2009-04-29 | 12 | -85/+88 | |
| | | | | | | | | | | | | | Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343 | |||||

