Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Making an archive version of the CodeGen library is unnecessary if we just | Misha Brukman | 2004-06-22 | 1 | -1/+0 |
| | | | | | | move InstructionLowering itself. llvm-svn: 14324 | ||||
* | Provide archive version of CodeGen library (for those tools that only need | Misha Brukman | 2004-06-22 | 1 | -0/+1 |
| | | | | | | IntrinsicLowering, for instance). llvm-svn: 14323 | ||||
* | Rename Interval class to LiveInterval to avoid conflicting with the already | Chris Lattner | 2004-06-21 | 3 | -50/+54 |
| | | | | | | | | | existing llvm::Interval class. Patch contributed by Vladimir Prus! http://mail.cs.uiuc.edu/pipermail/llvmbugs/2004-June/000710.html llvm-svn: 14281 | ||||
* | Move the IntrinsicLowering header into the CodeGen directory, as per PR346 | Chris Lattner | 2004-06-20 | 1 | -0/+214 |
| | | | | llvm-svn: 14266 | ||||
* | Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable. | Brian Gaeke | 2004-06-17 | 2 | -5/+6 |
| | | | | llvm-svn: 14205 | ||||
* | Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID() | Chris Lattner | 2004-06-17 | 1 | -1/+1 |
| | | | | llvm-svn: 14201 | ||||
* | Fix a recent regression in Applications/sgefa that Alkis pointed out to me. | Chris Lattner | 2004-06-16 | 1 | -2/+2 |
| | | | | | | | | The vector may actually be empty if the register that we are marking as recently used is not actually allocatable. This happens for physical registers that are not allocatable, like the ST(x) registers on X86. llvm-svn: 14195 | ||||
* | Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were ↵ | Chris Lattner | 2004-06-11 | 2 | -3/+3 |
| | | | | | | | | | being printed incorrectly, and we were reserving 8 extra bytes of stack space for functions on X86. llvm-svn: 14152 | ||||
* | Fix the prolog epilog code inserter to match the documentation and support | Chris Lattner | 2004-06-10 | 1 | -9/+33 |
| | | | | | | | | targets whose stack grows up. Patch contributed by Vladimir Prus llvm-svn: 14111 | ||||
* | Oops, this was not to go in | Chris Lattner | 2004-06-02 | 1 | -1/+1 |
| | | | | llvm-svn: 13958 | ||||
* | Adjust to the new TargetMachine interface | Chris Lattner | 2004-06-02 | 2 | -16/+16 |
| | | | | llvm-svn: 13957 | ||||
* | Adjust to new TargetMachine interface | Chris Lattner | 2004-06-02 | 11 | -19/+18 |
| | | | | llvm-svn: 13956 | ||||
* | Inline findOptimalStorageSize into it's caller, both of which are sparc specific | Chris Lattner | 2004-06-02 | 1 | -12/+18 |
| | | | | llvm-svn: 13955 | ||||
* | Finegrainify namespacification | Chris Lattner | 2004-06-02 | 2 | -6/+3 |
| | | | | llvm-svn: 13948 | ||||
* | Fix a trivial but blatant bug | Chris Lattner | 2004-06-02 | 1 | -4/+4 |
| | | | | llvm-svn: 13947 | ||||
* | Pull Interval class out of LiveIntervals. | Alkis Evlogimenos | 2004-05-30 | 3 | -80/+67 |
| | | | | llvm-svn: 13910 | ||||
* | When spilling an register, introduce a new temporary for each of its | Alkis Evlogimenos | 2004-05-30 | 3 | -57/+84 |
| | | | | | | | spills. This allows for more flexibility when allocating registers for spill code. llvm-svn: 13907 | ||||
* | Fix typo in head-of-file comment. | Brian Gaeke | 2004-05-30 | 1 | -1/+1 |
| | | | | llvm-svn: 13903 | ||||
* | Add method to assign stack slot to virtual register without creating a | Alkis Evlogimenos | 2004-05-29 | 2 | -0/+9 |
| | | | | | | new one. llvm-svn: 13895 | ||||
* | Add grow() member that grows the maps when the number of virtual | Alkis Evlogimenos | 2004-05-29 | 1 | -2/+6 |
| | | | | | | registers in the function has changed. llvm-svn: 13893 | ||||
* | Remove defs vector from live intervals. | Alkis Evlogimenos | 2004-05-29 | 2 | -20/+0 |
| | | | | llvm-svn: 13892 | ||||
* | updates to ModuloSched | Tanya Lattner | 2004-05-28 | 2 | -10/+91 |
| | | | | llvm-svn: 13881 | ||||
* | Adding scheduling class. | Tanya Lattner | 2004-05-26 | 2 | -0/+246 |
| | | | | llvm-svn: 13783 | ||||
* | Updating my cvs versions. THis is still in progress and much will be changed. | Tanya Lattner | 2004-05-26 | 4 | -157/+299 |
| | | | | llvm-svn: 13782 | ||||
* | Moved MachineBasicBlock deconstructor to cpp file and removed it from ↵ | Tanya Lattner | 2004-05-24 | 2 | -5/+11 |
| | | | | | | LeakDetector to fix memory leak bug. llvm-svn: 13718 | ||||
* | Added MachineFunction parent* to MachineBasicBlock. Customized ilist template | Tanya Lattner | 2004-05-24 | 2 | -14/+34 |
| | | | | | | to set the parent when a MachineBasicBlock is added to a MachineFunction. llvm-svn: 13716 | ||||
* | Eliminate an explicit use of the LLVM basic block, using getParent instead, | Chris Lattner | 2004-05-24 | 1 | -1/+1 |
| | | | | | | which simplifies the code llvm-svn: 13707 | ||||
* | Changed clone to be const. | Tanya Lattner | 2004-05-24 | 1 | -1/+7 |
| | | | | | | Changed copy constructor to set parent, prev, and next pointers to null. llvm-svn: 13706 | ||||
* | Fixed up my changes to add support for cloning Machine Instructions. | Tanya Lattner | 2004-05-23 | 1 | -2/+3 |
| | | | | llvm-svn: 13665 | ||||
* | Adding support to clone MachineInstr | Tanya Lattner | 2004-05-23 | 1 | -0/+19 |
| | | | | llvm-svn: 13661 | ||||
* | Fix a really nasty bug from my changes on Monday to PHIElim. These changes | Chris Lattner | 2004-05-12 | 1 | -11/+19 |
| | | | | | | | | broke obsequi and a lot of other things. It all boiled down to MBB being overloaded in an inner scope and me confusing it with the one in the outer scope. Ugh! llvm-svn: 13517 | ||||
* | Start NextMBBNumber out at zero. | Brian Gaeke | 2004-05-12 | 1 | -1/+1 |
| | | | | llvm-svn: 13515 | ||||
* | Add non-const MachineBasicBlock::getParent() accessor method. | Brian Gaeke | 2004-05-12 | 1 | -0/+19 |
| | | | | | | | | MBBs start out as #-1. When a MBB is added to a MachineFunction, it gets the next available unique MBB number. If it is removed from a MachineFunction, it goes back to being #-1. llvm-svn: 13514 | ||||
* | Switch this from using an std::map to using a DenseMap. This speeds up | Chris Lattner | 2004-05-10 | 1 | -6/+5 |
| | | | | | | phi-elimination from 0.6 to 0.54s on kc++. llvm-svn: 13454 | ||||
* | Use a new VRegPHIUseCount to compute uses of PHI values by other phi values | Chris Lattner | 2004-05-10 | 1 | -14/+21 |
| | | | | | | | in the basic block being processed. This fixes PhiElimination on kimwitu++ from taking 105s to taking a much more reasonable 0.6s (in a debug build). llvm-svn: 13453 | ||||
* | Now that we use an ilist of machine instructions, iterators are more robust | Chris Lattner | 2004-05-10 | 1 | -5/+8 |
| | | | | | | | | | than before. Because this is the case, we can compute the first non-phi instruction once when de-phi'ing a block. This shaves ~4s off of phielimination of _Z7yyparsev in kimwitu++ from 109s -> 105s. There are still much more important gains to come. llvm-svn: 13452 | ||||
* | Patch to fix PR337. Make sure to mark all aliased physical registers as used | Chris Lattner | 2004-05-10 | 1 | -3/+8 |
| | | | | | | | | | | | | | when we see a read of a register. This is important in cases like: AL = ... AH = ... = AX The read of AX must make both the AL and AH defs live until the use. llvm-svn: 13444 | ||||
* | Updating my versions of ModuloScheduling in cvs. Still not complete. | Tanya Lattner | 2004-05-08 | 4 | -303/+860 |
| | | | | llvm-svn: 13424 | ||||
* | Add required header | Alkis Evlogimenos | 2004-05-08 | 1 | -0/+1 |
| | | | | llvm-svn: 13417 | ||||
* | Remove unneeded header | Alkis Evlogimenos | 2004-05-08 | 1 | -1/+0 |
| | | | | llvm-svn: 13416 | ||||
* | numeric_limits::infinity() apparently does not work on all systems. As a | Chris Lattner | 2004-05-06 | 2 | -7/+5 |
| | | | | | | workaround, use the C HUGE_VAL macro instead. llvm-svn: 13377 | ||||
* | Operate on the Machine CFG instead of on the LLVM CFG | Chris Lattner | 2004-05-01 | 2 | -17/+12 |
| | | | | llvm-svn: 13302 | ||||
* | Stop LiveVariables from using BasicBlocks as part of the mapping, instead | Chris Lattner | 2004-05-01 | 1 | -29/+20 |
| | | | | | | | | use MachineBasicBlocks. To do this, we traverse the Machine CFG instead of the LLVM CFG, which is also *MUCH* more efficient by having fewer levels of indirections and mappings. llvm-svn: 13301 | ||||
* | Include SparcV9RegInfo.h instead of TargetRegInfo.h. This serves as a bit of | Brian Gaeke | 2004-04-23 | 1 | -1/+1 |
| | | | | | | | documentation that this module needs to be made independent of the register file description of the current target. llvm-svn: 13125 | ||||
* | Implement emitWordAt() for the debug emitter and the file printer emitter. (I | Brian Gaeke | 2004-04-23 | 1 | -0/+7 |
| | | | | | | | am not so sure about the file printer emitter, but the debug emitter change should be harmless.) llvm-svn: 13117 | ||||
* | Fix bug introduced in previous commit. | Alkis Evlogimenos | 2004-04-12 | 1 | -1/+1 |
| | | | | llvm-svn: 12872 | ||||
* | Correctly compute spill weights | Alkis Evlogimenos | 2004-04-12 | 1 | -18/+19 |
| | | | | llvm-svn: 12869 | ||||
* | Print def lists a bit more compactly | Alkis Evlogimenos | 2004-04-12 | 1 | -1/+1 |
| | | | | llvm-svn: 12866 | ||||
* | Add definition list to each live interval. | Alkis Evlogimenos | 2004-04-09 | 2 | -46/+61 |
| | | | | llvm-svn: 12791 | ||||
* | MBB::remove should not modify the iterator passed in | Chris Lattner | 2004-03-31 | 1 | -1/+2 |
| | | | | llvm-svn: 12572 |