| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Eliminate a compile time warning. | Evan Cheng | 2008-09-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 55878 | ||||
| * | Handle x86 truncate to i8 with target hook for now. | Evan Cheng | 2008-09-07 | 2 | -0/+50 |
| | | | | | llvm-svn: 55877 | ||||
| * | Fix indentation of generated code. | Evan Cheng | 2008-09-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 55876 | ||||
| * | Ignore multi-instruction patterns. e.g. | Evan Cheng | 2008-09-07 | 1 | -0/+14 |
| | | | | | | | | def : Pat<(i8 (trunc GR32:$src)), (i8 (EXTRACT_SUBREG (MOV32to32_ GR32:$src), x86_subreg_8bit))> llvm-svn: 55875 | ||||
| * | fix crash when the malloc/free function is defined or is a declaration with ↵ | Nuno Lopes | 2008-09-06 | 1 | -4/+2 |
| | | | | | | | | | 0 parameters. this pass doesnt seem to be used, but still it's now a little more correct llvm-svn: 55873 | ||||
| * | When PruneEH turned an invoke into an ordinary | Duncan Sands | 2008-09-06 | 4 | -1/+1463 |
| | | | | | | | | | | | | | call (thus changing the call site) it didn't inform the callgraph about this. But the call site does matter - as shown by the testcase, the callgraph become invalid after the inliner ran (with an edge between two functions simply missing), resulting in wrong deductions by GlobalsModRef. llvm-svn: 55872 | ||||
| * | Fix constant pool loads, and remove broken versions of addConstantPoolReference. | Owen Anderson | 2008-09-06 | 5 | -45/+10 |
| | | | | | llvm-svn: 55868 | ||||
| * | Fix the X86 addConstantPoolReference, which had the operands in the wrong order. | Owen Anderson | 2008-09-06 | 1 | -1/+2 |
| | | | | | llvm-svn: 55867 | ||||
| * | Next limited float precision expansion (log2 12 bits) | Dale Johannesen | 2008-09-05 | 1 | -3/+43 |
| | | | | | llvm-svn: 55866 | ||||
| * | Revert r55859. This is breaking the build in the abscence of its companion ↵ | Owen Anderson | 2008-09-05 | 5 | -16/+41 |
| | | | | | | | commit. llvm-svn: 55865 | ||||
| * | Fix for PR2687: Add patterns to match sint_to_fp and fp_to_sint for <2 x | Eli Friedman | 2008-09-05 | 2 | -0/+19 |
| | | | | | | | | | | i32>. This is a little messy, but it works. We should really get rid of the intrinsics, though, since they map perfectly well to standard LLVM instructions. llvm-svn: 55864 | ||||
| * | Move the code that inserts copies for function livein registers | Dan Gohman | 2008-09-05 | 2 | -109/+113 |
| | | | | | | | | | | out of ScheduleDAGEmit.cpp and into SelectionDAGISel.cpp. This allows it to be run exactly once per function, even if multiple SelectionDAG iterations happen in the entry block, as may happen with FastISel. llvm-svn: 55863 | ||||
| * | Remove unused map. | Devang Patel | 2008-09-05 | 1 | -1/+0 |
| | | | | | llvm-svn: 55861 | ||||
| * | Mark math lib intrinsics readonly, on the grounds | Dale Johannesen | 2008-09-05 | 1 | -1/+4 |
| | | | | | | | | | | that they read the rounding mode. This is conservatively correct, which they weren't before. We can do more optimization on these if we actually model the rounding mode. llvm-svn: 55860 | ||||
| * | Delete the removeCallEdgeTo callgraph method, | Duncan Sands | 2008-09-05 | 4 | -29/+12 |
| | | | | | | | | | | | | | | | | because it does not maintain a correct list of callsites. I discovered (see following commit) that the inliner will create a wrong callgraph if it is fed a callgraph with correct edges but incorrect callsites. These were created by Prune-EH, and while it wasn't done via removeCallEdgeTo, it could have been done via removeCallEdgeTo, which is an accident waiting to happen. Use removeCallEdgeFor instead. llvm-svn: 55859 | ||||
| * | Prevent our own passes from promoting this to | Duncan Sands | 2008-09-05 | 1 | -1/+1 |
| | | | | | | | readonly. llvm-svn: 55858 | ||||
| * | Fix X86FastISel's shift and select code to reject illegal types. | Dan Gohman | 2008-09-05 | 1 | -1/+9 |
| | | | | | llvm-svn: 55857 | ||||
| * | Add the next limited-precision expansion. | Dale Johannesen | 2008-09-05 | 1 | -3/+42 |
| | | | | | llvm-svn: 55856 | ||||
| * | Fix the opcodes used by X86FastISel for shifts and conditional moves. | Dan Gohman | 2008-09-05 | 1 | -11/+11 |
| | | | | | llvm-svn: 55855 | ||||
| * | Factor out code that emits load and store instructions. | Evan Cheng | 2008-09-05 | 1 | -111/+138 |
| | | | | | llvm-svn: 55854 | ||||
| * | Rename method. | Owen Anderson | 2008-09-05 | 2 | -5/+7 |
| | | | | | llvm-svn: 55853 | ||||
| * | Fix test. | Evan Cheng | 2008-09-05 | 1 | -2/+2 |
| | | | | | llvm-svn: 55849 | ||||
| * | FastISel support for AND and OR with type i1. | Dan Gohman | 2008-09-05 | 1 | -2/+10 |
| | | | | | llvm-svn: 55846 | ||||
| * | Add hooks for other intrinsics to get low-precision expansions. | Dale Johannesen | 2008-09-05 | 2 | -12/+60 |
| | | | | | llvm-svn: 55845 | ||||
| * | X86FastISel support for shifts and conditional moves. | Dan Gohman | 2008-09-05 | 1 | -0/+99 |
| | | | | | llvm-svn: 55844 | ||||
| * | FastISel support for ConstantExprs. | Dan Gohman | 2008-09-05 | 2 | -9/+28 |
| | | | | | llvm-svn: 55843 | ||||
| * | Revert r55817. It broke PIC. FastISel will need to find a different | Dan Gohman | 2008-09-05 | 1 | -3/+1 |
| | | | | | | | approach here. llvm-svn: 55842 | ||||
| * | If SSE2 is available, x86 should pass first 3 f32/f64 arguments in XMM ↵ | Evan Cheng | 2008-09-05 | 4 | -5/+21 |
| | | | | | | | registers for fastcc calls. llvm-svn: 55840 | ||||
| * | Add a variant of AnalyzeCallOperands that can be used by fast isel. | Evan Cheng | 2008-09-05 | 2 | -0/+23 |
| | | | | | llvm-svn: 55838 | ||||
| * | Use removeAllCalledFunctions rather than removing | Duncan Sands | 2008-09-05 | 1 | -5/+3 |
| | | | | | | | edges one by one by hand. llvm-svn: 55836 | ||||
| * | Remove trailing whitespace. | Duncan Sands | 2008-09-05 | 1 | -36/+36 |
| | | | | | llvm-svn: 55835 | ||||
| * | Strip trailing whitespace. | Duncan Sands | 2008-09-05 | 1 | -14/+14 |
| | | | | | llvm-svn: 55834 | ||||
| * | Make this pass return that it made a change if | Duncan Sands | 2008-09-05 | 1 | -1/+5 |
| | | | | | | | it modifies a functions attributes. llvm-svn: 55831 | ||||
| * | "Fix" PR2762. The testcase now crashes codegen | Duncan Sands | 2008-09-05 | 1 | -1/+19 |
| | | | | | | | | elsewhere due to a missing pattern for v2f64 = sint_to_fp v2i32. That is PR2687. llvm-svn: 55828 | ||||
| * | Fix a search+replace-o. | Dan Gohman | 2008-09-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 55824 | ||||
| * | Add -flimit-float-precision to enable some faster, | Dale Johannesen | 2008-09-05 | 2 | -3/+57 |
| | | | | | | | | | | but less accurate (non-IEEE) code sequences for certain math library functions. Add the first of several such expansions. Don't worry, if you don't turn it on it won't affect you. llvm-svn: 55823 | ||||
| * | Check a comparion's operand type for legality before | Dan Gohman | 2008-09-05 | 1 | -4/+4 |
| | | | | | | | expanding its operands. llvm-svn: 55820 | ||||
| * | Fix X86FastISel code for comparisons and conditional branches | Dan Gohman | 2008-09-05 | 1 | -1/+9 |
| | | | | | | | | to check the result of getRegForValue before using it, and to check for illegal operand types. llvm-svn: 55819 | ||||
| * | FastISel support for unreachable. | Dan Gohman | 2008-09-05 | 1 | -0/+4 |
| | | | | | llvm-svn: 55818 | ||||
| * | In FastISel mode, the scheduler may be invoked multiple times | Dan Gohman | 2008-09-05 | 1 | -1/+3 |
| | | | | | | | | in the same block. Fix the entry-block handling to only run at at the beginning of the entry block, and not any other times. llvm-svn: 55817 | ||||
| * | X86FastISel support for conditional branches. | Dan Gohman | 2008-09-05 | 1 | -1/+39 |
| | | | | | llvm-svn: 55816 | ||||
| * | Add initial support for selecting constant materializations that require ↵ | Owen Anderson | 2008-09-05 | 3 | -2/+96 |
| | | | | | | | | | constant pool loads on X86 in fast isel. This isn't actually used yet. llvm-svn: 55814 | ||||
| * | X86FastISel support for ICmpInst and FCmpInst. | Dan Gohman | 2008-09-04 | 1 | -0/+139 |
| | | | | | llvm-svn: 55811 | ||||
| * | update. | Devang Patel | 2008-09-04 | 1 | -1/+3 |
| | | | | | llvm-svn: 55809 | ||||
| * | Document function notes. | Devang Patel | 2008-09-04 | 1 | -1/+37 |
| | | | | | llvm-svn: 55808 | ||||
| * | For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing ↵ | Evan Cheng | 2008-09-04 | 7 | -16/+53 |
| | | | | | | | scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. llvm-svn: 55807 | ||||
| * | A loop may be unswitched multiple times. Reconstruct dom info. at the end. | Devang Patel | 2008-09-04 | 1 | -5/+8 |
| | | | | | llvm-svn: 55806 | ||||
| * | Adjust tests to expect new math intrinsics to be | Dale Johannesen | 2008-09-04 | 3 | -3/+9 |
| | | | | | | | emitted only when errno is not in use. llvm-svn: 55797 | ||||
| * | If function notes say optimize for size, then adjust alignment. | Devang Patel | 2008-09-04 | 2 | -0/+4 |
| | | | | | llvm-svn: 55794 | ||||
| * | Add an include of SmallSet.h. | Dan Gohman | 2008-09-04 | 1 | -0/+1 |
| | | | | | llvm-svn: 55793 | ||||

