summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* More two-address fixes. This gets lua working with join-creation enabled.Owen Anderson2009-01-121-6/+10
| | | | llvm-svn: 62073
* CheckForPhysRegDependency should not return copy cost. It's not used. No ↵Evan Cheng2009-01-111-9/+4
| | | | | | functionality change. llvm-svn: 62036
* Reduce initial small vector sizes.Devang Patel2009-01-101-6/+6
| | | | llvm-svn: 62023
* Fix thinko. Create parent scope if parent descriptor is *not* null.Devang Patel2009-01-101-2/+2
| | | | llvm-svn: 62022
* Duplicated node may produce a non-physical register def.Evan Cheng2009-01-091-3/+5
| | | | llvm-svn: 62015
* Minor debug output tweak.Evan Cheng2009-01-091-2/+2
| | | | llvm-svn: 62005
* Request DwarfWriter. This will be used to handle dbg_* intrinsics.Devang Patel2009-01-092-2/+7
| | | | llvm-svn: 61999
* Removed trailing whitespace from Makefiles.Misha Brukman2009-01-093-6/+6
| | | | llvm-svn: 61991
* Convert DwarfWriter into a pass.Devang Patel2009-01-081-12/+13
| | | | | | Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly. llvm-svn: 61955
* Delete unnecessary parens around return values.Dan Gohman2009-01-082-2/+2
| | | | llvm-svn: 61950
* Add DebugInfo based APIs to record source line info.Devang Patel2009-01-081-4/+43
| | | | llvm-svn: 61928
* * Moved author attribution to CREDITS.TXTMisha Brukman2009-01-081-4/+1
| | | | | | * Removed trailing whitespace llvm-svn: 61927
* * Alphabetized #includesMisha Brukman2009-01-081-56/+56
| | | | | | * Removed trailing whitespace llvm-svn: 61926
* Add APIs to record regions and variables.Devang Patel2009-01-081-0/+27
| | | | | | Again, shamelessly copied from MMI. llvm-svn: 61912
* Add APIs to manage scope using DebugInfo interface.Devang Patel2009-01-081-0/+297
| | | | | | This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future. llvm-svn: 61908
* Remove redundant 'else's. No functionality change.Dan Gohman2009-01-071-7/+6
| | | | llvm-svn: 61891
* The coalescer does not coalesce a virtual register to a physical register if ↵Evan Cheng2009-01-072-20/+84
| | | | | | | | | | | | | | any of the physical register's sub-register live intervals overlaps with the virtual register. This is overly conservative. It prevents a extract_subreg from being coalesced away: v1024 = EDI // not killed = = EDI One possible solution is for the coalescer to examine the sub-register live intervals in the same manner as the physical register. Another possibility is to examine defs and uses (when needed) of sub-registers. Both solutions are too expensive. For now, look for "short virtual intervals" and scan instructions to look for conflict instead. This is a small win on x86-64. e.g. It shaves 403.gcc by ~80 instructions. llvm-svn: 61847
* Fix a bug in ComputeLinearIndex computation handling multi-levelDan Gohman2009-01-061-1/+3
| | | | | | | | aggregate types. Don't increment the current index after reaching the end of a struct, as it will already be pointing at one-past-the end. This fixes PR3288. llvm-svn: 61828
* Set up DwarfDebug using DebugInfo API.Devang Patel2009-01-061-0/+33
| | | | llvm-svn: 61822
* Forgot that this was needed for Linux. This should fix the builds.Bill Wendling2009-01-061-2/+2
| | | | llvm-svn: 61819
* The phi construction algorithm used for interval reconstruction is ↵Owen Anderson2009-01-061-13/+27
| | | | | | | | | | | complicated by two address instructions. We need to keep track of things we've processed AS USES independetly of whether we've processed them as defs. This fixes all known miscompilations when reconstruction is turned on. llvm-svn: 61802
* Update these argument lists for the isNormalMemoryDan Gohman2009-01-061-3/+6
| | | | | | argument. This doesn't affect current functionality. llvm-svn: 61779
* Use a latency value of 0 for the artificial edges inserted byDan Gohman2009-01-061-1/+1
| | | | | | | | | | | | AddPseudoTwoAddrDeps. This lets the scheduling infrastructure avoid recalculating node heights. In very large testcases this was a major bottleneck. Thanks to Roman Levenstein for finding this! As a side effect, fold-pcmpeqd-0.ll is now scheduled better and it no longer requires spilling on x86-32. llvm-svn: 61778
* Construct subprogram DIEs using DebugInfo.Devang Patel2009-01-051-0/+39
| | | | llvm-svn: 61772
* Construct global variable DIEs using DebugInfo.Devang Patel2009-01-051-1/+48
| | | | llvm-svn: 61771
* 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
OpenPOWER on IntegriCloud