summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* add Emacs tag and fix some comment error in file headersJia Liu2012-02-171-1/+1
| | | | llvm-svn: 150775
* Tidy up. Simplify logic. No functional change intended.Akira Hatanaka2011-12-191-4/+2
| | | | llvm-svn: 146896
* Add bundle aware API for querying instruction properties and switch the codeEvan Cheng2011-12-071-9/+8
| | | | | | | | | | | | | | generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. llvm-svn: 146026
* Fix assertion string.Akira Hatanaka2011-10-051-1/+1
| | | | llvm-svn: 141197
* Make sure candidate for delay slot filler is not a return instruction.Akira Hatanaka2011-10-051-3/+5
| | | | llvm-svn: 141196
* Add RA to the set of registers that are defined if instruction is a call.Akira Hatanaka2011-10-051-4/+4
| | | | llvm-svn: 141194
* MipsDelaySlotFiller.cpp: Appease msvc to specify llvm::next() explicitly.NAKAMURA Takumi2011-10-051-1/+1
| | | | llvm-svn: 141174
* Insert space.Akira Hatanaka2011-10-051-1/+1
| | | | llvm-svn: 141158
* Do not examine variadic or implicit operands if instruction is a return (jr).Akira Hatanaka2011-10-051-2/+3
| | | | llvm-svn: 141157
* Clean up function Filler::delayHasHazard. Akira Hatanaka2011-10-051-4/+6
| | | | llvm-svn: 141156
* Remove function Filler::insertCallUses.Akira Hatanaka2011-10-051-29/+14
| | | | | | Record the registers used and defined by a call in Filler::insertDefsUses. llvm-svn: 141154
* Clean up Filler::findDelayInstr.Akira Hatanaka2011-10-051-15/+10
| | | | llvm-svn: 141152
* Remove function Filler::isDelayFiller. Check if I is the same instruction thatAkira Hatanaka2011-10-051-11/+7
| | | | | | filled the last delay slot visited. llvm-svn: 141151
* Clean up Filler::runOnMachineBasicBlock. Change interface ofAkira Hatanaka2011-10-051-17/+20
| | | | | | Filler::findDelayInstr. llvm-svn: 141150
* Define a statistic for the number of slots that were filled with useful Akira Hatanaka2011-10-051-0/+2
| | | | | | instructions (instructions that are not NOP). llvm-svn: 141149
* Remove unnecessary check. isDelayFiller(MBB, I) will evaluate to true beforeAkira Hatanaka2011-10-051-1/+0
| | | | | | I->getDesc().hasDelaySlot() does. llvm-svn: 141148
* Add comments and move assignment statement. If sawStore is true, sawLoad doesAkira Hatanaka2011-10-051-1/+3
| | | | | | not have to be set. llvm-svn: 141147
* Correct description string of enable-mips-delay-filler.Akira Hatanaka2011-10-051-1/+1
| | | | llvm-svn: 141146
* Fill delay slot with useful instructions. Modified from Sparc's version of delayAkira Hatanaka2011-09-291-12/+201
| | | | | | | | slot filler. Patch by Reed Kotler at Mips Technologies. llvm-svn: 140825
* Drop support for Mips1 and Mips2.Akira Hatanaka2011-09-091-3/+1
| | | | llvm-svn: 139405
* - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo andEvan Cheng2011-06-281-3/+3
| | | | | | | | sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. llvm-svn: 134021
* Reverse unnecessary changes made in r129606 and r129608. There is no change ↵Akira Hatanaka2011-04-151-2/+2
| | | | | | in functionality. llvm-svn: 129612
* Fix lines that have incorrect indentation or exceed 80 columns. There is no ↵Akira Hatanaka2011-04-151-2/+2
| | | | | | change in functionality. llvm-svn: 129606
* Fix delay slot filler for non mips1 targets. Patch by Akira HatanakaBruno Cardoso Lopes2010-12-091-5/+9
| | | | llvm-svn: 121376
* Initial support for Mips32 and Mips32r2. Patch contributed by Akira Hatanaka ↵Bruno Cardoso Lopes2010-11-081-1/+2
| | | | | | (ahatanaka@mips.com) llvm-svn: 118447
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Remove non-DebugLoc versions of BuildMI from IA64, Mips.Dale Johannesen2009-02-131-1/+1
| | | | llvm-svn: 64438
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* rename TargetInstrDescriptor -> TargetInstrDesc.Chris Lattner2008-01-071-1/+1
| | | | | | | Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
* Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflectsChris Lattner2008-01-071-1/+1
| | | | | | | | | | | | | | | that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* A Pass to insert Nops on intructions with DelaySlotBruno Cardoso Lopes2007-08-181-0/+77
llvm-svn: 41150
OpenPOWER on IntegriCloud