Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add correct NEON encodings for vqshl, vqshrn, vqshrun, vqrshl, vqshrn, and ↵ | Owen Anderson | 2010-10-26 | 1 | -8/+8 |
| | | | | | | vqrshrun. llvm-svn: 117411 | ||||
* | First part of refactoring ARM addrmode2 (load/store) instructions to be more | Jim Grosbach | 2010-10-26 | 14 | -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 for | Jakob Stoklund Olesen | 2010-10-26 | 2 | -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 connected | Jakob Stoklund Olesen | 2010-10-26 | 1 | -1/+9 |
| | | | | | | components, each should get its own virtual register. llvm-svn: 117407 | ||||
* | Call RenumberValues for all new registers created during splitting. This is | Jakob Stoklund Olesen | 2010-10-26 | 1 | -1/+2 |
| | | | | | | necessary to get correct hasPHIKill flags. llvm-svn: 117406 | ||||
* | Preserve PHIDef bits in cloned values during splitting. | Jakob Stoklund Olesen | 2010-10-26 | 1 | -0/+4 |
| | | | | llvm-svn: 117405 | ||||
* | Assign source ordering to nodes created for StoreInst. | Devang Patel | 2010-10-26 | 1 | -2/+5 |
| | | | | llvm-svn: 117404 | ||||
* | Correct NEON encodings for vshrn, vrshl, vrshr, vrshrn. | Owen Anderson | 2010-10-26 | 1 | -4/+4 |
| | | | | llvm-svn: 117402 | ||||
* | Simplify classes for shift instructions, which are never commutable. | Owen Anderson | 2010-10-26 | 1 | -19/+19 |
| | | | | llvm-svn: 117398 | ||||
* | Provide correct NEON encodings for vshl, register and immediate forms. | Owen Anderson | 2010-10-26 | 2 | -2/+81 |
| | | | | llvm-svn: 117394 | ||||
* | Teach MachineBasicBlock::print() to annotate instructions and blocks with | Jakob Stoklund Olesen | 2010-10-26 | 4 | -20/+29 |
| | | | | | | SlotIndexes when available. llvm-svn: 117392 | ||||
* | Remmeber to print full live interval on verification error. | Jakob Stoklund Olesen | 2010-10-26 | 1 | -4/+7 |
| | | | | llvm-svn: 117391 | ||||
* | Add support for .ident. | Rafael Espindola | 2010-10-26 | 1 | -0/+32 |
| | | | | llvm-svn: 117389 | ||||
* | Grammar. | Jim Grosbach | 2010-10-26 | 1 | -1/+1 |
| | | | | llvm-svn: 117388 | ||||
* | Nuke extraneous comment. It's applicable elsewhere, but not in this func. | Jim Grosbach | 2010-10-26 | 1 | -2/+0 |
| | | | | llvm-svn: 117387 | ||||
* | Jakob's review of the basic register allocator. | Andrew Trick | 2010-10-26 | 4 | -113/+160 |
| | | | | llvm-svn: 117384 | ||||
* | Add correct NEON encoding for vpadal. | Owen Anderson | 2010-10-26 | 1 | -6/+6 |
| | | | | llvm-svn: 117380 | ||||
* | handle X86::EH_RETURN64 and X86::EH_RETURN. | Rafael Espindola | 2010-10-26 | 1 | -0/+17 |
| | | | | llvm-svn: 117378 | ||||
* | s/beginScope/beginInstruction/g | Devang Patel | 2010-10-26 | 3 | -10/+10 |
| | | | | | | s/endScope/endInstruction/g llvm-svn: 117376 | ||||
* | Add NEON encodings for vmov and vmvn of immediates. | Owen Anderson | 2010-10-26 | 2 | -12/+40 |
| | | | | llvm-svn: 117374 | ||||
* | Don't verify physical registers going into landing pads. | Jakob Stoklund Olesen | 2010-10-26 | 1 | -0/+8 |
| | | | | | | Magic is happening that we don't understand. llvm-svn: 117370 | ||||
* | Implement some relaxations for arithmetic instructions. The limitation | Rafael Espindola | 2010-10-26 | 1 | -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 Raiskila | 2010-10-26 | 1 | -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 Cheng | 2010-10-26 | 4 | -4/+63 |
| | | | | llvm-svn: 117348 | ||||
* | NEON vmov's are in Neon domain. | Evan Cheng | 2010-10-26 | 1 | -1/+1 |
| | | | | llvm-svn: 117347 | ||||
* | For statistics that are only used in functions declared in !NDEBUG, wrap the | Nick Lewycky | 2010-10-26 | 2 | -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 Olesen | 2010-10-26 | 1 | -0/+9 |
| | | | | llvm-svn: 117338 | ||||
* | Make the spiller responsible for updating the LiveStacks analysis. | Jakob Stoklund Olesen | 2010-10-26 | 3 | -34/+20 |
| | | | | llvm-svn: 117337 | ||||
* | When the "true" and "false" blocks of a diamond if-conversion are the same, | Bob Wilson | 2010-10-26 | 1 | -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 microcoded | Bob Wilson | 2010-10-26 | 1 | -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 Wilson | 2010-10-26 | 1 | -1/+1 |
| | | | | llvm-svn: 117331 | ||||
* | Neuter r117193 as it causes significant post-ra scheduler compile time ↵ | Evan Cheng | 2010-10-25 | 1 | -2/+2 |
| | | | | | | regression. llvm-svn: 117329 | ||||
* | Produce the headers directly in the Finish method. This allows us to use | Rafael Espindola | 2010-10-25 | 1 | -21/+15 |
| | | | | | | the existing streamer methods that are endian safe. llvm-svn: 117323 | ||||
* | An stdcall function calling a non-stdcall function | Dale Johannesen | 2010-10-25 | 1 | -0/+5 |
| | | | | | | cannot use tailcall. PR 8461. llvm-svn: 117322 | ||||
* | Support TBAA attachments on calls. This is somewhat experimental. | Dan Gohman | 2010-10-25 | 1 | -0/+36 |
| | | | | llvm-svn: 117317 | ||||
* | Simplify. | Devang Patel | 2010-10-25 | 1 | -9/+9 |
| | | | | | | Do not count use of sdisel for single call instruction. llvm-svn: 117316 | ||||
* | Add correct encodings for NEON vabal. | Owen Anderson | 2010-10-25 | 1 | -5/+5 |
| | | | | llvm-svn: 117315 | ||||
* | Fix chaining in TBAA's pointsToConstantMemory. | Dan Gohman | 2010-10-25 | 1 | -1/+1 |
| | | | | llvm-svn: 117314 | ||||
* | Add counters to count basic blocks and machine basic blocks with out of ↵ | Devang Patel | 2010-10-25 | 1 | -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 Anderson | 2010-10-25 | 1 | -8/+8 |
| | | | | llvm-svn: 117309 | ||||
* | Add simple counter to count no. of basic blocks without any line number ↵ | Devang Patel | 2010-10-25 | 1 | -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 other | Dan Gohman | 2010-10-25 | 1 | -2/+1 |
| | | | | | | bits open for future uses. llvm-svn: 117301 | ||||
* | MC/AsmParser: Fix relative precedence of {+,-} and comparison ops. | Daniel Dunbar | 2010-10-25 | 1 | -12/+14 |
| | | | | llvm-svn: 117299 | ||||
* | MC/AsmLexer: Fix bug in source location for Slash token. | Daniel Dunbar | 2010-10-25 | 1 | -1/+1 |
| | | | | llvm-svn: 117298 | ||||
* | Attempt to provide correct encodings for NEON vbit and vbif, even though we ↵ | Owen Anderson | 2010-10-25 | 1 | -8/+10 |
| | | | | | | can't test them at the moment. llvm-svn: 117294 | ||||
* | Provide correct NEON encodings for vbsl. | Owen Anderson | 2010-10-25 | 1 | -12/+12 |
| | | | | llvm-svn: 117293 | ||||
* | imm12 operands aren't Thumb2 only, so rename the printer helper function. | Jim Grosbach | 2010-10-25 | 3 | -6/+5 |
| | | | | llvm-svn: 117291 | ||||
* | Add a comment. | Dan Gohman | 2010-10-25 | 1 | -1/+3 |
| | | | | llvm-svn: 117288 | ||||
* | Add correct instruction encodings for vbic, vorn, and vmvn. | Owen Anderson | 2010-10-25 | 2 | -1/+22 |
| | | | | llvm-svn: 117282 | ||||
* | Add a virtual destructor. | Rafael Espindola | 2010-10-25 | 1 | -0/+1 |
| | | | | llvm-svn: 117280 |