summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
Commit message (Collapse)AuthorAgeFilesLines
* tyopsGabor Greif2010-08-231-1/+1
| | | | llvm-svn: 111835
* 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
* fix constness warningsGabor Greif2010-07-231-1/+2
| | | | llvm-svn: 109224
* eliminate the TargetInstrInfo::GetInstSizeInBytes hook. Chris Lattner2010-07-221-1/+1
| | | | | | | | ARM/PPC/MSP430-specific code (which are the only targets that implement the hook) can directly reference their target-specific instrinfo classes. llvm-svn: 109171
* Make isInt?? and isUint?? template specializations of the generic versions. ThisBenjamin Kramer2010-03-291-1/+1
| | | | | | | makes calls a little bit more consistent and allows easy removal of the specializations in the future. Convert all callers to the templated functions. llvm-svn: 99838
* Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky2009-10-251-1/+0
| | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-251-1/+1
| | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
* Remove refs to non-DebugLoc version of BuildMI from PowerPC.Dale Johannesen2009-02-131-2/+3
| | | | llvm-svn: 64431
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-1/+1
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Infrastructure for getting the machine code size of a function and an ↵Nicolas Geoffray2008-04-161-22/+2
| | | | | | instruction. X86, PowerPC and ARM are implemented llvm-svn: 49809
* Replace all target specific implicit def instructions with a target ↵Evan Cheng2008-03-151-6/+0
| | | | | | independent one: TargetInstrInfo::IMPLICIT_DEF. llvm-svn: 48380
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-1/+1
| | | | | | | | | | | | 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
* Remove isReg, isImm, and isMBB, and change all their users to use Dan Gohman2007-09-141-1/+1
| | | | | | | isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. llvm-svn: 41958
* 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
* Make LABEL a builtin opcode.Jim Laskey2007-01-261-0/+3
| | | | llvm-svn: 33537
* eliminate static ctors for Statistic objects.Chris Lattner2006-12-191-2/+2
| | | | llvm-svn: 32703
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-1/+1
| | | | | | is 'unsigned'. llvm-svn: 32279
* Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng2006-11-271-2/+3
| | | | | | of opcode and number of operands. llvm-svn: 31947
* Rewrite the branch selector to be correct in the face of large functions.Chris Lattner2006-11-181-84/+101
| | | | | | | | | | | | | | | The algorithm it used before wasn't 100% correct, we now use an iterative expansion model. This fixes assembler errors when compiling 403.gcc with tail merging enabled. Change the way the branch selector works overall: Now, the isel generates PPC::BCC instructions (as it used to) directly, and these BCC instructions are emitted to the output or jitted directly if branches don't need expansion. Only if branches need expansion are instructions rewritten and created. This should make branch select faster, and eliminates the Bxx instructions from the .td file. llvm-svn: 31837
* convert PPC::BCC to use the 'pred' operand instead of separate predicateChris Lattner2006-11-171-2/+2
| | | | | | | | value and CR reg #. This requires swapping the order of these everywhere that touches BCC and requires us to write custom matching logic for PPCcondbranch :( llvm-svn: 31835
* rename PPC::COND_BRANCH to PPC::BCCChris Lattner2006-11-171-3/+3
| | | | llvm-svn: 31834
* start using PPC predicates more consistently.Chris Lattner2006-11-171-5/+23
| | | | llvm-svn: 31833
* Typo. Fix the nightly tests.Jim Laskey2006-11-171-1/+1
| | | | llvm-svn: 31823
* implement a todo: change a map into a vectorChris Lattner2006-11-171-6/+6
| | | | llvm-svn: 31805
* fix typoChris Lattner2006-11-171-2/+2
| | | | llvm-svn: 31799
* implicit_def_vrrc doesn't generate code.Chris Lattner2006-11-161-31/+31
| | | | llvm-svn: 31797
* add a statisticChris Lattner2006-11-161-1/+6
| | | | llvm-svn: 31785
* Correctly handle instruction separators.Chris Lattner2006-10-131-14/+11
| | | | llvm-svn: 30935
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Add a comment.Evan Cheng2006-08-251-0/+1
| | | | llvm-svn: 29889
* Encode pc-relative conditional branch offset as pc+(num of bytes / 4). TheEvan Cheng2006-08-251-1/+1
| | | | | | | | | asm printer will print it as offset*4. e.g. bne cr0, $+8. The PPC code emitter was expecting the offset to be number of instructions, not number of bytes. This fixes a whole bunch of JIT failures. llvm-svn: 29885
* 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
* Implement 64-bit undef, sub, shl/shr, srem/uremChris Lattner2006-06-271-1/+2
| | | | llvm-svn: 28929
* There shalt be only one "immediate" operand type!Chris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28099
* Remove BRTWOWAY*Nate Begeman2006-03-171-6/+2
| | | | | | | | Make the PPC backend not dependent on BRTWOWAY_CC and make the branch selector smarter about the code it generates, fixing a case in the readme. llvm-svn: 26814
* Rename BSel -> PPCBSel for the benefit of doxygen users.Chris Lattner2006-02-081-105/+115
| | | | | | | | Move the methods out of line. Remove unused Debug.h stuff. Teach getNumBytesForInstruction to know the size of an inline asm. llvm-svn: 26064
* More PPC32 -> PPC changes, as well as merging some classes that wereNate Begeman2005-10-161-2/+2
| | | | | | redundant after the change. llvm-svn: 23759
* Rename PPC32*.h to PPC*.hChris Lattner2005-10-141-1/+1
| | | | | | This completes the grand PPC file renaming llvm-svn: 23745
* Rename PowerPC*.h to PPC*.hChris Lattner2005-10-141-0/+145
llvm-svn: 23743
OpenPOWER on IntegriCloud