summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add correct NEON encodings for vqshl, vqshrn, vqshrun, vqrshl, vqshrn, and ↵Owen Anderson2010-10-261-8/+8
| | | | | | vqrshrun. llvm-svn: 117411
* First part of refactoring ARM addrmode2 (load/store) instructions to be moreJim Grosbach2010-10-2614-65/+314
| | | | | | | | explicit about the operands. Split out the different variants into separate instructions. This gives us the ability to, among other things, assign different scheduling itineraries to the variants. rdar://8477752. llvm-svn: 117409
* After splitting, compute connected components of all new registers, not just forJakob Stoklund Olesen2010-10-262-17/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the remainder register. Example: bb0: x = 1 bb1: use(x) ... x = 2 jump bb1 When x is isolated in bb1, the inner part breaks into two components, x1 and x2: bb0: x0 = 1 bb1: x1 = x0 use(x1) ... x2 = 2 x0 = x2 jump bb1 llvm-svn: 117408
* Verify that live intervals are connected. If there are multiple connectedJakob Stoklund Olesen2010-10-261-1/+9
| | | | | | components, each should get its own virtual register. llvm-svn: 117407
* Call RenumberValues for all new registers created during splitting. This isJakob Stoklund Olesen2010-10-261-1/+2
| | | | | | necessary to get correct hasPHIKill flags. llvm-svn: 117406
* Preserve PHIDef bits in cloned values during splitting.Jakob Stoklund Olesen2010-10-261-0/+4
| | | | llvm-svn: 117405
* Assign source ordering to nodes created for StoreInst.Devang Patel2010-10-261-2/+5
| | | | llvm-svn: 117404
* Correct NEON encodings for vshrn, vrshl, vrshr, vrshrn.Owen Anderson2010-10-261-4/+4
| | | | llvm-svn: 117402
* Simplify classes for shift instructions, which are never commutable.Owen Anderson2010-10-261-19/+19
| | | | llvm-svn: 117398
* Provide correct NEON encodings for vshl, register and immediate forms.Owen Anderson2010-10-262-2/+81
| | | | llvm-svn: 117394
* Teach MachineBasicBlock::print() to annotate instructions and blocks withJakob Stoklund Olesen2010-10-264-20/+29
| | | | | | SlotIndexes when available. llvm-svn: 117392
* Remmeber to print full live interval on verification error.Jakob Stoklund Olesen2010-10-261-4/+7
| | | | llvm-svn: 117391
* Add support for .ident.Rafael Espindola2010-10-261-0/+32
| | | | llvm-svn: 117389
* Grammar.Jim Grosbach2010-10-261-1/+1
| | | | llvm-svn: 117388
* Nuke extraneous comment. It's applicable elsewhere, but not in this func.Jim Grosbach2010-10-261-2/+0
| | | | llvm-svn: 117387
* Jakob's review of the basic register allocator.Andrew Trick2010-10-264-113/+160
| | | | llvm-svn: 117384
* Add correct NEON encoding for vpadal.Owen Anderson2010-10-261-6/+6
| | | | llvm-svn: 117380
* handle X86::EH_RETURN64 and X86::EH_RETURN.Rafael Espindola2010-10-261-0/+17
| | | | llvm-svn: 117378
* s/beginScope/beginInstruction/gDevang Patel2010-10-263-10/+10
| | | | | | s/endScope/endInstruction/g llvm-svn: 117376
* Add NEON encodings for vmov and vmvn of immediates.Owen Anderson2010-10-262-12/+40
| | | | llvm-svn: 117374
* Don't verify physical registers going into landing pads.Jakob Stoklund Olesen2010-10-261-0/+8
| | | | | | Magic is happening that we don't understand. llvm-svn: 117370
* Implement some relaxations for arithmetic instructions. The limitationRafael Espindola2010-10-261-12/+92
| | | | | | | on RIP relative relocations looks artificial, but this is a superset of what we were able to do before. llvm-svn: 117364
* Change v64 datalayout in SPU.Kalle Raiskila2010-10-261-1/+1
| | | | | | | | | | | | | | The SPU ABI does not mention v64, and all examples in C suggest v128 are treated similarily to arrays, we use array alignment for v64 too. This makes the alignment of e.g. [2 x <2 x i32>] behave "intuitively" and similar to as if the elements were e.g. i32s. This also makes an "unaligned store" test to be aligned, with different (but functionally equivalent) code generated. llvm-svn: 117360
* Use instruction itinerary to determine what instructions are 'cheap'.Evan Cheng2010-10-264-4/+63
| | | | llvm-svn: 117348
* NEON vmov's are in Neon domain.Evan Cheng2010-10-261-1/+1
| | | | llvm-svn: 117347
* For statistics that are only used in functions declared in !NDEBUG, wrap theNick Lewycky2010-10-262-0/+5
| | | | | | | declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by Matt Beaumont-Gay! llvm-svn: 117345
* InlineSpiller can also update LiveStacks.Jakob Stoklund Olesen2010-10-261-0/+9
| | | | llvm-svn: 117338
* Make the spiller responsible for updating the LiveStacks analysis.Jakob Stoklund Olesen2010-10-263-34/+20
| | | | llvm-svn: 117337
* When the "true" and "false" blocks of a diamond if-conversion are the same,Bob Wilson2010-10-261-52/+46
| | | | | | | | | | | | | | | | do not double-count the duplicate instructions by counting once from the beginning and again from the end. Keep track of where the duplicates from the beginning ended and don't go past that point when counting duplicates at the end. Radar 8589805. This change causes one of the MC/ARM/simple-fp-encoding tests to produce different (better!) code without the vmovne instruction being tested. I changed the test to produce vmovne and vmoveq instructions but moving between register files in the opposite direction. That's not quite the same but predicated versions of those instructions weren't being tested before, so at least the test coverage is not any worse, just different. llvm-svn: 117333
* Change if-conversion to keep track of the extra cost due to microcodedBob Wilson2010-10-261-11/+25
| | | | | | | | | instructions separately from the count of non-predicated instructions. The instruction count is used in places to determine how many instructions to copy, predicate, etc. and things get confused if that count includes the extra cost for microcoded ops. llvm-svn: 117332
* Tidy up redundant check.Bob Wilson2010-10-261-1/+1
| | | | llvm-svn: 117331
* Neuter r117193 as it causes significant post-ra scheduler compile time ↵Evan Cheng2010-10-251-2/+2
| | | | | | regression. llvm-svn: 117329
* Produce the headers directly in the Finish method. This allows us to useRafael Espindola2010-10-251-21/+15
| | | | | | the existing streamer methods that are endian safe. llvm-svn: 117323
* An stdcall function calling a non-stdcall functionDale Johannesen2010-10-251-0/+5
| | | | | | cannot use tailcall. PR 8461. llvm-svn: 117322
* Support TBAA attachments on calls. This is somewhat experimental.Dan Gohman2010-10-251-0/+36
| | | | llvm-svn: 117317
* Simplify.Devang Patel2010-10-251-9/+9
| | | | | | Do not count use of sdisel for single call instruction. llvm-svn: 117316
* Add correct encodings for NEON vabal.Owen Anderson2010-10-251-5/+5
| | | | llvm-svn: 117315
* Fix chaining in TBAA's pointsToConstantMemory.Dan Gohman2010-10-251-1/+1
| | | | llvm-svn: 117314
* Add counters to count basic blocks and machine basic blocks with out of ↵Devang Patel2010-10-251-4/+63
| | | | | | | | order line number info. Add counters to count how many basic blocks are entirely selected by fastisel. llvm-svn: 117310
* Add correct NEON encodings for vaba.Owen Anderson2010-10-251-8/+8
| | | | llvm-svn: 117309
* Add simple counter to count no. of basic blocks without any line number ↵Devang Patel2010-10-251-0/+28
| | | | | | information. At -O0, these basic block coule cause less than optimial debugging experience. llvm-svn: 117307
* Only read one bit for testing for a readonly type, leaving the otherDan Gohman2010-10-251-2/+1
| | | | | | bits open for future uses. llvm-svn: 117301
* MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.Daniel Dunbar2010-10-251-12/+14
| | | | llvm-svn: 117299
* MC/AsmLexer: Fix bug in source location for Slash token.Daniel Dunbar2010-10-251-1/+1
| | | | llvm-svn: 117298
* Attempt to provide correct encodings for NEON vbit and vbif, even though we ↵Owen Anderson2010-10-251-8/+10
| | | | | | can't test them at the moment. llvm-svn: 117294
* Provide correct NEON encodings for vbsl.Owen Anderson2010-10-251-12/+12
| | | | llvm-svn: 117293
* imm12 operands aren't Thumb2 only, so rename the printer helper function.Jim Grosbach2010-10-253-6/+5
| | | | llvm-svn: 117291
* Add a comment.Dan Gohman2010-10-251-1/+3
| | | | llvm-svn: 117288
* Add correct instruction encodings for vbic, vorn, and vmvn.Owen Anderson2010-10-252-1/+22
| | | | llvm-svn: 117282
* Add a virtual destructor.Rafael Espindola2010-10-251-0/+1
| | | | llvm-svn: 117280
OpenPOWER on IntegriCloud