Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Change errs() to dbgs(). | David Greene | 2010-01-05 | 1 | -13/+13 |
| | | | | llvm-svn: 92594 | ||||
* | <rdar://problem/7453528>. Track only physical registers that are valid for ↵ | David Goodwin | 2009-12-09 | 1 | -1/+2 |
| | | | | | | the target. llvm-svn: 90970 | ||||
* | Don't hang on to pointers or references after vector::push_back. | Jakob Stoklund Olesen | 2009-12-03 | 1 | -6/+3 |
| | | | | | | | The MO reference to a MachineOperand can be invalidated by MachineInstr::addOperand. Don't even use it for debugging. llvm-svn: 90381 | ||||
* | Remove some old experimental code that is no longer needed. Remove ↵ | David Goodwin | 2009-11-20 | 1 | -112/+33 |
| | | | | | | additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. llvm-svn: 89471 | ||||
* | Allow target to specify regclass for which antideps will only be broken ↵ | David Goodwin | 2009-11-13 | 1 | -3/+3 |
| | | | | | | along the critical path. llvm-svn: 88682 | ||||
* | Rename registers to break output dependencies in addition to anti-dependencies. | David Goodwin | 2009-11-12 | 1 | -3/+7 |
| | | | | llvm-svn: 87015 | ||||
* | Fixed to address code review. No functional changes. | David Goodwin | 2009-11-10 | 1 | -1/+1 |
| | | | | llvm-svn: 86634 | ||||
* | Allow targets to specify register classes whose member registers should not ↵ | David Goodwin | 2009-11-10 | 1 | -2/+3 |
| | | | | | | be renamed to break anti-dependencies. llvm-svn: 86628 | ||||
* | Break anti-dependencies using free registers in a round-robin manner to ↵ | David Goodwin | 2009-11-05 | 1 | -2/+4 |
| | | | | | | avoid introducing new anti-dependencies. llvm-svn: 86098 | ||||
* | Do a scheduling pass ignoring anti-dependencies to identify candidate ↵ | David Goodwin | 2009-11-03 | 1 | -37/+112 |
| | | | | | | registers that should be renamed. llvm-svn: 85939 | ||||
* | Make -print-machineinstrs more readable. | Dan Gohman | 2009-10-31 | 1 | -2/+2 |
| | | | | | | | | | | | | | | - Be consistent when referring to MachineBasicBlocks: BB#0. - Be consistent when referring to virtual registers: %reg1024. - Be consistent when referring to unknown physical registers: %physreg10. - Be consistent when referring to known physical registers: %RAX - Be consistent when referring to register 0: %reg0 - Be consistent when printing alignments: align=16 - Print jump table contents. - Don't print host addresses, in general. - and various other cleanups. llvm-svn: 85682 | ||||
* | Make AntiDepReg.h internal. | David Goodwin | 2009-10-28 | 1 | -1/+1 |
| | | | | llvm-svn: 85412 | ||||
* | Allow the aggressive anti-dep breaker to process the same region multiple ↵ | David Goodwin | 2009-10-26 | 1 | -6/+13 |
| | | | | | | times. This is necessary because new anti-dependencies are exposed when "current" ones are broken. llvm-svn: 85166 | ||||
* | Define virtual destructor in *.cpp file. | David Goodwin | 2009-10-26 | 1 | -0/+3 |
| | | | | llvm-svn: 85146 | ||||
* | Add aggressive anti-dependence breaker. Currently it is not the default for ↵ | David Goodwin | 2009-10-26 | 1 | -3/+5 |
| | | | | | | any target. Enable with -break-anti-dependencies=all. llvm-svn: 85145 | ||||
* | Break anti-dependence breaking out into its own class. | David Goodwin | 2009-10-26 | 1 | -542/+43 |
| | | | | llvm-svn: 85127 | ||||
* | Remove includes of Support/Compiler.h that are no longer needed after the | Nick Lewycky | 2009-10-25 | 1 | -1/+0 |
| | | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043 | ||||
* | Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. | Nick Lewycky | 2009-10-25 | 1 | -2/+2 |
| | | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042 | ||||
* | Allow the target to select the level of anti-dependence breaking that should ↵ | David Goodwin | 2009-10-22 | 1 | -5/+16 |
| | | | | | | be performed by the post-RA scheduler. The default is none. llvm-svn: 84911 | ||||
* | 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 | ||||
* | Checkpoint more aggressive anti-dependency breaking for post-ra scheduler. | David Goodwin | 2009-10-20 | 1 | -310/+477 |
| | | | | llvm-svn: 84658 | ||||
* | Change createPostRAScheduler so it can be turned off at llc -O1. | Evan Cheng | 2009-10-16 | 1 | -4/+6 |
| | | | | llvm-svn: 84273 | ||||
* | If post-alloc scheduler is not enabled, it should return false, not true. | Evan Cheng | 2009-10-16 | 1 | -3/+3 |
| | | | | llvm-svn: 84248 | ||||
* | Add debugging output. | David Goodwin | 2009-10-13 | 1 | -2/+12 |
| | | | | llvm-svn: 84011 | ||||
* | Fix a missing initialization of PostRAScheduler's AA member. | Dan Gohman | 2009-10-10 | 1 | -0/+2 |
| | | | | llvm-svn: 83695 | ||||
* | Factor out LiveIntervalAnalysis' code to determine whether an instruction | Dan Gohman | 2009-10-09 | 1 | -5/+13 |
| | | | | | | | | | | | | | | is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687 | ||||
* | Fix a use-after-free in post-ra-scheduling. | Benjamin Kramer | 2009-10-02 | 1 | -1/+3 |
| | | | | | | | MI->addOperand invalidates references to it's operands, avoid touching the operand after a new one was added. llvm-svn: 83249 | ||||
* | All callee-saved registers are live-out of a return block. | David Goodwin | 2009-10-01 | 1 | -18/+21 |
| | | | | llvm-svn: 83223 | ||||
* | Remove neonfp attribute and instead set default based on CPU string. Add ↵ | David Goodwin | 2009-10-01 | 1 | -1/+1 |
| | | | | | | -arm-use-neon-fp to override the default. llvm-svn: 83218 | ||||
* | Restore the -post-RA-scheduler flag as an override for the target ↵ | David Goodwin | 2009-10-01 | 1 | -5/+17 |
| | | | | | | specification. Remove -mattr for setting PostRAScheduler enable and instead use CPU string. llvm-svn: 83215 | ||||
* | Use MachineFrameInfo.getPristineRegs() to determine which callee-saved ↵ | David Goodwin | 2009-10-01 | 1 | -47/+30 |
| | | | | | | registers are available for anti-dependency breaking. Some cleanup. llvm-svn: 83208 | ||||
* | Observe hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. Do not change | Evan Cheng | 2009-10-01 | 1 | -18/+55 |
| | | | | | | operands of instructions with these properties while breaking anti-dep. llvm-svn: 83198 | ||||
* | Fix integer overflow in instruction scheduling. This can happen if we have | Reid Kleckner | 2009-09-30 | 1 | -4/+4 |
| | | | | | | | | | | basic blocks that are so long that their size overflows a short. Also assert that overflow does not happen in the future, as requested by Evan. This fixes PR4401. llvm-svn: 83159 | ||||
* | Remove -post-RA-schedule flag and add a TargetSubtarget method to enable ↵ | David Goodwin | 2009-09-30 | 1 | -0/+6 |
| | | | | | | post-register-allocation scheduling. By default it is off. For ARM, enable/disable with -mattr=+/-postrasched. Enable by default for cortex-a8. llvm-svn: 83122 | ||||
* | Use KILL instead of IMPLICIT_DEF in LowerSubregs pass. | Jakob Stoklund Olesen | 2009-09-28 | 1 | -3/+3 |
| | | | | llvm-svn: 83007 | ||||
* | Fix bug in kill flag updating for post-register-allocation scheduling. When ↵ | David Goodwin | 2009-09-23 | 1 | -5/+48 |
| | | | | | | the kill flag of a superreg needs to be cleared because there are one or more subregs live, we instead add implicit-defs of those subregs and leave the kill flag on the superreg. This allows us to end the live-range of the superreg without ending the live-ranges of the subregs. llvm-svn: 82629 | ||||
* | Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵ | Evan Cheng | 2009-09-18 | 1 | -2/+2 |
| | | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273 | ||||
* | It's a bool, so treat it like one. Fixes a MSVC warning. | Benjamin Kramer | 2009-09-06 | 1 | -4/+4 |
| | | | | llvm-svn: 81112 | ||||
* | Create our own block initializer for kill fixups as the scheduling one ↵ | David Goodwin | 2009-09-03 | 1 | -33/+63 |
| | | | | | | wasn't doing the right thing. llvm-svn: 80958 | ||||
* | Add hidden flags to allow binary search of post-RA scheduling errors. | David Goodwin | 2009-09-01 | 1 | -0/+21 |
| | | | | llvm-svn: 80702 | ||||
* | Don't mark a register live at an undef use. | David Goodwin | 2009-08-31 | 1 | -13/+8 |
| | | | | llvm-svn: 80621 | ||||
* | Another stab at fixing up register kill flags after post-RA scheduling. | David Goodwin | 2009-08-29 | 1 | -20/+63 |
| | | | | llvm-svn: 80410 | ||||
* | Fixup register kills after scheduling. | David Goodwin | 2009-08-25 | 1 | -21/+94 |
| | | | | llvm-svn: 80002 | ||||
* | convert LoopInfo.h and GraphWriter.h to use raw_ostream | Chris Lattner | 2009-08-23 | 1 | -2/+2 |
| | | | | llvm-svn: 79836 | ||||
* | Fix counting of Post-RA scheduling stalls. Improve debug output. | David Goodwin | 2009-08-12 | 1 | -14/+25 |
| | | | | llvm-svn: 78843 | ||||
* | This logic was accidentally inverted in r78767. | Dan Gohman | 2009-08-12 | 1 | -3/+3 |
| | | | | llvm-svn: 78773 | ||||
* | Factor out the code for finding an available register for use | Dan Gohman | 2009-08-12 | 1 | -54/+70 |
| | | | | | | in breaking an anti-dependence into a separate function. llvm-svn: 78767 | ||||
* | Use DEBUG macro for debug output. | David Goodwin | 2009-08-11 | 1 | -11/+7 |
| | | | | llvm-svn: 78694 | ||||
* | Add some debug output. | David Goodwin | 2009-08-11 | 1 | -2/+14 |
| | | | | llvm-svn: 78687 |