Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implement rdar://7860110 (also in target/readme.txt) narrowing | Chris Lattner | 2010-04-15 | 1 | -22/+164 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a load/or/and/store sequence into a narrower store when it is safe. Daniel tells me that clang will start producing this sort of thing with bitfields, and this does trigger a few dozen times on 176.gcc produced by llvm-gcc even now. This compiles code like CodeGen/X86/2009-05-28-DAGCombineCrash.ll into: movl %eax, 36(%rdi) instead of: movl $4294967295, %eax ## imm = 0xFFFFFFFF andq 32(%rdi), %rax shlq $32, %rcx addq %rax, %rcx movq %rcx, 32(%rdi) and each of the testcases into a single store. Each of them used to compile into craziness like this: _test4: movl $65535, %eax ## imm = 0xFFFF andl (%rdi), %eax shll $16, %esi addl %eax, %esi movl %esi, (%rdi) ret llvm-svn: 101343 | |||||
* | Add more const qualifiers for LLVM IR pointers in CodeGen. | Dan Gohman | 2010-04-15 | 7 | -23/+25 | |
| | | | | llvm-svn: 101342 | |||||
* | Add const qualifiers to CodeGen's use of LLVM IR constructs. | Dan Gohman | 2010-04-15 | 14 | -321/+327 | |
| | | | | llvm-svn: 101334 | |||||
* | More 80 violations. | Evan Cheng | 2010-04-15 | 5 | -29/+54 | |
| | | | | llvm-svn: 101330 | |||||
* | 80 col violations. | Evan Cheng | 2010-04-15 | 1 | -8/+16 | |
| | | | | llvm-svn: 101325 | |||||
* | Add comment. | Devang Patel | 2010-04-15 | 1 | -0/+3 | |
| | | | | llvm-svn: 101317 | |||||
* | There is no need to track compile unit offsets if there is only one compile ↵ | Devang Patel | 2010-04-14 | 2 | -6/+0 | |
| | | | | | | unit. llvm-svn: 101315 | |||||
* | Remove dead code. | Devang Patel | 2010-04-14 | 1 | -4/+0 | |
| | | | | llvm-svn: 101314 | |||||
* | Delete unneeeded arguments. | Dan Gohman | 2010-04-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 101276 | |||||
* | Delete unused arguments. | Dan Gohman | 2010-04-14 | 1 | -6/+4 | |
| | | | | llvm-svn: 101275 | |||||
* | Factor out EH landing pad code into a separate function, and constify | Dan Gohman | 2010-04-14 | 4 | -52/+61 | |
| | | | | | | a bunch of stuff to support it. llvm-svn: 101273 | |||||
* | Reset the debug location even if the instruction was a terminator. | Dan Gohman | 2010-04-14 | 1 | -5/+3 | |
| | | | | llvm-svn: 101272 | |||||
* | Refine #includes. | Dan Gohman | 2010-04-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 101269 | |||||
* | Pull utility routines with no SelectionDAG dependence out of | Dan Gohman | 2010-04-14 | 3 | -76/+95 | |
| | | | | | | | SelectionDAGBuilder. FunctionLoweringInfo isn't an ideal place for them to live, but it's better than SelectionDAGBuilder for now. llvm-svn: 101267 | |||||
* | Fix typos in comments. | Dan Gohman | 2010-04-14 | 2 | -2/+2 | |
| | | | | llvm-svn: 101266 | |||||
* | Delete an obsolete comment. | Dan Gohman | 2010-04-14 | 1 | -1/+0 | |
| | | | | llvm-svn: 101264 | |||||
* | Delete an unused function. | Dan Gohman | 2010-04-14 | 1 | -4/+0 | |
| | | | | llvm-svn: 101263 | |||||
* | Clear the FunctionLoweringInfo object before doing other things that | Dan Gohman | 2010-04-14 | 1 | -4/+4 | |
| | | | | | | don't need it. llvm-svn: 101262 | |||||
* | Move this assert out of SelectionDAGISel into FunctionLoweringInfo, and | Dan Gohman | 2010-04-14 | 2 | -5/+3 | |
| | | | | | | drop the redundant #ifndef NDEBUG. llvm-svn: 101261 | |||||
* | Add a comment. | Dan Gohman | 2010-04-14 | 1 | -0/+2 | |
| | | | | llvm-svn: 101260 | |||||
* | Move the code for initialing the entry block livein set out of | Dan Gohman | 2010-04-14 | 2 | -5/+5 | |
| | | | | | | SelectionDAGISel. llvm-svn: 101258 | |||||
* | Reorgnaize this code to be more tidy and readable. | Dan Gohman | 2010-04-14 | 1 | -10/+5 | |
| | | | | llvm-svn: 101256 | |||||
* | Trim #includes. | Dan Gohman | 2010-04-14 | 1 | -9/+0 | |
| | | | | llvm-svn: 101255 | |||||
* | Move the code for emitting livein copies out of SelectionDAGISel. | Dan Gohman | 2010-04-14 | 2 | -105/+107 | |
| | | | | llvm-svn: 101254 | |||||
* | Sink landing-pad marking code out of | Dan Gohman | 2010-04-14 | 2 | -5/+5 | |
| | | | | | | SelectionDAGISel::runOnMachineFunction into FunctionLowering. llvm-svn: 101252 | |||||
* | It's not necessary to recompute EB here. | Dan Gohman | 2010-04-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 101251 | |||||
* | Generalize this code to handle Instructions in addition to ConstantExprs. | Dan Gohman | 2010-04-14 | 1 | -3/+3 | |
| | | | | llvm-svn: 101210 | |||||
* | Reorder the methods of this class to be a little more organized. | Dan Gohman | 2010-04-14 | 1 | -22/+22 | |
| | | | | llvm-svn: 101206 | |||||
* | Clear MachineInstr->MCSymbol maps at the end of a function. | Devang Patel | 2010-04-14 | 1 | -0/+2 | |
| | | | | llvm-svn: 101202 | |||||
* | Fast path implicit_def check. | Evan Cheng | 2010-04-13 | 1 | -5/+5 | |
| | | | | llvm-svn: 101183 | |||||
* | Do not include types without any definition in pubtypes list. | Devang Patel | 2010-04-13 | 1 | -2/+4 | |
| | | | | llvm-svn: 101171 | |||||
* | Avoid variable shadowing. | Evan Cheng | 2010-04-13 | 1 | -2/+2 | |
| | | | | llvm-svn: 101170 | |||||
* | Expand postra machine licm's capability a little more. If an instruction's ↵ | Evan Cheng | 2010-04-13 | 1 | -8/+24 | |
| | | | | | | register operands are all loop invariants, then it's safe to hoist it. llvm-svn: 101167 | |||||
* | Teach MachineSinking to handle easy critical edges. | Jakob Stoklund Olesen | 2010-04-13 | 1 | -2/+17 | |
| | | | | | | | | | | | | | | Sometimes it is desirable to sink instructions along a critical edge: x = ... if (a && b) ... else use(x); The 'a && b' condition creates a critical edge to the else block, but we still want to sink the computation of x into the block. The else block is dominated by the parent block, so we are not pushing instructions into new code paths. llvm-svn: 101165 | |||||
* | Teach postra machine licm to hoist more obvious invariants, e.g. ↵ | Evan Cheng | 2010-04-13 | 1 | -17/+38 | |
| | | | | | | instructions with no source operands. llvm-svn: 101154 | |||||
* | Add a few comments. | Dan Gohman | 2010-04-13 | 1 | -0/+5 | |
| | | | | llvm-svn: 101148 | |||||
* | Eliminate MachineBasicBlock::const_livein_iterator and make | Dan Gohman | 2010-04-13 | 6 | -9/+10 | |
| | | | | | | | | MachineBasicBlock::livein_iterator a const_iterator, because clients shouldn't ever be using the iterator interface to mutate the livein set. llvm-svn: 101147 | |||||
* | Rename MachineFrameInfo variables to MFI, for consistency with | Dan Gohman | 2010-04-13 | 1 | -41/+41 | |
| | | | | | | the rest of CodeGen. llvm-svn: 101146 | |||||
* | Move MachineRegisterInfo's isLiveIn and isLiveOut out of line. | Dan Gohman | 2010-04-13 | 1 | -0/+14 | |
| | | | | llvm-svn: 101145 | |||||
* | Delete an unused member variable. | Dan Gohman | 2010-04-13 | 1 | -1/+0 | |
| | | | | llvm-svn: 101143 | |||||
* | add llvm codegen support for -ffunction-sections and -fdata-sections, | Chris Lattner | 2010-04-13 | 1 | -2/+36 | |
| | | | | | | patch by Sylvere Teissier! llvm-svn: 101106 | |||||
* | Remove a #include. | Dan Gohman | 2010-04-12 | 1 | -1/+0 | |
| | | | | llvm-svn: 101043 | |||||
* | Plug trivial leak. | Benjamin Kramer | 2010-04-12 | 1 | -0/+2 | |
| | | | | llvm-svn: 101034 | |||||
* | Enable post regalloc machine licm by default. | Evan Cheng | 2010-04-12 | 1 | -5/+1 | |
| | | | | llvm-svn: 101023 | |||||
* | Remove unnecessary parens. | Dan Gohman | 2010-04-12 | 2 | -4/+4 | |
| | | | | llvm-svn: 101010 | |||||
* | Tidy whitespace. | Bob Wilson | 2010-04-09 | 1 | -9/+8 | |
| | | | | llvm-svn: 100904 | |||||
* | Clear InsnsBeginScopeSet and InsnsEndScopeSet at the end of function. | Devang Patel | 2010-04-09 | 1 | -0/+2 | |
| | | | | llvm-svn: 100867 | |||||
* | Delete this obsolete comment. | Dan Gohman | 2010-04-09 | 1 | -4/+0 | |
| | | | | llvm-svn: 100858 | |||||
* | Add a missing dependency to this library when building with CMake. | Chandler Carruth | 2010-04-09 | 1 | -0/+2 | |
| | | | | llvm-svn: 100852 | |||||
* | Use getNumImplicitDefs() and getNumImplicitUses(). | Bob Wilson | 2010-04-09 | 1 | -24/+6 | |
| | | | | llvm-svn: 100850 |