summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Construct compile unit dies using DebugInfo.Devang Patel2009-01-051-1/+70
| | | | llvm-svn: 61768
* Revert r61415 and r61484. Duncan was correct that these weren't needed.Bill Wendling2009-01-051-18/+6
| | | | llvm-svn: 61765
* Don't call setDepthDirty/setHeightDirty when adding an edgeDan Gohman2009-01-051-4/+8
| | | | | | with latency 0, since it doesn't affect the depth or height. llvm-svn: 61762
* Extract source location info from DebugInfo.Devang Patel2009-01-051-0/+78
| | | | | | Add methods to add source location info in a DIE. llvm-svn: 61761
* Add type DIEs using DebugInfo.Devang Patel2009-01-051-9/+79
| | | | llvm-svn: 61757
* Construct composite type DIE using DebugInfo.Devang Patel2009-01-051-4/+83
| | | | llvm-svn: 61741
* TargetLowering.h #includes SelectionDAGNodes.h, so it doesn't need itsDan Gohman2009-01-051-2/+0
| | | | | | | own OpActionsCapacity magic number; it can just use ISD::BUILTIN_OP_END, as long as it takes care to round up when needed. llvm-svn: 61733
* s/ConstructType/ConstructTypeDIE/gDevang Patel2009-01-051-6/+6
| | | | llvm-svn: 61731
* Construct stuct field DIEs.Devang Patel2009-01-051-0/+78
| | | | llvm-svn: 61729
* Construct enumerator DIE using DebugInfo.Devang Patel2009-01-051-0/+11
| | | | llvm-svn: 61726
* Construct array/vector type DIEs using DebugInfo.Devang Patel2009-01-051-0/+40
| | | | llvm-svn: 61724
* Get rid of sentinel insertion in interval reconstruction. It just masked theOwen Anderson2009-01-051-5/+0
| | | | | | problem, rather than fixing it. The problem has now been fixed the right way. llvm-svn: 61723
* Tidy up #includes, deleting a bunch of unnecessary #includes.Dan Gohman2009-01-0511-11/+29
| | | | llvm-svn: 61715
* Construct basic and derived type DIEs using DebugInfo.Devang Patel2009-01-051-0/+44
| | | | llvm-svn: 61714
* subsume ConstructPointerType()Devang Patel2009-01-051-8/+2
| | | | llvm-svn: 61711
* subsume ConstructBasicType().Devang Patel2009-01-051-11/+6
| | | | llvm-svn: 61709
* squash warnings.Devang Patel2009-01-052-1/+2
| | | | llvm-svn: 61707
* elf writer really wants the size of the global, not the size Chris Lattner2009-01-041-3/+3
| | | | | | of the pointer to the global. llvm-svn: 61630
* The llvm::ELFWriter::EmitGlobal() method is calling theBill Wendling2009-01-041-0/+1
| | | | | | | | | | llvm::PATypeHolder::get() method when LLVM is self-hosted in Release mode. Before the parser changed, there was a definition of llvm::PAHolder::get() in llvmAsmParser.y. This was probably a bug that no-one noticed. Explicitly #include the Type.h file as a temporary fix for now. llvm-svn: 61620
* Fix a DAGCombiner abort on an invalid shift count constant. This fixes PR3250.Dan Gohman2009-01-031-0/+2
| | | | llvm-svn: 61613
* CommuteNodesToReducePressure() is now removed.Dan Gohman2009-01-031-1/+0
| | | | llvm-svn: 61612
* Remove the code from the scheduler that commuted two-addressDan Gohman2009-01-032-71/+0
| | | | | | | | | | | | | | instructions to avoid copies, because TwoAddressInstructionPass also does this optimization. The scheduler's version didn't account for live-out values, which resulted in spurious commutes and missed opportunities. Now, TwoAddressInstructionPass handles all the opportunities, instead of just those that the scheduler missed. The result is usually the same, though there are occasional trivial differences resulting from the avoidance of spurious commutes. llvm-svn: 61611
* Factorize (and generalize) the code promoting SELECTDuncan Sands2009-01-013-152/+105
| | | | | | | and BRCOND conditions. Reorder a few methods while there. llvm-svn: 61547
* Remove trailing spaces.Duncan Sands2009-01-012-33/+33
| | | | llvm-svn: 61545
* Fix PR3274: when promoting the condition of a BRCOND node,Duncan Sands2009-01-017-103/+130
| | | | | | | | | | promote from i1 all the way up to the canonical SetCC type. In order to discover an appropriate type to use, pass MVT::Other to getSetCCResultType. In order to be able to do this, change getSetCCResultType to take a type as an argument, not a value (this is also more logical). llvm-svn: 61542
* Get live interval reconstruction several steps closer to working.Owen Anderson2008-12-311-66/+86
| | | | llvm-svn: 61514
* Linux wants the FDE initial location and address range to be forced to 32-bit.Bill Wendling2008-12-291-2/+4
| | | | | | Darwin doesn't. Make this optional for platforms. llvm-svn: 61484
* The FDE initial location and address range data should be free to be 64-bitBill Wendling2008-12-291-2/+2
| | | | | | (quad) on a 64-bit platform. This fixes a problem with EH frames on Darwin. llvm-svn: 61483
* Add braces, as suggested by a gcc warning.Duncan Sands2008-12-291-4/+6
| | | | llvm-svn: 61465
* Teach LeaglizeDAG that i64 mul can be a libcall.Scott Michel2008-12-291-0/+2
| | | | llvm-svn: 61463
* Fix up kill/dead marking in the new live interval reconstruction code.Owen Anderson2008-12-281-6/+18
| | | | llvm-svn: 61460
* Add prototype code for recomputing a live interval's ranges and valnos ↵Owen Anderson2008-12-281-1/+260
| | | | | | through recursive phi construction. llvm-svn: 61458
* Darwin likes for the EH frame to be non-local.Bill Wendling2008-12-241-4/+16
| | | | llvm-svn: 61420
* GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sureBill Wendling2008-12-241-4/+16
| | | | | | about other platforms. llvm-svn: 61415
* Change comments so everybody can understand them, hopefully.Dale Johannesen2008-12-231-2/+2
| | | | llvm-svn: 61405
* Add another permutation where we should get rid of a-a.Dale Johannesen2008-12-231-4/+11
| | | | llvm-svn: 61401
* Restore debug printingAnton Korobeynikov2008-12-231-23/+26
| | | | llvm-svn: 61398
* Sometimes APInt syntax is really ugly... :(Anton Korobeynikov2008-12-231-10/+21
| | | | llvm-svn: 61397
* Indent stuff properlyAnton Korobeynikov2008-12-231-25/+25
| | | | llvm-svn: 61396
* Initial checkin of APInt'ififcation of switch loweringAnton Korobeynikov2008-12-232-127/+126
| | | | llvm-svn: 61395
* Fix typo.Devang Patel2008-12-231-1/+2
| | | | | | Silence unused variable warning. llvm-svn: 61391
* Silience unused warnings.Devang Patel2008-12-232-0/+4
| | | | llvm-svn: 61390
* Clean up the atomic opcodes in SelectionDAG.Dan Gohman2008-12-235-536/+139
| | | | | | | | | | | | | This removes all the _8, _16, _32, and _64 opcodes and replaces each group with an unsuffixed opcode. The MemoryVT field of the AtomicSDNode is now used to carry the size information. In tablegen, the size-specific opcodes are replaced by size-independent opcodes that utilize the ability to compose them with predicates. This shrinks the per-opcode tables and makes the code that handles atomics much more concise. llvm-svn: 61389
* Rename BuildSchedUnits to BuildSchedGraph, and refactor theDan Gohman2008-12-236-14/+24
| | | | | | code in ScheduleDAGSDNodes' BuildSchedGraph into separate functions. llvm-svn: 61376
* Use isTerminator() instead of isBranch()||isReturn() inDan Gohman2008-12-233-5/+4
| | | | | | | | several places. isTerminator() returns true for a superset of cases, and includes things like FP_REG_KILL, which are nither return or branch but aren't safe to move/remat/etc. llvm-svn: 61373
* Avoid an unnecessary call to allnodes_size(), which is linear.Dan Gohman2008-12-231-8/+11
| | | | llvm-svn: 61372
* Minor code simplifications.Dan Gohman2008-12-231-6/+6
| | | | llvm-svn: 61371
* One more permutation of subtracting off a base value.Dale Johannesen2008-12-231-0/+6
| | | | llvm-svn: 61361
* Refactor a bunch of code out of AsmPrinter::EmitGlobalConstant into separateDan Gohman2008-12-221-182/+207
| | | | | | functions. llvm-svn: 61345
* Optimize setDepthDirty and setHeightDirty a little, as they showedDan Gohman2008-12-221-10/+16
| | | | | | up on a profile. llvm-svn: 61344
OpenPOWER on IntegriCloud