summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename PaddedSize to AllocSize, in the hope that thisDuncan Sands2009-05-091-1/+1
| | | | | | | will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349
* Remove refs to non-DebugLoc versions of BuildMI from ARM.Dale Johannesen2009-02-131-8/+14
| | | | llvm-svn: 64429
* Suppress a compile time warning.Evan Cheng2009-01-281-0/+2
| | | | llvm-svn: 63161
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-121-1/+1
| | | | | | suggested by Chris. llvm-svn: 62099
* Use ARMFunctionInfo to track number of constpool entries and jumptables.Evan Cheng2008-11-081-5/+2
| | | | llvm-svn: 58877
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-3/+3
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Remove isImm(), isReg(), and friends, in favor of Dan Gohman2008-09-131-1/+1
| | | | | | | | | isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. llvm-svn: 56189
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Pool-allocation for MachineInstrs, MachineBasicBlocks, andDan Gohman2008-07-071-8/+9
| | | | | | | | | | | MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
* Infrastructure for getting the machine code size of a function and an ↵Nicolas Geoffray2008-04-161-10/+10
| | | | | | instruction. X86, PowerPC and ARM are implemented llvm-svn: 49809
* rename MachineInstr::setInstrDescriptor -> setDescChris Lattner2008-01-111-1/+1
| | | | llvm-svn: 45871
* rename TargetInstrDescriptor -> TargetInstrDesc.Chris Lattner2008-01-071-2/+2
| | | | | | | 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-2/+2
| | | | | | | | | | | | | | | 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
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-11/+11
| | | | | | | | | | | | 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
* Use MachineOperand::getImm instead of MachineOperand::getImmedValue. ↵Chris Lattner2007-12-301-1/+1
| | | | | | Likewise setImmedValue -> setImm llvm-svn: 45453
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Eliminate the remaining uses of getTypeSize. ThisDuncan Sands2007-11-051-1/+1
| | | | | | | | | | | | | | should only effect x86 when using long double. Now 12/16 bytes are output for long double globals (the exact amount depends on the alignment). This brings globals in line with the rest of LLVM: the space reserved for an object is now always the ABI size. One tricky point is that only 10 bytes should be output for long double if it is a field in a packed struct, which is the reason for the additional argument to EmitGlobalConstant. llvm-svn: 43688
* ARM: make branch folder remove unconditional branchesDale Johannesen2007-07-121-5/+2
| | | | | | | | following jump tables that it earlier inserted. This would be OK on other targets but is needed for correctness only on ARM (constant islands needs to find jump tables). llvm-svn: 39782
* Fix hang compiling TimberWolf (allow for islandsDale Johannesen2007-07-111-6/+7
| | | | | | of size other than 4). llvm-svn: 39743
* Didn't mean the last commit. Revert.Evan Cheng2007-07-101-8/+6
| | | | llvm-svn: 38515
* Update.Evan Cheng2007-07-101-6/+8
| | | | llvm-svn: 38513
* Reflects the chanegs made to PredicateOperand.Evan Cheng2007-07-051-1/+3
| | | | llvm-svn: 37898
* Fix comment.Evan Cheng2007-05-161-1/+1
| | | | llvm-svn: 37098
* Add PredicateOperand to all ARM instructions that have the condition field.Evan Cheng2007-05-151-6/+6
| | | | llvm-svn: 37066
* 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
* Rewrite of Thumb constant islands handling (exact allowance for paddingDale Johannesen2007-04-291-84/+222
| | | | | | around islands and jump tables). llvm-svn: 36573
* Doh. ARM::LEApcrel is a single instruction MI.Evan Cheng2007-04-271-5/+3
| | | | llvm-svn: 36513
* Special handling of LEApcrel and tLEApcrel.Evan Cheng2007-04-271-0/+11
| | | | llvm-svn: 36504
* Make Thumb funcs containing islands 4-byte aligned. Fix bugs maintainingDale Johannesen2007-04-231-6/+19
| | | | | | BBOffsets and BBSizes when adjusting conditional branches. llvm-svn: 36372
* Remove unused constant pool entries.Evan Cheng2007-04-031-32/+60
| | | | llvm-svn: 35635
* fix off by 1 error in displacement computationDale Johannesen2007-04-021-0/+5
| | | | llvm-svn: 35602
* - Track which callee-saved registers are spilled.Evan Cheng2007-03-011-1/+1
| | | | | | - Some code clean up. llvm-svn: 34783
* Changes requested in review of last pass. Also pulled isThumb into aDale Johannesen2007-02-281-113/+142
| | | | | | member, instead of resetting in every function that uses it. llvm-svn: 34764
* Add intelligence about where to break large blocks.Dale Johannesen2007-02-281-23/+73
| | | | llvm-svn: 34755
* cosmetic changes from review of last patch. obviousDale Johannesen2007-02-251-2/+2
| | | | llvm-svn: 34598
* remove crediting of Evan Cheng and me.Dale Johannesen2007-02-251-1/+0
| | | | llvm-svn: 34568
* Removed WaterListOffset, inserted BBOffsets. Remove TODO item about thisDale Johannesen2007-02-251-102/+105
| | | | | | | from README. When no water available, use end of block if in range. (More to do here.) llvm-svn: 34563
* rewrite of constant islandsDale Johannesen2007-02-231-73/+262
| | | | llvm-svn: 34523
* These vectors are frequently large. Use std::vector instead.Evan Cheng2007-02-091-10/+10
| | | | llvm-svn: 34109
* Add reference counting to constantpool entries. Delete the unused ones.Evan Cheng2007-02-091-36/+113
| | | | llvm-svn: 34105
* - Branch max. displacement calculation bug.Evan Cheng2007-02-031-9/+20
| | | | | | - Add debugging info. llvm-svn: 33811
* Use MBB.empty() instead of MBB.size() for speed.Evan Cheng2007-02-021-1/+1
| | | | llvm-svn: 33789
* Watch out for empty BB.Evan Cheng2007-02-021-0/+1
| | | | llvm-svn: 33788
* Pasto. Lots of it.Evan Cheng2007-02-011-5/+3
| | | | llvm-svn: 33762
* - Off by one bugs in maximum displacement calculation / testing.Evan Cheng2007-02-011-15/+28
| | | | | | | - In thumb mode, a new constpool island BB size should be 4 + 2 to compensate for the potential padding due to alignment requirement. llvm-svn: 33753
* Pessmistically assume the .align 2 before the first constpool entry addsEvan Cheng2007-02-011-2/+12
| | | | | | two bytes padding. llvm-svn: 33734
* Handle an interesting corner case: the constpool_entry being reference is twoEvan Cheng2007-01-311-2/+2
| | | | | | | | | instructions away, i.e. its address is equal to PC. %r0 = tLDRpci <cp#0> bx CONSTPOOL_ENTRY 0 <cp#0>, 4 llvm-svn: 33728
* When determining whether a pc relative branch / load displacement fits in theEvan Cheng2007-01-311-27/+42
| | | | | | instruction field, adjust it for PC value (4 for thumb, 8 for arm). llvm-svn: 33711
OpenPOWER on IntegriCloud