Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix #includes of i*.h files => Instructions.h as per PR403 | Misha Brukman | 2004-07-29 | 3 | -8/+4 |
| | | | | llvm-svn: 15327 | ||||
* | Merge i*.cpp definitions into Instructions.cpp as part of bug403. | Alkis Evlogimenos | 2004-07-29 | 6 | -849/+802 |
| | | | | llvm-svn: 15326 | ||||
* | Merge i*.h headers into Instructions.h as part of bug403. | Alkis Evlogimenos | 2004-07-29 | 13 | -24/+15 |
| | | | | llvm-svn: 15325 | ||||
* | Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx | Chris Lattner | 2004-07-29 | 1 | -5/+9 |
| | | | | | | | This also fixes the miscompilation of MallocBench/gs with dead store elimination enabled. llvm-svn: 15324 | ||||
* | Get rid of a few dead method declarations. | Brian Gaeke | 2004-07-29 | 1 | -7/+0 |
| | | | | llvm-svn: 15323 | ||||
* | Get rid of calls to void llvm::printSet(const ValueSet &). | Brian Gaeke | 2004-07-29 | 2 | -21/+10 |
| | | | | llvm-svn: 15322 | ||||
* | Get rid of calls to void llvm::printSet(const ValueSet &). | Brian Gaeke | 2004-07-29 | 2 | -14/+11 |
| | | | | | | Use LiveRange's iterator types and operations instead of ValueSet's. llvm-svn: 15321 | ||||
* | Don't derive from ValueSet to implement class LiveRange; instead, use a | Brian Gaeke | 2004-07-29 | 1 | -8/+25 |
| | | | | | | | SetVector<Value *> data member. Add << operator for LiveRanges (a dumb one, for now.) llvm-svn: 15320 | ||||
* | Fix a few typoes and grammaroes in comments. | Brian Gaeke | 2004-07-29 | 1 | -5/+5 |
| | | | | llvm-svn: 15319 | ||||
* | Remove mustSaveAcrossCalls flag, which isn't ever read, and its mutator, | Brian Gaeke | 2004-07-29 | 2 | -10/+1 |
| | | | | | | markForSaveAcrossCalls. llvm-svn: 15317 | ||||
* | Minor corrections | Chris Lattner | 2004-07-28 | 2 | -4/+4 |
| | | | | llvm-svn: 15309 | ||||
* | TargetInstrInfo::hasOperandInterlock() is always true, because it is | Brian Gaeke | 2004-07-28 | 1 | -10/+1 |
| | | | | | | never overridden by any target. llvm-svn: 15308 | ||||
* | Add notes on bug involving casting ulong -> double, thanks to Nate Begeman. | Misha Brukman | 2004-07-28 | 1 | -0/+17 |
| | | | | llvm-svn: 15307 | ||||
* | Simplify loading (un)signed constants to registers, patch by Nate Begeman. | Misha Brukman | 2004-07-28 | 2 | -90/+94 |
| | | | | llvm-svn: 15306 | ||||
* | Remove an extra 8 byte distance penalty. Patch by Nate Begeman. | Misha Brukman | 2004-07-28 | 1 | -4/+0 |
| | | | | llvm-svn: 15305 | ||||
* | Find longs by type, not by their primitive size being 64. Patch by Nate Begeman. | Misha Brukman | 2004-07-28 | 2 | -2/+2 |
| | | | | llvm-svn: 15304 | ||||
* | LI can only take signed values, so values > 32767 can only be loaded with ORI | Misha Brukman | 2004-07-28 | 2 | -2/+14 |
| | | | | llvm-svn: 15299 | ||||
* | Reorganize tests to place them in proper directories. | Misha Brukman | 2004-07-28 | 1 | -4/+4 |
| | | | | llvm-svn: 15298 | ||||
* | UnitTests 2003-05-26-Shorts and 2003-07-09-LoadShorts have been fixed; | Misha Brukman | 2004-07-28 | 1 | -3/+1 |
| | | | | | | 2003-05-22-VarSizeArray is broken. llvm-svn: 15297 | ||||
* | Fix printing of immediate operands by looking at their operand types in | Misha Brukman | 2004-07-28 | 2 | -30/+52 |
| | | | | | | | the TargetInstrInfo. This fixes UnitTests 2003-05-26-Shorts and 2003-07-09-LoadShorts. llvm-svn: 15296 | ||||
* | Renamed files: | Misha Brukman | 2004-07-27 | 4 | -9/+9 |
| | | | | | | | * PowerPCReg.td => PowerPCRegisterinfo.td * PowerPCInstrs.td => PowerPCInstrInfo.td llvm-svn: 15295 | ||||
* | ConstantTypeMustBeLoaded has been incorporated into SparcV9PreSelection, its | Brian Gaeke | 2004-07-27 | 1 | -5/+0 |
| | | | | | | only user. llvm-svn: 15294 | ||||
* | This was the only user of TargetInstrInfo::ConstantTypeMustBeLoaded(). | Brian Gaeke | 2004-07-27 | 1 | -1/+5 |
| | | | | llvm-svn: 15293 | ||||
* | This change fixed a bug in the function visitMul. The prior version | Robert Bocchino | 2004-07-27 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | assumed that a constant on the RHS of a multiplication was either an IntConstant or an FPConstant. It checked for an IntConstant and then, if it did not find one, did a hard cast to an FPConstant. That code would crash if the RHS were a ConstantExpr that was neither an IntConstant nor an FPConstant. This version replaces the hard cast with a dyn_cast. It performs the same way for IntConstants and FPConstants but does nothing, instead of crashing, for constant expressions. The regression test for this change is 2004-07-27-ConstantExprMul.ll. llvm-svn: 15291 | ||||
* | Get rid of the (apparently non-working) filePrinterEmitter which is added in | Brian Gaeke | 2004-07-27 | 1 | -3/+1 |
| | | | | | | debug mode. Its only effect seems to be the creation of an empty file... llvm-svn: 15289 | ||||
* | Branch selection support implemented by Nate Begeman for long branches. | Misha Brukman | 2004-07-27 | 1 | -1/+8 |
| | | | | llvm-svn: 15288 | ||||
* | Correctly print out long branches, assert on finding pseudo instr COND_BRANCH | Misha Brukman | 2004-07-27 | 2 | -2/+24 |
| | | | | | | Patch by Nate Begeman. llvm-svn: 15286 | ||||
* | Run the branch selection pass right before the asm printer. | Misha Brukman | 2004-07-27 | 1 | -0/+2 |
| | | | | | | Patch by Nate Begeman. llvm-svn: 15285 | ||||
* | Remove empty unused method processFunctionBeforeFrameFinalized() | Misha Brukman | 2004-07-27 | 2 | -8/+0 |
| | | | | llvm-svn: 15284 | ||||
* | Add COND_BRANCH pseudo instruction, patch by Nate Begeman. | Misha Brukman | 2004-07-27 | 1 | -0/+1 |
| | | | | llvm-svn: 15283 | ||||
* | Build COND_BRANCHes which may become long or short, decided by a later pass. | Misha Brukman | 2004-07-27 | 2 | -46/+28 |
| | | | | | | Patch by Nate Begeman. llvm-svn: 15282 | ||||
* | Moved definition of invertPPCBranchOpcode() into PowerPCInstrInfo class. | Misha Brukman | 2004-07-27 | 1 | -1/+14 |
| | | | | | | Patch by Nate Begeman. llvm-svn: 15281 | ||||
* | Add PowerPCBranchSelector to discover which are `long' branches. | Misha Brukman | 2004-07-27 | 2 | -1/+144 |
| | | | | | | Contributed by Nate Begeman. llvm-svn: 15280 | ||||
* | TargetInstrInfo::getNOPOpCode() has been replaced by a reference to V9::NOP. | Brian Gaeke | 2004-07-27 | 2 | -2/+3 |
| | | | | llvm-svn: 15279 | ||||
* | Convert many of the virtual TargetInstrInfo methods used as helper | Brian Gaeke | 2004-07-27 | 4 | -58/+48 |
| | | | | | | | | functions in SparcV9InstrSelection and SparcV9PreSelection into regular old global functions. As it happens, none of them really have anything to do with TargetInstrInfo. llvm-svn: 15278 | ||||
* | As it happens, none of these TargetInstrInfo methods which are only | Brian Gaeke | 2004-07-27 | 2 | -104/+90 |
| | | | | | | | | | used in the SparcV9 backend really have anything to do with TargetInstrInfo, so we're converting them into regular old global functions and moving their declarations to SparcV9InstrSelectionSupport.h. (They're mostly used as helper functions for SparcV9InstrSelection.) llvm-svn: 15277 | ||||
* | Make the create...() functions for some of these passes return a FunctionPass *. | Brian Gaeke | 2004-07-27 | 3 | -3/+3 |
| | | | | llvm-svn: 15276 | ||||
* | Fixed saving/restoring LR unconditionally, only done as necessary. | Misha Brukman | 2004-07-27 | 1 | -1/+0 |
| | | | | llvm-svn: 15275 | ||||
* | Save and restore LR just like any other register and ONLY if we actually modify | Misha Brukman | 2004-07-27 | 1 | -11/+20 |
| | | | | | | it (due to calls or globals access). We now compile `void empty(){}' to `blr'. llvm-svn: 15274 | ||||
* | LR is a 32-bit int reg | Misha Brukman | 2004-07-27 | 1 | -2/+2 |
| | | | | llvm-svn: 15273 | ||||
* | MovePCtoLR (which is `bl' in disguise) modifies LR implicitly | Misha Brukman | 2004-07-27 | 1 | -1/+2 |
| | | | | llvm-svn: 15272 | ||||
* | Register LR is callee-saved | Misha Brukman | 2004-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 15271 | ||||
* | Add IMPLICIT_DEF of LR for branch-and-link instrs (calls and global accesses) | Misha Brukman | 2004-07-27 | 2 | -0/+4 |
| | | | | llvm-svn: 15270 | ||||
* | nuke pointless -debug output | Chris Lattner | 2004-07-27 | 1 | -4/+0 |
| | | | | llvm-svn: 15267 | ||||
* | Fix conservative assumption, which was quite broken. Also, notice that | Chris Lattner | 2004-07-27 | 1 | -2/+22 |
| | | | | | | functions known to not access memory (like sin/cos) don't access memory! :) llvm-svn: 15264 | ||||
* | Fix hoisting of void typed values, e.g. calls | Chris Lattner | 2004-07-27 | 1 | -7/+13 |
| | | | | llvm-svn: 15263 | ||||
* | alloca void makes no sense | Chris Lattner | 2004-07-27 | 1 | -0/+1 |
| | | | | llvm-svn: 15262 | ||||
* | Remove a bogus assertion | Chris Lattner | 2004-07-27 | 1 | -3/+0 |
| | | | | llvm-svn: 15261 | ||||
* | Complete rewrite of this pass to be faster, use less memory, be easier to | Chris Lattner | 2004-07-27 | 1 | -97/+148 |
| | | | | | | | understand, and more accurate to boot! This implements GlobalModRef/purecse.ll over the previous impl. llvm-svn: 15260 | ||||
* | Simplify code and silence warning | Chris Lattner | 2004-07-27 | 1 | -6/+4 |
| | | | | llvm-svn: 15255 |