summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Do not assert when reading an exponent out of range.Dale Johannesen2010-08-191-0/+1
| | | | llvm-svn: 111534
* Add Thumb1 support for virtual frame indices.Jim Grosbach2010-08-193-132/+160
| | | | | | rdar://8277890 llvm-svn: 111533
* Remove disabled assertion.Evan Cheng2010-08-191-2/+0
| | | | llvm-svn: 111531
* Teach machine-sink to break critical edges when appropriate. Work in progress.Evan Cheng2010-08-191-8/+99
| | | | llvm-svn: 111530
* Silence warning.Eric Christopher2010-08-191-1/+1
| | | | llvm-svn: 111518
* MCELF: Count the section orders properly. Patch by Roman Divacky.Benjamin Kramer2010-08-191-7/+7
| | | | llvm-svn: 111517
* Update local stack block allocation to let PEI do the allocs if no additionalJim Grosbach2010-08-192-3/+12
| | | | | | | base registers were required. This will allow for slightly better packing of the locals when alignment padding is necessary after callee saved registers. llvm-svn: 111508
* Revert r111199; it breaks -debug-pass=Structure output.Dan Gohman2010-08-194-22/+14
| | | | llvm-svn: 111500
* fix PR7465, mishandling of lcall and ljmp: intersegment long Chris Lattner2010-08-194-12/+28
| | | | | | call and jumps. llvm-svn: 111496
* Process the step before the start, because it's usually the simplerDan Gohman2010-08-191-3/+3
| | | | | | of the two. llvm-svn: 111495
* minor progress towards fixing PR7465Chris Lattner2010-08-191-2/+2
| | | | llvm-svn: 111494
* Add an AddOptionalDefs method and use it.Eric Christopher2010-08-191-21/+64
| | | | llvm-svn: 111489
* Add the "isCompare" attribute to the defm instead of each individual instr.Bill Wendling2010-08-191-3/+1
| | | | llvm-svn: 111481
* Don't call Predicate_* in Mips.Jakob Stoklund Olesen2010-08-182-9/+4
| | | | llvm-svn: 111468
* Remove extra header.Eric Christopher2010-08-181-1/+0
| | | | llvm-svn: 111456
* Add a newline to debug outputJim Grosbach2010-08-181-1/+2
| | | | llvm-svn: 111453
* refix PR1143 by making basicaa analyze zexts of indices aggresively,Chris Lattner2010-08-181-11/+30
| | | | | | which I broke with a recent patch. llvm-svn: 111452
* If any def of a machine-sink candidate has local uses, it's obviously not ↵Evan Cheng2010-08-181-5/+18
| | | | | | safe to sink it to a successor block. This bug has been hidden because a later check for critical-edge disable these illegal optimizations. This patch should significantly reduce the amount of time spent on checking dominator information for obviously unsafe sinking. llvm-svn: 111450
* GetLinearExpression is only called when TD is non-null, pass as Chris Lattner2010-08-181-4/+4
| | | | | | a reference instead of pointer. llvm-svn: 111445
* rework GEP decomposition to make a new VariableGEPIndex struct instead ofChris Lattner2010-08-181-19/+39
| | | | | | | using a pair. This tidies up the code a bit. While setting things up, add a (currently unused) field to keep track of how the value is extended. llvm-svn: 111444
* Enable ARM base register reuse to local stack slot allocation. Whenever a newJim Grosbach2010-08-182-10/+102
| | | | | | | | | frame index reference to an object in the local block is seen, check if it's near enough to any previously allocaated base register to re-use. rdar://8277890 llvm-svn: 111443
* Make raw_fd_ostream consider itself the owner of STDOUT_FILENO whenDan Gohman2010-08-181-2/+5
| | | | | | | | | constructed with an output filename of "-". In particular, allow the file descriptor to be closed, and close the file descriptor in the destructor if it hasn't been explicitly closed already, to ensure that any write errors are detected. llvm-svn: 111436
* move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner2010-08-182-223/+229
| | | | | | | | | decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. llvm-svn: 111433
* Tidy.Dan Gohman2010-08-181-5/+4
| | | | llvm-svn: 111432
* Minor simplification. Gets rid of a needless temporary.Bill Wendling2010-08-181-4/+3
| | | | llvm-svn: 111430
* Use ConstantRange to propagate information through value definitions.Owen Anderson2010-08-181-4/+83
| | | | llvm-svn: 111425
* Thinking about it, we don't need MachineDominatorTree after all. The DomValueJakob Stoklund Olesen2010-08-182-19/+26
| | | | | | map discovers the iterated dominance frontier for free. llvm-svn: 111400
* Revert r111394. It was too aggressive.Jakob Stoklund Olesen2010-08-181-3/+3
| | | | | | | | | | We must complete the DFS, otherwise we might miss needed phi-defs, and prematurely color live ranges with a non-dominating value. This is not a big deal since we get to color more of the CFG and the next mapValue call will be faster. llvm-svn: 111397
* Aggressively prune the DFS when inserting phi-defs.Jakob Stoklund Olesen2010-08-181-3/+3
| | | | llvm-svn: 111394
* Add the LiveIntervalMap class. Don't hook it up yet.Jakob Stoklund Olesen2010-08-182-1/+279
| | | | | | | | | | | | | | | | LiveIntervalMap maps values from a parent LiveInterval to a child interval that is a strict subset. It will create phi-def values as needed to preserve the VNInfo SSA form in the child interval. This leads to an algorithm very similar to the one in SSAUpdaterImpl.h, but with enough differences that the code can't be reused: - We don't need to manipulate PHI instructions. - LiveIntervals have kills. - We have MachineDominatorTree. - We can use df_iterator. llvm-svn: 111393
* Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. TheDaniel Dunbar2010-08-182-213/+222
| | | | | | form of", it doesn't pass tests. llvm-svn: 111385
* Improve whitespace.Bill Wendling2010-08-181-1/+2
| | | | llvm-svn: 111384
* Marked with ATTRIBUTE_USED so that clang doesn't complain.Bill Wendling2010-08-181-1/+1
| | | | llvm-svn: 111383
* Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer ↵Owen Anderson2010-08-182-21/+54
| | | | | | issues. llvm-svn: 111382
* MC/ELF: Allow null values in virtual sections, ELF doesn't use specialDaniel Dunbar2010-08-181-1/+16
| | | | | | directives for putting contents in .bss, for example. llvm-svn: 111376
* move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner2010-08-182-222/+213
| | | | | | | decomposition that it is doing is very basicaa specific and is only used by basicaa. llvm-svn: 111375
* Add hook for re-using virtual base registers for local stack slot access.Jim Grosbach2010-08-183-12/+49
| | | | | | | | | | Nothing fancy, just ask the target if any currently available base reg is in range for the instruction under consideration and use the first one that is. Placeholder ARM implementation simply returns false for now. ongoing saga of rdar://8277890 llvm-svn: 111374
* Preserve subregs on PHI source operands. Patch by Krister Wombell!Jakob Stoklund Olesen2010-08-181-1/+4
| | | | llvm-svn: 111366
* Fix a bug with insertelement on SPU. Kalle Raiskila2010-08-181-6/+11
| | | | | | | The previous algorithm in LowerVECTOR_SHUFFLE didn't check all requirements for "monotonic" shuffles. llvm-svn: 111361
* Remove all traces of v2[i,f]32 on SPU. Kalle Raiskila2010-08-185-110/+4
| | | | | | | | The "half vectors" are now widened to full size by the legalizer. The only exception is in parameter passing, where half vectors are expanded. This causes changes to some dejagnu tests. llvm-svn: 111360
* Change SPU C calling convention to match that described in Kalle Raiskila2010-08-181-11/+12
| | | | | | | | "SPU Application Binary Interface Specification, v1.9" by IBM. Specifically: use r3-r74 to pass parameters and the return value. llvm-svn: 111358
* fix PR7589: In brief:Chris Lattner2010-08-181-3/+3
| | | | | | | | | gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. llvm-svn: 111352
* Fix PR7755: knowing something about an inval for a predChris Lattner2010-08-181-8/+4
| | | | | | | | | from the LHS should disable reconsidering that pred on the RHS. However, knowing something about the pred on the RHS shouldn't disable subsequent additions on the RHS from happening. llvm-svn: 111349
* fit in 80 colsChris Lattner2010-08-181-2/+3
| | | | llvm-svn: 111348
* remove some dead code.Chris Lattner2010-08-182-12/+0
| | | | llvm-svn: 111345
* remove some dead code.Chris Lattner2010-08-183-15/+4
| | | | llvm-svn: 111344
* remove some code that is dead now that lea's are modeled with segment registers.Chris Lattner2010-08-181-14/+0
| | | | llvm-svn: 111343
* remove dead prototype.Chris Lattner2010-08-181-2/+1
| | | | llvm-svn: 111342
* Expand ZERO_EXTEND operations for NEON vector types.Bob Wilson2010-08-181-0/+1
| | | | | | Testcase from Nick Lewycky. llvm-svn: 111341
* Revert r111321. This doesn't fix a problem.Dan Gohman2010-08-181-23/+19
| | | | llvm-svn: 111339
OpenPOWER on IntegriCloud