summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* It looks like physref->virtreg joining is working fine. Enable it by defaultChris Lattner2004-07-171-10/+19
| | | | | | but make virtreg->virtreg joining stay off by default llvm-svn: 14916
* Fix IA64 compatibilityChris Lattner2004-07-162-2/+2
| | | | llvm-svn: 14866
* Use new macroChris Lattner2004-07-161-1/+1
| | | | llvm-svn: 14865
* Fix for PR341Chris Lattner2004-07-151-2/+2
| | | | llvm-svn: 14845
* Add checks to ensure that there are no unreachable blocks in the functionChris Lattner2004-07-091-0/+8
| | | | llvm-svn: 14725
* * Doxygenify commentsMisha Brukman2004-07-091-104/+96
| | | | | | | | | | | * Fix spacing, grammar in comment * Make code layout consistent * Wrap code at 80 cols * Delete spurious blank lines No functional changes. llvm-svn: 14721
* Fix typo.Alkis Evlogimenos2004-07-091-1/+1
| | | | llvm-svn: 14720
* Improve code comments.Alkis Evlogimenos2004-07-091-5/+11
| | | | llvm-svn: 14719
* Add viewCFG() and viewCFGOnly() APIs.Alkis Evlogimenos2004-07-081-1/+77
| | | | llvm-svn: 14679
* Disable coalescing.Alkis Evlogimenos2004-07-071-1/+1
| | | | llvm-svn: 14655
* Do not crash when joining two intervals of registers of differentAlkis Evlogimenos2004-07-061-1/+10
| | | | | | | classes: just ignore that move. Thanks to Vladimir Prus who found the bug! llvm-svn: 14644
* Fix a bug in the unreachable block elim pass. Dropping all references on aChris Lattner2004-07-061-4/+11
| | | | | | | | basic block clear()'s all of the operands lists, including phis. This caused removePredecessor to get confused later. Because of this, we just nuke (without prejudice) PHI nodes in unreachable blocks. llvm-svn: 14635
* Correctly compute the ration of iterations/#intervals.Alkis Evlogimenos2004-07-041-2/+6
| | | | llvm-svn: 14626
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-0411-0/+16
| | | | llvm-svn: 14622
* Add efficiency statistic.Alkis Evlogimenos2004-07-041-1/+7
| | | | llvm-svn: 14590
* Revert patches 1.79 and 1.80 which had to do with dead MBB's. Now that theyChris Lattner2004-07-021-6/+4
| | | | | | don't exist, we don't have to pretend to handle them. llvm-svn: 14567
* Add a trivially simple pass to delete unreachable blocks from the CFG. ThisChris Lattner2004-07-021-0/+68
| | | | | | | | | | | | | pass is required to paper over problems in the code generator (primarily live variables and its clients) which doesn't really have any well defined semantics for unreachable code. The proper solution to this problem is to have instruction selectors not select blocks that are unreachable. Until we have a instruction selection framework available for use, however, we can't expect all instruction selector writers to do this. Until then, this pass should be used. llvm-svn: 14563
* Make sure that we destroy the MBB's, with all of their instructions, beforeChris Lattner2004-07-011-0/+1
| | | | | | any other data structures llvm-svn: 14524
* Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'sChris Lattner2004-07-012-21/+1
| | | | | | use them instead of a local LiveVariables numbering llvm-svn: 14523
* Change MBB autonumber a bit to get the reverse mapping as well as a forwardChris Lattner2004-07-011-10/+6
| | | | | | mapping llvm-svn: 14521
* Instance var no longer existsChris Lattner2004-07-011-1/+1
| | | | llvm-svn: 14520
* Start using MBB numbers directly instead of going through the live variablesChris Lattner2004-07-013-4/+4
| | | | | | map. llvm-svn: 14518
* Instead of building a private numbering of MBB's use brg's nifty auto-numbering.Chris Lattner2004-07-011-5/+5
| | | | | | Also convert df_iterator -> df_ext_iterator for subsequent stuff I'm doing. llvm-svn: 14517
* In line with the previous patch, do not assert out if analyzing a dead basic ↵Chris Lattner2004-06-291-1/+4
| | | | | | block. llvm-svn: 14475
* Do not dereference end iterators. It hurts when you do that.Chris Lattner2004-06-291-3/+2
| | | | llvm-svn: 14474
* Do not find these ugly sparc-specific objects by using the annotation API onChris Lattner2004-06-271-21/+7
| | | | | | | | instructions. Instead, keep a map of instructions -> MCFI objects in the already sparc-specific class MachineFunctionInfo. This will slow down the sparc backend a bit, but it does not penalize the rest of LLVM! llvm-svn: 14438
* Made a fix so that you can print out MachineInstrs that belong to a ↵Tanya Lattner2004-06-256-19/+32
| | | | | | MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. llvm-svn: 14389
* Convert tabs to spaces.Misha Brukman2004-06-241-45/+44
| | | | llvm-svn: 14373
* 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
OpenPOWER on IntegriCloud