- Sep 07, 2008
-
-
Evan Cheng authored
- Add a AnalyzeCallResult specialized for calls which produce a single value. This is used by fastisel. llvm-svn: 55879
-
Evan Cheng authored
llvm-svn: 55877
-
- Sep 06, 2008
-
-
Nuno Lopes authored
this pass doesnt seem to be used, but still it's now a little more correct llvm-svn: 55873
-
Duncan Sands authored
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
-
Owen Anderson authored
llvm-svn: 55868
-
Owen Anderson authored
llvm-svn: 55867
-
Dale Johannesen authored
llvm-svn: 55866
-
Owen Anderson authored
llvm-svn: 55865
-
Eli Friedman authored
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
-
Dan Gohman authored
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
-
- Sep 05, 2008
-
-
Devang Patel authored
llvm-svn: 55861
-
Duncan Sands authored
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
-
Dan Gohman authored
llvm-svn: 55857
-
Dale Johannesen authored
llvm-svn: 55856
-
Dan Gohman authored
llvm-svn: 55855
-
Evan Cheng authored
llvm-svn: 55854
-
Owen Anderson authored
llvm-svn: 55853
-
Dan Gohman authored
llvm-svn: 55846
-
Dale Johannesen authored
llvm-svn: 55845
-
Dan Gohman authored
llvm-svn: 55844
-
Dan Gohman authored
llvm-svn: 55843
-
Dan Gohman authored
approach here. llvm-svn: 55842
-
Evan Cheng authored
llvm-svn: 55840
-
Evan Cheng authored
llvm-svn: 55838
-
Duncan Sands authored
edges one by one by hand. llvm-svn: 55836
-
Duncan Sands authored
llvm-svn: 55835
-
Duncan Sands authored
it modifies a functions attributes. llvm-svn: 55831
-
Duncan Sands authored
elsewhere due to a missing pattern for v2f64 = sint_to_fp v2i32. That is PR2687. llvm-svn: 55828
-
Dan Gohman authored
llvm-svn: 55824
-
Dale Johannesen authored
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
-
Dan Gohman authored
expanding its operands. llvm-svn: 55820
-
Dan Gohman authored
to check the result of getRegForValue before using it, and to check for illegal operand types. llvm-svn: 55819
-
Dan Gohman authored
llvm-svn: 55818
-
Dan Gohman authored
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
-
Dan Gohman authored
llvm-svn: 55816
-
Owen Anderson authored
pool loads on X86 in fast isel. This isn't actually used yet. llvm-svn: 55814
-
Dan Gohman authored
llvm-svn: 55811
-
Evan Cheng authored
For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing 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
-
Devang Patel authored
llvm-svn: 55806
-
- Sep 04, 2008
-
-
Devang Patel authored
llvm-svn: 55794
-