summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/PHIElimination.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* - Remove calls to copyKillDeadInfo which is an N^2 function. Instead, ↵Evan Cheng2008-07-031-17/+23
| | | | | | | | propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. - Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list. llvm-svn: 53097
* Cosmetic changes.Evan Cheng2008-06-191-3/+5
| | | | llvm-svn: 52479
* Change class' public PassInfo variables to by initialized with theDan Gohman2008-05-131-1/+1
| | | | | | | | | | | address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data. Also, fold RegisterPassBase into PassInfo, make a bunch of its data members const, and rearrange some code to initialize data members in constructors instead of using setter member functions. llvm-svn: 51022
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-4/+4
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Constify isSourceDefinedByImplicitDef function. Otherwise, just formattingBill Wendling2008-05-121-45/+38
| | | | | | changes that don't change functionality. llvm-svn: 51004
* If all sources of a PHI node are defined by an implicit_def, just emit an ↵Evan Cheng2008-05-101-7/+11
| | | | | | implicit_def instead of a copy. llvm-svn: 50927
* If a PHI node has a single implicit_def source, replace it with an ↵Evan Cheng2008-04-111-5/+19
| | | | | | implicit_def instead of a copy. llvm-svn: 49543
* Undo PHI elimination copy placement patch. This causes coalescing ↵Evan Cheng2008-04-041-30/+1
| | | | | | (performace) issues. llvm-svn: 49198
* - PHI elimination also eliminates implicit_def that fits into a PHI node ↵Evan Cheng2008-04-031-42/+84
| | | | | | | | rather than copying it. - Be (slightly) smarter about where to place the copies. llvm-svn: 49165
* Remove #include<map> from LiveVariables.h. Not referenced.Evan Cheng2008-04-021-1/+2
| | | | llvm-svn: 49099
* Refactor code. Remove duplicated functions that basically do the same thing asEvan Cheng2008-03-051-1/+1
| | | | | | findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-1/+1
| | | | llvm-svn: 46930
* Remove DefInst from LiveVariables::VarInfo. Use the facilities on ↵Owen Anderson2008-01-151-4/+0
| | | | | | MachineRegisterInfo instead. llvm-svn: 46016
* Don't recalculate the loop info and loop dominators analyses if they'reBill Wendling2008-01-041-0/+2
| | | | | | preserved. llvm-svn: 45596
* Move copyRegToReg from MRegisterInfo to TargetInstrInfo. This is part of theOwen Anderson2007-12-311-3/+3
| | | | | | Machine-level API cleanup instigated by Chris. llvm-svn: 45470
* Rename SSARegMap -> MachineRegisterInfo in keeping with the idea Chris Lattner2007-12-311-3/+3
| | | | | | | | | | | | | | that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-7/+5
| | | | | | | | | | | | e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on switching everything over, so new clients should just start using the shorter names. Remove old long accessors, switching everything over to use the short accessor: getMachineBasicBlock() -> getMBB(), getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc. llvm-svn: 45464
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Bring UsedBlocks back. StrongPHIElimination needs this information.Owen Anderson2007-11-081-0/+3
| | | | llvm-svn: 43866
* Allow copyRegToReg to emit cross register classes copies.Evan Cheng2007-09-261-2/+2
| | | | | | Tested with "make check"! llvm-svn: 42346
* Fix typo in comment.Nick Lewycky2007-05-061-1/+1
| | | | llvm-svn: 36873
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-2/+2
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+4
| | | | llvm-svn: 36632
* VarInfo::UsedBlocks is no longer used. Remove.Evan Cheng2007-04-181-3/+0
| | | | llvm-svn: 36250
* Increment use count of new virtuals created during PHI elimination.Evan Cheng2007-04-181-0/+3
| | | | llvm-svn: 36233
* Keep UsedBlocks info accurate.Evan Cheng2007-03-181-0/+3
| | | | llvm-svn: 35140
* rename DenseMap to IndexedMap.Chris Lattner2007-02-011-1/+0
| | | | llvm-svn: 33749
* Eliminate static ctors from StatisticsChris Lattner2006-12-191-3/+4
| | | | llvm-svn: 32698
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-2/+2
| | | | | | is 'unsigned'. llvm-svn: 32279
* "Once more into the breach, dear friends, once more, or fill the wall upBill Wendling2006-09-281-26/+42
| | | | | | | | | | with our English dead." No! Really! Serious this time...It was how the vreg uses were being adjusted that was causing hte Olden tests to fail. I corrected this and the Olden and Regression tests all passed. llvm-svn: 30644
* re-re-revert this, back to the right revision. It currently breaks bisort/mstChris Lattner2006-09-281-44/+24
| | | | | | in olden among others. llvm-svn: 30637
* re-revert this patch, bisort and mst are still broken in Olden.Chris Lattner2006-09-281-3/+3
| | | | llvm-svn: 30634
* Reapplying this patch. With the newest commits, the error in Olden/bisortBill Wendling2006-09-271-24/+44
| | | | | | has disappeared. llvm-svn: 30633
* Temporarily revert this. This breaks Olden/bisort on PPCChris Lattner2006-09-271-44/+24
| | | | llvm-svn: 30628
* PR878: Instead of calculating the vreg to PHI use count everytime we getBill Wendling2006-09-271-24/+44
| | | | | | | | a function, do it up front in linear time (going through all of the instructions once). We create a map out of them. Then it's no problem to use the information in it during elimination... llvm-svn: 30624
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Fix an obvious bug, noticed by inspection. No current targets trigger this.Chris Lattner2006-08-121-3/+3
| | | | llvm-svn: 29648
* Reduce number of exported symbolsAndrew Lenharth2006-07-201-2/+2
| | | | llvm-svn: 29220
* Use hidden visibility to make symbols in an anonymous namespace getChris Lattner2006-06-281-1/+2
| | | | | | dropped. This shrinks libllvmgcc.dylib another 67K llvm-svn: 28975
* Add support for targets (like Alpha) that have terminator instructions whichChris Lattner2006-01-041-5/+41
| | | | | | | | | use virtual registers. We now allow the first instruction in a block of terminators to use virtual registers, and update phi elimination to correctly update livevar when eliminating phi's. This fixes a problem on a testcase Andrew sent me. llvm-svn: 25083
* Add an assertion, update DefInst even though no one uses it (dangling pointersChris Lattner2006-01-041-0/+4
| | | | | | don't help anyone) llvm-svn: 25081
* clean up this code a bit, no functionality changeChris Lattner2005-10-031-101/+116
| | | | llvm-svn: 23609
* Break the body of the loop out into a new methodChris Lattner2005-10-031-144/+155
| | | | llvm-svn: 23606
* adjust to new live variables interfaceChris Lattner2005-08-231-11/+6
| | | | llvm-svn: 22992
* * Order #includes alphabeticallyMisha Brukman2005-05-051-4/+1
| | | | | | * Remove commented-out debug printouts llvm-svn: 21707
* Convert tabs to spacesMisha Brukman2005-04-221-2/+2
| | | | llvm-svn: 21439
* Remove trailing whitespaceMisha Brukman2005-04-211-14/+14
| | | | llvm-svn: 21420
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Update live intervals more accurately for PHI elim. This slightly reducesChris Lattner2004-07-231-10/+6
| | | | | | the live intervals for some registers. llvm-svn: 15125
OpenPOWER on IntegriCloud