summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-0341-104/+112
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* This initial code is meant to convert TargetData to use an AbstractTypesUser soBill Wendling2009-12-031-59/+38
| | | | | | | | | that it doesn't have dangling pointers when abstract types are resolved. This modifies it somewhat to address comments: making the "StructLayoutMap" an anonymous structure, calling "removeAbstractTypeUser" when appropriate, and adding asserts where helpful. llvm-svn: 90362
* Fix CMake makefilesDouglas Gregor2009-12-021-0/+1
| | | | llvm-svn: 90354
* Skeleton for MachineInstr level SSA updater.Evan Cheng2009-12-021-0/+108
| | | | llvm-svn: 90353
* Add MaxStackAlignment.cpp to CMakeJim Grosbach2009-12-021-0/+1
| | | | llvm-svn: 90337
* Factor the stack alignment calculations out into a target independent pass.Jim Grosbach2009-12-027-132/+75
| | | | | | No functionality change. llvm-svn: 90336
* Don't count PHI instructions toward the limit for tail duplicating a block.Bob Wilson2009-12-021-4/+6
| | | | llvm-svn: 90326
* Move EliminateDuplicatePHINodes() from SimplifyCFG.cpp to Local.cppJim Grosbach2009-12-022-63/+62
| | | | llvm-svn: 90324
* Cheap, mostly strict, stable sorting.Andreas Neustifter2009-12-021-0/+13
| | | | | | This is necessary for tests so the results are comparable. llvm-svn: 90320
* Silence compiler warnings.Benjamin Kramer2009-12-021-2/+2
| | | | llvm-svn: 90319
* Clarify that DIEString does not keep a copy of the string.Devang Patel2009-12-022-3/+3
| | | | llvm-svn: 90318
* Cleanup/remove some parts of the lifetime region handling code in memdep and ↵Owen Anderson2009-12-022-24/+19
| | | | | | | | GVN, per Chris' comments. Adjust testcases to match. llvm-svn: 90304
* factor some code better.Chris Lattner2009-12-021-10/+10
| | | | llvm-svn: 90299
* formatting cleanups.Chris Lattner2009-12-021-20/+22
| | | | llvm-svn: 90298
* tidy up, remove dependence on order of evaluation of function args from ↵Chris Lattner2009-12-021-15/+12
| | | | | | EmitMemCpy. llvm-svn: 90297
* Fixed an assertion failure for tracking sext of a vector of integersMon P Wang2009-12-021-1/+1
| | | | llvm-svn: 90290
* Add utility routine to create subprogram definition entry from subprogram ↵Devang Patel2009-12-011-0/+23
| | | | | | declaration entry. llvm-svn: 90282
* Reuse existing subprogram DIE.Devang Patel2009-12-011-2/+7
| | | | llvm-svn: 90281
* return more useful error messages by using strerror to format errnoChris Lattner2009-12-011-3/+3
| | | | | | instead of returning an ambiguous reason. llvm-svn: 90275
* Fix PR5391: support early clobber physical register def tied with a use (ewwww)Evan Cheng2009-12-012-4/+12
| | | | | | | | - A valno should be set HasRedefByEC if there is an early clobber def in the middle of its live ranges. It should not be set if the def of the valno is defined by an early clobber. - If a physical register def is tied to an use and it's an early clobber, it just means the HasRedefByEC is set since it's still one continuous live range. - Add a couple of missing checks for HasRedefByEC in the coalescer. In general, it should not coalesce a vr with a physical register if the physical register has a early clobber def somewhere. This is overly conservative but that's the price for using such a nasty inline asm "feature". llvm-svn: 90269
* rename some variables.Chris Lattner2009-12-011-13/+13
| | | | llvm-svn: 90258
* tidyChris Lattner2009-12-011-1/+3
| | | | llvm-svn: 90257
* Add edge source labels to SelectionDAG graphs, now that the graph printingDan Gohman2009-12-011-0/+5
| | | | | | | framework omits differentiated edge sources in the case where the labels are empty strings. llvm-svn: 90254
* Minor cleanups.Dan Gohman2009-12-011-9/+9
| | | | llvm-svn: 90253
* Trim an unnecessary #include.Dan Gohman2009-12-011-1/+0
| | | | llvm-svn: 90252
* Clear function specific containers while processing end of a function, even ↵Devang Patel2009-12-011-9/+7
| | | | | | if DW_TAG_subprogram for current function is not found. llvm-svn: 90247
* Thumb1 exception handling setjmpJim Grosbach2009-12-013-0/+42
| | | | llvm-svn: 90246
* For VLDM/VSTM (Advanced SIMD), set encoding bits Inst{11-8} to 0b1011.Johnny Chen2009-12-011-2/+2
| | | | llvm-svn: 90243
* Move PHIElimination::isLiveOut method to LiveVariables.Jakob Stoklund Olesen2009-12-013-54/+47
| | | | | | | | We want LiveVariables clients to use methods rather than accessing the getVarInfo data structure directly. That way it will be possible to change the LiveVariables representation. llvm-svn: 90240
* fix 255.vortex again, third time's the charm.Chris Lattner2009-12-011-2/+35
| | | | llvm-svn: 90217
* fix PR5640 by tracking whether a block is the header of a loop moreChris Lattner2009-12-011-3/+9
| | | | | | precisely, which prevents us from infinitely peeling the loop. llvm-svn: 90211
* Use CFG connectedness as a secondary sort key when deciding the order of ↵Jakob Stoklund Olesen2009-12-011-3/+13
| | | | | | | | | copy coalescing. This means that well connected blocks are copy coalesced before the less connected blocks. Connected blocks are more difficult to coalesce because intervals are more complicated, so handling them first gives a greater chance of success. llvm-svn: 90194
* Devang pointed out that this code should use DIScope instead ofDan Gohman2009-12-011-3/+3
| | | | | | DICompileUnit. This code now prints debug filenames successfully. llvm-svn: 90181
* Fix PR5614: parts of a physical register def may be killed the rest.Evan Cheng2009-12-011-1/+47
| | | | llvm-svn: 90180
* For VMOV (immediate), make some of the encoding bits (cmode and op) unspecified.Johnny Chen2009-12-011-4/+4
| | | | | | | | For VMOVv*i[16,32], op bit is don't care, and some cmode bits vary depending on the immediate values. Ref: Table A7-15 Modified immediate values for Advanced SIMD instructions. llvm-svn: 90173
* If pointer type has a name then do not ignore the name.Devang Patel2009-11-301-1/+1
| | | | llvm-svn: 90172
* Minor whitespace fixes.Dan Gohman2009-11-302-2/+1
| | | | llvm-svn: 90166
* Fix a minor inconsistency.Dan Gohman2009-11-301-1/+1
| | | | llvm-svn: 90165
* New virtual registers created for spill intervals should inherit allocation ↵Jakob Stoklund Olesen2009-11-301-0/+6
| | | | | | | | | | | | | | | | | | | hints from the original register. This helps us avoid silly copies when rematting values that are copied to a physical register: leaq _.str44(%rip), %rcx movq %rcx, %rsi call _strcmp becomes: leaq _.str44(%rip), %rsi call _strcmp The coalescer will not touch the movq because that would tie down the physical register. llvm-svn: 90163
* Reprioritize tests for tail duplication to be aggressive about indirectBob Wilson2009-11-301-3/+3
| | | | | | | | branches even when optimizing for code size. Unless we find evidence to the contrary in the future, the special treatment for indirect branches does not have a significant effect on code size, and performance still matters with -Os. llvm-svn: 90147
* Remove isProfitableToDuplicateIndirectBranch target hook. It is profitableBob Wilson2009-11-307-21/+1
| | | | | | | | | for all the processors where I have tried it, and even when it might not help performance, the cost is quite low. The opportunities for duplicating indirect branches are limited by other factors so code size does not change much due to tail duplicating indirect branches aggressively. llvm-svn: 90144
* Fix some more ARM unified syntax warnings.Bob Wilson2009-11-301-4/+4
| | | | llvm-svn: 90141
* Fix last DOTGraphTraits problems in CompilationGraph.Tobias Grosser2009-11-302-1/+2
| | | | llvm-svn: 90136
* Remove forgotten ShortNames in Trie and CompilationGraphTobias Grosser2009-11-301-2/+1
| | | | llvm-svn: 90135
* Remove ShortNames from getNodeLabel in DOTGraphTraitsTobias Grosser2009-11-304-39/+35
| | | | llvm-svn: 90134
* Instantiate DefaultDOTGraphTraitsTobias Grosser2009-11-304-2/+21
| | | | llvm-svn: 90133
* Small PostDominatorTree improvementsTobias Grosser2009-11-301-3/+9
| | | | | | | * Do not SEGFAULT if tree entryNode() is NULL * Print function names in dotty printer llvm-svn: 90130
* Revert r90107, fixing test/Transforms/GVN/2009-11-29-ReverseMap.ll and theNick Lewycky2009-11-301-15/+2
| | | | | | llvm-gcc build. llvm-svn: 90113
* Added support to allow clients to custom widen. For X86, custom widen ↵Mon P Wang2009-11-306-56/+113
| | | | | | | | | vectors for divide/remainder since these operations can trap by unroll them and adding undefs for the resulting vector. llvm-svn: 90108
* reapply r90093 with an addition of keeping the forwardChris Lattner2009-11-301-2/+15
| | | | | | | and reverse nonlocal memdep maps in synch, this should fix 255.vortex. llvm-svn: 90107
OpenPOWER on IntegriCloud