| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | More machine LICM work. It now tracks register pressure for path from ↵ | Evan Cheng | 2010-10-16 | 1 | -69/+155 | |
| | | | | | | | preheader to current BB and use the information determine whether hoisting is worthwhile. llvm-svn: 116654 | |||||
| * | Fix some funky formatting that got through. | Eric Christopher | 2010-10-16 | 1 | -1/+3 | |
| | | | | | llvm-svn: 116653 | |||||
| * | ARMCodeEmitter::emitMiscInstruction is dead. Long live | Bill Wendling | 2010-10-15 | 1 | -45/+1 | |
| | | | | | | | ARMCodeEmitter::emitMiscInstruction! llvm-svn: 116644 | |||||
| * | Make sure offset is 0 for load/store register to the stack call. | Eric Christopher | 2010-10-15 | 1 | -2/+2 | |
| | | | | | llvm-svn: 116640 | |||||
| * | Generalize MemCpyOpt's handling of call slot forwarding to function properly ↵ | Owen Anderson | 2010-10-15 | 1 | -18/+48 | |
| | | | | | | | | | when the call slot forwarding is implemented with a load/store pair rather than a memcpy. llvm-svn: 116637 | |||||
| * | Formatting. | Eric Christopher | 2010-10-15 | 1 | -4/+4 | |
| | | | | | llvm-svn: 116635 | |||||
| * | Fix else if -> if in store machinery. | Eric Christopher | 2010-10-15 | 1 | -1/+1 | |
| | | | | | llvm-svn: 116628 | |||||
| * | Reformatting. No functionalogicality changes. | Bill Wendling | 2010-10-15 | 1 | -19/+15 | |
| | | | | | llvm-svn: 116625 | |||||
| * | Refactor ARM fast-isel reg + offset to be a base + offset. | Eric Christopher | 2010-10-15 | 1 | -40/+45 | |
| | | | | | llvm-svn: 116622 | |||||
| * | Encoding information for the various ARM saturating add/sub instructions. | Jim Grosbach | 2010-10-15 | 1 | -46/+53 | |
| | | | | | llvm-svn: 116612 | |||||
| * | ARM binary encoding information for RSB and RSC instructions. | Jim Grosbach | 2010-10-15 | 1 | -44/+104 | |
| | | | | | llvm-svn: 116604 | |||||
| * | Don't mark argument value stores as immutable, as otherwise the post-RA | Jim Grosbach | 2010-10-15 | 1 | -1/+1 | |
| | | | | | | | | scheduler may reorder loads from them before the stores and other such badness. PR8347. Patch by David Meyer llvm-svn: 116602 | |||||
| * | Use simple RegState::Define flag instead of getDefRegState(true). | Bob Wilson | 2010-10-15 | 1 | -5/+5 | |
| | | | | | llvm-svn: 116601 | |||||
| * | Refactor alias handling to AliasedSymbol. | Rafael Espindola | 2010-10-15 | 1 | -13/+15 | |
| | | | | | llvm-svn: 116600 | |||||
| * | Expand GEP handling for constant offsets. | Eric Christopher | 2010-10-15 | 1 | -23/+44 | |
| | | | | | llvm-svn: 116594 | |||||
| * | When expanding the MOVsr[la]_flag pseudos, the CPSR implicit def becomes | Jim Grosbach | 2010-10-15 | 1 | -2/+1 | |
| | | | | | | | an explicit def. Make sure to capture that properly. rdar://8556556 llvm-svn: 116591 | |||||
| * | ARM mode encoding information for UBFX and SBFX instructions. | Jim Grosbach | 2010-10-15 | 3 | -6/+35 | |
| | | | | | llvm-svn: 116588 | |||||
| * | Remove unused accessor. | Jakob Stoklund Olesen | 2010-10-15 | 1 | -2/+0 | |
| | | | | | llvm-svn: 116580 | |||||
| * | Refactor code a bit and avoid creating unnecessary entries in the string | Rafael Espindola | 2010-10-15 | 1 | -19/+19 | |
| | | | | | | | map. llvm-svn: 116579 | |||||
| * | Remove unused ARMISD::AND selection DAG node. | Bob Wilson | 2010-10-15 | 4 | -13/+0 | |
| | | | | | llvm-svn: 116566 | |||||
| * | ARM instructions that are both predicated and set the condition codes | Bob Wilson | 2010-10-15 | 1 | -1/+1 | |
| | | | | | | | | | | | have been printed with the "S" modifier after the predicate. With ARM's unified syntax, they are supposed to go in the other order. We fixed this for Thumb when we switched to unified syntax but missed changing it for ARM. Apparently we don't generate these instructions often because no one noticed until now. Thanks to Bill Wendling for the testcase! llvm-svn: 116563 | |||||
| * | Encoding info for extension instructions. | Jim Grosbach | 2010-10-15 | 1 | -0/+8 | |
| | | | | | llvm-svn: 116560 | |||||
| * | Eliminate curli from SplitEditor. Use the LiveRangeEdit reference instead. | Jakob Stoklund Olesen | 2010-10-15 | 2 | -18/+13 | |
| | | | | | llvm-svn: 116547 | |||||
| * | Move stack slot assignments into LiveRangeEdit. | Jakob Stoklund Olesen | 2010-10-15 | 4 | -10/+16 | |
| | | | | | | | | | | | All registers created during splitting or spilling are assigned to the same stack slot as the parent register. When splitting or rematting, we may not spill at all. In that case the stack slot is still assigned, but it will be dead. llvm-svn: 116546 | |||||
| * | Create a new LiveRangeEdit class to keep track of the new registers created when | Jakob Stoklund Olesen | 2010-10-14 | 6 | -125/+206 | |
| | | | | | | | | | | splitting or spillling, and to help with rematerialization. Use LiveRangeEdit in InlineSpiller and SplitKit. This will eventually make it possible to share remat code between InlineSpiller and SplitKit. llvm-svn: 116543 | |||||
| * | Add missing Rd encoding for MOVs instruction. | Jim Grosbach | 2010-10-14 | 1 | -0/+2 | |
| | | | | | llvm-svn: 116537 | |||||
| * | Refactor the MOVsr[al]_flag and RRX pseudo-instructions to really be pseudos | Jim Grosbach | 2010-10-14 | 2 | -9/+38 | |
| | | | | | | | | and let the ARMExpandPseudoInsts pass fix them up into the real (MOVs) instruction form. llvm-svn: 116534 | |||||
| * | Tolerate a null parent pointer. | Dan Gohman | 2010-10-14 | 1 | -1/+1 | |
| | | | | | llvm-svn: 116533 | |||||
| * | Tweak the ARM backend to use the RRX mnemonic instead of the 'mov a, b, rrx' | Jim Grosbach | 2010-10-14 | 3 | -6/+6 | |
| | | | | | | | pseudonym. llvm-svn: 116512 | |||||
| * | Always use binary mode for output stream. This is important to prevent ↵ | Francois Pichet | 2010-10-14 | 1 | -0/+13 | |
| | | | | | | | unwanted end of line conversion on Windows. Should not affect Unix where O_BINARY is not defined. This fix /clang/test/lexer/preamble.c XFAIL on WIN32. llvm-svn: 116509 | |||||
| * | MOVi16 and MOVT ARM mode encodings. | Jim Grosbach | 2010-10-14 | 1 | -7/+19 | |
| | | | | | llvm-svn: 116498 | |||||
| * | Only split around a loop if the live range has uses outside the loop periphery. | Jakob Stoklund Olesen | 2010-10-14 | 1 | -14/+13 | |
| | | | | | | | | | | | Before we would also split around a loop if any peripheral block had multiple uses. This could cause repeated splitting when splitting a different live range would insert uses into the periphery. Now -spiller=inline passes the nightly test suite again. llvm-svn: 116494 | |||||
| * | Simplify encoding information and add 'dst' operand info for TAILJMP. | Jim Grosbach | 2010-10-14 | 1 | -8/+6 | |
| | | | | | llvm-svn: 116488 | |||||
| * | Remove some code duplication. | Rafael Espindola | 2010-10-14 | 1 | -49/+18 | |
| | | | | | llvm-svn: 116484 | |||||
| * | Remove explicit dependency of LLVMARMCodeGen on LLVMARMAsmPrinter. It | Oscar Fuentes | 2010-10-14 | 1 | -5/+0 | |
| | | | | | | | | creates a cyclic dependency that breaks the build when BUILD_SHARED_LIBS=ON llvm-svn: 116480 | |||||
| * | When building shared libraries, link to required system libraries. | Oscar Fuentes | 2010-10-14 | 1 | -4/+0 | |
| | | | | | | | PR 8375 llvm-svn: 116479 | |||||
| * | Handle more complex GEP based loads and add a few TODOs to deal with | Eric Christopher | 2010-10-14 | 1 | -10/+50 | |
| | | | | | | | GEP + alloca. llvm-svn: 116474 | |||||
| * | Add support for vmov.f64/.f32 encoding. There's a bit of a hack going on | Bill Wendling | 2010-10-14 | 2 | -14/+40 | |
| | | | | | | | | | | here. The f32 in FCONSTS is handled as a double instead of a float in the code. So the encoding of the immediate into the instruction isn't exactly in line with the documentation in that regard. But given that we know it's handled as a double, it doesn't cause any harm. llvm-svn: 116471 | |||||
| * | Add encoding for 'fmstat'. | Bill Wendling | 2010-10-14 | 2 | -4/+2 | |
| | | | | | llvm-svn: 116466 | |||||
| * | Register pressure and instruction latency aware machine LICM. Work in progress. | Evan Cheng | 2010-10-14 | 1 | -26/+242 | |
| | | | | | llvm-svn: 116465 | |||||
| * | - Add encodings for multiply add/subtract instructions in all their glory. | Bill Wendling | 2010-10-14 | 2 | -67/+111 | |
| | | | | | | | | - Add missing patterns for some multiply add/subtract instructions. - Add encodings for VMRS and VMSR. llvm-svn: 116464 | |||||
| * | fix a bug I introduced, no idea how this didn't repro right. | Chris Lattner | 2010-10-14 | 1 | -2/+2 | |
| | | | | | llvm-svn: 116462 | |||||
| * | Regenerate. No functional change, just cleanup. | Jim Grosbach | 2010-10-14 | 1 | -6561/+6561 | |
| | | | | | llvm-svn: 116459 | |||||
| * | add uadd_ov/usub_ov to apint, consolidate constant folding | Chris Lattner | 2010-10-14 | 2 | -32/+40 | |
| | | | | | | | | | | logic to use the new APInt methods. Among other things this implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold which comes from "clang -ftrapv", originally brought to my attention from PR8221. llvm-svn: 116457 | |||||
| * | constify these methods. | Chris Lattner | 2010-10-13 | 1 | -5/+5 | |
| | | | | | llvm-svn: 116455 | |||||
| * | Detabify and clean up 80 column violations. | Jim Grosbach | 2010-10-13 | 3 | -40/+50 | |
| | | | | | llvm-svn: 116454 | |||||
| * | add a few operations for signed operations that also | Chris Lattner | 2010-10-13 | 1 | -0/+46 | |
| | | | | | | | return an overflow flag. llvm-svn: 116452 | |||||
| * | A few 80 column fixes. | Jim Grosbach | 2010-10-13 | 3 | -5/+5 | |
| | | | | | llvm-svn: 116451 | |||||
| * | trailing whitespace | Jim Grosbach | 2010-10-13 | 1 | -1/+1 | |
| | | | | | llvm-svn: 116450 | |||||
| * | Add a FIXME. | Jim Grosbach | 2010-10-13 | 1 | -0/+5 | |
| | | | | | llvm-svn: 116449 | |||||

