- 1fbb454 Re-enable empty block indexing by default, since it doesn't seem to have any by Owen Anderson · 17 years ago
- 3557801 Make indexing empty basic blocks an option for the moment. by Owen Anderson · 17 years ago
- 8892b6f Assign indices to empty basic blocks. This will be necessary for StrongPHIElimination in the near future. by Owen Anderson · 17 years ago
- 9c3c221 Refine stack slot interval weight computation. by Evan Cheng · 17 years ago
- c4dc132 Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB. by Owen Anderson · 17 years ago
- 3f32d65 Add a stack slot coloring pass. Not yet enabled. by Evan Cheng · 17 years ago
- e3abb0a Correctly handle removed instructions at the beginning of MBBs when renumbering. by Owen Anderson · 17 years ago
- 7eec0c2 Make the renumbering correct in the face of deleted instructions that have been removed from the LiveIntervals maps. by Owen Anderson · 17 years ago
- ec58498 Remove <iostream>. by Bill Wendling · 17 years ago
- fcc6350 Revert part of my last patch that I didn't intend to commit yet. by Owen Anderson · 17 years ago
- 4b5b209 Renumbering needs to account for instruction slot offsets when performing lookups in the index maps. by Owen Anderson · 17 years ago
- 745825f4 Remap VNInfo data as well when doing renumbering. by Owen Anderson · 17 years ago
- 80b3ce6 Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused. by Owen Anderson · 17 years ago
- 0a891ed Revert 51440 as it breaks a bunch of PIC tests. by Evan Cheng · 17 years ago
- abe93d9 by David Greene · 17 years ago
- b0a6f62 Don't spill dead def. by Evan Cheng · 17 years ago
- 844731a Clean up the use of static and anonymous namespaces. This turned up by Dan Gohman · 17 years ago
- 4a3f6c8 Make several variable declarations static. by Dan Gohman · 17 years ago
- 7624996 Empty basic block should have an empty range. by Evan Cheng · 17 years ago
- 4cce6b4 Use of implicit_def is not part of live interval. Create empty intervals for the uses when the live interval is being spilled. by Evan Cheng · 17 years ago
- 7e073ba - More aggressively coalescing away copies whose source is defined by an implicit_def. by Evan Cheng · 17 years ago
- 419852c - Treat a live range defined by an implicit_def as a zero-sized one. by Evan Cheng · 17 years ago
- 3c75ba8 Re-materialization is for uses only. by Evan Cheng · 17 years ago
- 427f4c1 It's not safe to fold a load from GV stub or constantpool into a two-address use. by Evan Cheng · 17 years ago
- 24d2f8a The support for remat of instructions with a register operand is hackish, to say the least. Since the register operand guaranteed to be PIC base and that it is already live at all uses, we are making sure it will not be spilled after its uses are rematerialized for both performance and correctness reasons. by Evan Cheng · 17 years ago
- 20ccded Remove isImplicitDef TargetInstrDesc flag. by Evan Cheng · 17 years ago
- c1f53c7 Transfer physical register spill info when load / store folding happens. by Evan Cheng · 17 years ago
- 676dd7c When the register allocator runs out of registers, spill a physical register around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting. by Evan Cheng · 17 years ago
- 6130f66 Refactor code. Remove duplicated functions that basically do the same thing as by Evan Cheng · 17 years ago
- d365312 Spiller now remove unused spill slots. by Evan Cheng · 17 years ago
- e6d088a Rename PrintableName to Name. by Bill Wendling · 17 years ago
- 74ab84c Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool by Bill Wendling · 17 years ago
- e83a275 All remat'ed loads cannot be folded into two-address code. Not just argument loads. This change doesn't really have any impact on codegen. by Evan Cheng · 17 years ago
- 79a0c1e Correctly determine whether a argument load can be folded into its uses. by Evan Cheng · 17 years ago
- 249ded3 Rematerialization logic was overly conservative when it comes to loads from fixed stack slots. by Evan Cheng · 17 years ago
- 298bbe8 If remating a machine instr with virtual register operand, make sure the vr is avaliable at all uses regardless of whether it would be folded. by Evan Cheng · 17 years ago
- dd3465e Recognize loads of arguments as re-materializable first. Therefore if isReallyTriviallyReMaterializable() returns true it doesn't confuse it as a "normal" re-materializable instruction. by Evan Cheng · 17 years ago
- 313d4b8 Fix spill weight updating bug. by Evan Cheng · 17 years ago
- d70dbb5 Enable re-materialization of instructions which have virtual register operands if by Evan Cheng · 17 years ago
- 063284c Clean up some spilling code using MachineRegisterInfo. by Evan Cheng · 17 years ago
- 8dd2528 New helper function getMBBFromIndex() that given an index in any instruction of an MBB returns a pointer the MBB. Reviewed by Evan. by Roman Levenstein · 17 years ago
- c8d044e - Removing the infamous r2rMap_ and rep() method. Now the coalescer will update by Evan Cheng · 17 years ago
- e984e50 Fix a potential serious problem where kills belonging to the val# defined by a two-address instruction is also on the val# that defines the input. by Evan Cheng · 17 years ago
- 6f0d024 Rename MRegisterInfo to TargetRegisterInfo. by Dan Gohman · 18 years ago
- f2f8c2a Forgot these files. by Evan Cheng · 18 years ago
- b487e72 Move some functionality for adding flags to MachineInstr's into methods on MachineInstr rather than LiveVariables. by Owen Anderson · 18 years ago
- 8480293 Only remat loads from immutable stack slots. by Evan Cheng · 18 years ago
- a07cec9 Simplify some code. by Evan Cheng · 18 years ago
- c95f075 Don't use LiveVariables::VarInfo::DefInst. by Owen Anderson · 18 years ago
- 749c6f6 rename TargetInstrDescriptor -> TargetInstrDesc. by Chris Lattner · 18 years ago
- f86e1df simplify some code using new predicates by Chris Lattner · 18 years ago
- 6924430 Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects by Chris Lattner · 18 years ago
- 6425f8b Update CodeGen for MRegisterInfo --> TargetInstrInfo changes. by Owen Anderson · 18 years ago
- 834f1ce rename isLoad -> isSimpleLoad due to evan's desire to have such a predicate. by Chris Lattner · 18 years ago
- 67d65bb Don't recalculate the loop info and loop dominators analyses if they're by Bill Wendling · 18 years ago
- 84bc542 Rename SSARegMap -> MachineRegisterInfo in keeping with the idea by Chris Lattner · 18 years ago
- f738230 More cleanups for MachineOperand: by Chris Lattner · 18 years ago
- 4ee451d Remove attribution from file headers, per discussion on llvmdev. by Chris Lattner · 18 years ago
- 6e141fd Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled. by Evan Cheng · 18 years ago
- 22f07ff Switch over to MachineLoopInfo. by Evan Cheng · 18 years ago
- 041b3f8 Reverting 44702. It wasn't correct to rename them. by Bill Wendling · 18 years ago
- 320c630 Renaming: by Bill Wendling · 18 years ago
- 33faddc Turning simple splitting on. Start testing new coalescer heuristics as new llcbeta. by Evan Cheng · 18 years ago
- 5ef3a04 Fix for PR1831: if all defs of an interval are re-materializable, then it's a preferred spill candiate. by Evan Cheng · 18 years ago
- d120ffd MachineInstr can change. Store indexes instead. by Evan Cheng · 18 years ago
- adf8590 If a split live interval is spilled again, remove the kill marker on its last use. by Evan Cheng · 18 years ago
- f38d14f Clobber more bugs. by Evan Cheng · 18 years ago
- b50bb8c Fix kill info for split intervals. by Evan Cheng · 18 years ago
- 018f9b0 - Mark last use of a split interval as kill instead of letting spiller track it. by Evan Cheng · 18 years ago
- 597d10d Discard split intervals made empty due to folding. by Evan Cheng · 18 years ago
- 31d4318 Typo by Evan Cheng · 18 years ago
- 70306f8 Update kill info for uses of split intervals. by Evan Cheng · 18 years ago
- aee4af6 Remove redundant foldMemoryOperand variants and other code clean up. by Evan Cheng · 18 years ago
- e3110d0 Fix a bug where splitting cause some unnecessary spilling. by Evan Cheng · 18 years ago
- e62f97c Allow some reloads to be folded in multi-use cases. Specifically testl r, r -> cmpl [mem], 0. by Evan Cheng · 18 years ago
- cddbb83 Do not fold reload into an instruction with multiple uses. It issues one extra load. by Evan Cheng · 18 years ago
- cb3c330 Do not lose rematerialization info when spilling already split live intervals. by Evan Cheng · 18 years ago
- 1953d0c Fix a major performance issue with splitting. If there is a def (not def/use) by Evan Cheng · 18 years ago
- c3fc7d9 Replace the odd kill# hack with something less fragile. by Evan Cheng · 18 years ago
- 0cbb116 Fixed various live interval splitting bugs / compile time issues. by Evan Cheng · 18 years ago
- cada245 Recover compile time regression. by Evan Cheng · 18 years ago
- 81a0382 Live interval splitting: by Evan Cheng · 18 years ago
- 5d44626 Fix a thinko in post-allocation coalescer. by Evan Cheng · 18 years ago
- c498b02 Clean up sub-register implementation by moving subReg information back to by Evan Cheng · 18 years ago
- f2fbca6 Refactor some code. by Evan Cheng · 18 years ago
- 2912184 Simplify my (il)logic. by Evan Cheng · 18 years ago
- be6781b When the allocator rewrite a spill register with new virtual register, it replaces other operands of the same register. Watch out for situations where by Evan Cheng · 18 years ago
- ab84724 Fix a bug where a def use operand isn't being detected as a sub-register use. by Evan Cheng · 18 years ago
- 5f5f3b6 Fix PR1187. by Evan Cheng · 18 years ago
- c92da38 There are times when the coalescer would not coalesce away a copy but the copy by Evan Cheng · 18 years ago
- a5bfc97 Apply Chris' suggestions. by Evan Cheng · 18 years ago
- 4ca980e Clean up code that calculate MBB live-in's. by Evan Cheng · 18 years ago
- 48ff282 Did mean to leave this in. INSERT_SUBREG isn't being coalesced yet. by Evan Cheng · 18 years ago
- 32dfbea EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like by Evan Cheng · 18 years ago
- 537d5c2 Kill cycle of an live range is always the last use index + 1. by Evan Cheng · 18 years ago
- cb406c2 Use empty() member functions when that's what's being tested for instead by Dan Gohman · 18 years ago
- 92dfe20 Remove isReg, isImm, and isMBB, and change all their users to use by Dan Gohman · 18 years ago
- dd199d2 Fix a memory leak. by Evan Cheng · 18 years ago
- f3bb2e6 Use pool allocator for all the VNInfo's to improve memory access locality. This reduces coalescing time on siod Mac OS X PPC by 35%. Also remove the back ptr from VNInfo to LiveInterval and other tweaks. by Evan Cheng · 18 years ago
- 34c2a9f Try fold re-materialized load instructions into its uses. by Evan Cheng · 18 years ago