summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Making an archive version of the CodeGen library is unnecessary if we justMisha Brukman2004-06-221-1/+0
| | | | | | move InstructionLowering itself. llvm-svn: 14324
* Provide archive version of CodeGen library (for those tools that only needMisha Brukman2004-06-221-0/+1
| | | | | | IntrinsicLowering, for instance). llvm-svn: 14323
* Rename Interval class to LiveInterval to avoid conflicting with the alreadyChris Lattner2004-06-213-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 PR346Chris Lattner2004-06-201-0/+214
| | | | llvm-svn: 14266
* Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable.Brian Gaeke2004-06-172-5/+6
| | | | llvm-svn: 14205
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-1/+1
| | | | llvm-svn: 14201
* Fix a recent regression in Applications/sgefa that Alkis pointed out to me.Chris Lattner2004-06-161-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 Lattner2004-06-112-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 supportChris Lattner2004-06-101-9/+33
| | | | | | | | targets whose stack grows up. Patch contributed by Vladimir Prus llvm-svn: 14111
* Oops, this was not to go inChris Lattner2004-06-021-1/+1
| | | | llvm-svn: 13958
* Adjust to the new TargetMachine interfaceChris Lattner2004-06-022-16/+16
| | | | llvm-svn: 13957
* Adjust to new TargetMachine interfaceChris Lattner2004-06-0211-19/+18
| | | | llvm-svn: 13956
* Inline findOptimalStorageSize into it's caller, both of which are sparc specificChris Lattner2004-06-021-12/+18
| | | | llvm-svn: 13955
* Finegrainify namespacificationChris Lattner2004-06-022-6/+3
| | | | llvm-svn: 13948
* Fix a trivial but blatant bugChris Lattner2004-06-021-4/+4
| | | | llvm-svn: 13947
* Pull Interval class out of LiveIntervals.Alkis Evlogimenos2004-05-303-80/+67
| | | | llvm-svn: 13910
* When spilling an register, introduce a new temporary for each of itsAlkis Evlogimenos2004-05-303-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 Gaeke2004-05-301-1/+1
| | | | llvm-svn: 13903
* Add method to assign stack slot to virtual register without creating aAlkis Evlogimenos2004-05-292-0/+9
| | | | | | new one. llvm-svn: 13895
* Add grow() member that grows the maps when the number of virtualAlkis Evlogimenos2004-05-291-2/+6
| | | | | | registers in the function has changed. llvm-svn: 13893
* Remove defs vector from live intervals.Alkis Evlogimenos2004-05-292-20/+0
| | | | llvm-svn: 13892
* updates to ModuloSchedTanya Lattner2004-05-282-10/+91
| | | | llvm-svn: 13881
* Adding scheduling class.Tanya Lattner2004-05-262-0/+246
| | | | llvm-svn: 13783
* Updating my cvs versions. THis is still in progress and much will be changed.Tanya Lattner2004-05-264-157/+299
| | | | llvm-svn: 13782
* Moved MachineBasicBlock deconstructor to cpp file and removed it from ↵Tanya Lattner2004-05-242-5/+11
| | | | | | LeakDetector to fix memory leak bug. llvm-svn: 13718
* Added MachineFunction parent* to MachineBasicBlock. Customized ilist templateTanya Lattner2004-05-242-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 Lattner2004-05-241-1/+1
| | | | | | which simplifies the code llvm-svn: 13707
* Changed clone to be const.Tanya Lattner2004-05-241-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 Lattner2004-05-231-2/+3
| | | | llvm-svn: 13665
* Adding support to clone MachineInstrTanya Lattner2004-05-231-0/+19
| | | | llvm-svn: 13661
* Fix a really nasty bug from my changes on Monday to PHIElim. These changesChris Lattner2004-05-121-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 Gaeke2004-05-121-1/+1
| | | | llvm-svn: 13515
* Add non-const MachineBasicBlock::getParent() accessor method.Brian Gaeke2004-05-121-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 upChris Lattner2004-05-101-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 valuesChris Lattner2004-05-101-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 robustChris Lattner2004-05-101-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 usedChris Lattner2004-05-101-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 Lattner2004-05-084-303/+860
| | | | llvm-svn: 13424
* Add required headerAlkis Evlogimenos2004-05-081-0/+1
| | | | llvm-svn: 13417
* Remove unneeded headerAlkis Evlogimenos2004-05-081-1/+0
| | | | llvm-svn: 13416
* numeric_limits::infinity() apparently does not work on all systems. As aChris Lattner2004-05-062-7/+5
| | | | | | workaround, use the C HUGE_VAL macro instead. llvm-svn: 13377
* Operate on the Machine CFG instead of on the LLVM CFGChris Lattner2004-05-012-17/+12
| | | | llvm-svn: 13302
* Stop LiveVariables from using BasicBlocks as part of the mapping, insteadChris Lattner2004-05-011-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 ofBrian Gaeke2004-04-231-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. (IBrian Gaeke2004-04-231-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 Evlogimenos2004-04-121-1/+1
| | | | llvm-svn: 12872
* Correctly compute spill weightsAlkis Evlogimenos2004-04-121-18/+19
| | | | llvm-svn: 12869
* Print def lists a bit more compactlyAlkis Evlogimenos2004-04-121-1/+1
| | | | llvm-svn: 12866
* Add definition list to each live interval.Alkis Evlogimenos2004-04-092-46/+61
| | | | llvm-svn: 12791
* MBB::remove should not modify the iterator passed inChris Lattner2004-03-311-1/+2
| | | | llvm-svn: 12572
OpenPOWER on IntegriCloud