- Dec 23, 2005
-
-
Chris Lattner authored
llvm-svn: 24991
-
Evan Cheng authored
llvm-svn: 24990
-
Evan Cheng authored
llvm-svn: 24989
-
Chris Lattner authored
llvm-svn: 24987
-
Chris Lattner authored
llvm-svn: 24986
-
Chris Lattner authored
void test3(va_list Y); void test2(int F, ...) { va_list X; va_start(X, F); test3(X); } into this: test2: save -104, %o6, %o6 st %i5, [%i6+88] st %i4, [%i6+84] st %i3, [%i6+80] st %i2, [%i6+76] st %i1, [%i6+72] add %i6, 72, %o0 st %o0, [%i6+-4] call test3 nop restore %g0, %g0, %g0 retl nop The simple isel emits: test2: save -96, %o6, %o6 st %i0, [%i6+68] st %i1, [%i6+72] st %i2, [%i6+76] st %i3, [%i6+80] st %i4, [%i6+84] st %i5, [%i6+88] or %g0, 1, %l0 or %g0, 4, %l1 umul %l0, %l1, %l0 add %l0, 7, %l0 and %l0, -8, %l0 sub %o6, %l0, %o6 add %o6, 96, %l0 add %i6, 72, %l1 st %l1, [%l0] ld [%l0], %o0 call test3 nop restore %g0, %g0, %g0 retl nop llvm-svn: 24985
-
Chris Lattner authored
llvm-svn: 24984
-
Chris Lattner authored
llvm-svn: 24979
-
Chris Lattner authored
llvm-svn: 24978
-
Chris Lattner authored
to represent the int part (because it's always 32-bits) llvm-svn: 24976
-
Chris Lattner authored
llvm-svn: 24975
-
Chris Lattner authored
llvm-svn: 24974
-
- Dec 22, 2005
-
-
Chris Lattner authored
llvm-svn: 24967
-
Chris Lattner authored
llvm-svn: 24965
-
Chris Lattner authored
llvm-svn: 24964
-
Chris Lattner authored
llvm-svn: 24956
-
Duraid Madina authored
whimper out of doing things the Right Way, and hack up a generic 'BRCALL' instruction, that gets generated when calls are lowered. This gets selected by hand in the DAG isel, where it gets turned into real (i.e. in tablegen) br.call instructions. BUG: this dies on void calls, but seems to work otherwise? llvm-svn: 24952
-
Duraid Madina authored
llvm-svn: 24951
-
Duraid Madina authored
llvm-svn: 24950
-
Duraid Madina authored
llvm-svn: 24948
-
Duraid Madina authored
BUG: calling printf(string, float) will load the float into the wrong register, completely forget about loading the string, etce llvm-svn: 24947
-
Duraid Madina authored
to IA64ISD llvm-svn: 24946
-
Duraid Madina authored
i.e. r1/r12/rp are saved/restored regardless of scheduling/luck TODO: calls to external symbols, indirect (function descriptor) calls, performance (we're being paranoid right now) BUG: the code for handling calls to vararg functions breaks if FP args are passed (this will make printf() go haywire so a bunch of tests will fail) BUG: this seems to trigger some legalize nastiness llvm-svn: 24942
-
Duraid Madina authored
SPARCv8. (we copy sparcv8's workaround for tablegen not being nice about ISD::CALL/TAILCALL) llvm-svn: 24941
-
Duraid Madina authored
llvm-svn: 24939
-
Evan Cheng authored
llvm-svn: 24935
-
Evan Cheng authored
llvm-svn: 24934
-
Evan Cheng authored
llvm-svn: 24922
-
Evan Cheng authored
* Teach DAG combiner about X86ISD::SETCC by adding a TargetLowering hook. llvm-svn: 24921
-
- Dec 21, 2005
-
-
Evan Cheng authored
llvm-svn: 24920
-
Jim Laskey authored
llvm-svn: 24919
-
Evan Cheng authored
bytes to pop off stack. * Added support for X86 SETCC. llvm-svn: 24917
-
Chris Lattner authored
llvm-svn: 24901
-
Chris Lattner authored
llvm-svn: 24900
-
Chris Lattner authored
that were overloaded to work before and after the stackifier runs. With the new clean world, it is possible to write patterns for these instructions: woo! This also adds a few simple patterns here and there, though there are a lot still missing. These should be easy to add though. :) See the comments under "Floating Point Stack Support" for more details on the new world order. This patch as absolutely no effect on the generated code, woo! llvm-svn: 24899
-
Chris Lattner authored
llvm-svn: 24898
-
Chris Lattner authored
llvm-svn: 24896
-
Evan Cheng authored
llvm-svn: 24889
-
Evan Cheng authored
for Darwin. * Added lowering hook for ISD::RET. It inserts CopyToRegs for the return value (or store / fld / copy to ST(0) for floating point value). This eliminate the need to write C++ code to handle RET with variable number of operands. llvm-svn: 24888
-
- Dec 20, 2005
-
-
Evan Cheng authored
llvm-svn: 24886
-