- May 24, 2006
-
-
Chris Lattner authored
by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
-
Chris Lattner authored
llvm-svn: 28445
-
Chris Lattner authored
change. This fixes PowerPC/fnegsel.ll. llvm-svn: 28443
-
Chris Lattner authored
argument struct pointer, enabling ABI compatibility for the CBE with platforms with strange struct-return ABIs. This fixes 252.eon and CoyoteBench/fftbench on Darwin/X86 among other things. llvm-svn: 28442
-
Chris Lattner authored
llvm-svn: 28441
-
- May 23, 2006
-
-
Evan Cheng authored
llvm-svn: 28440
-
Evan Cheng authored
FORMAL_ARGUMENTS nodes include a token operand. llvm-svn: 28439
-
Chris Lattner authored
return argument pops the hidden struct pointer if present, not the caller. For example, in this testcase: struct X { int D, E, F, G; }; struct X bar() { struct X a; a.D = 0; a.E = 1; a.F = 2; a.G = 3; return a; } void foo(struct X *P) { *P = bar(); } We used to emit: _foo: subl $28, %esp movl 32(%esp), %eax movl %eax, (%esp) call _bar addl $28, %esp ret _bar: movl 4(%esp), %eax movl $0, (%eax) movl $1, 4(%eax) movl $2, 8(%eax) movl $3, 12(%eax) ret This is correct on Linux/X86 but not Darwin/X86. With this patch, we now emit: _foo: subl $28, %esp movl 32(%esp), %eax movl %eax, (%esp) call _bar *** addl $24, %esp ret _bar: movl 4(%esp), %eax movl $0, (%eax) movl $1, 4(%eax) movl $2, 8(%eax) movl $3, 12(%eax) *** ret $4 For the record, GCC emits (which is functionally equivalent to our new code): _bar: movl 4(%esp), %eax movl $3, 12(%eax) movl $2, 8(%eax) movl $1, 4(%eax) movl $0, (%eax) ret $4 _foo: pushl %esi subl $40, %esp movl 48(%esp), %esi leal 16(%esp), %eax movl %eax, (%esp) call _bar subl $4, %esp movl 16(%esp), %eax movl %eax, (%esi) movl 20(%esp), %eax movl %eax, 4(%esi) movl 24(%esp), %eax movl %eax, 8(%esi) movl 28(%esp), %eax movl %eax, 12(%esi) addl $40, %esp popl %esi ret This fixes SingleSource/Benchmarks/CoyoteBench/fftbench with LLC and the JIT, and fixes the X86-backend portion of PR729. The CBE still needs to be updated. llvm-svn: 28438
-
Evan Cheng authored
llvm-svn: 28437
-
Evan Cheng authored
FP arithmetic arguments and results are never NaNs or +=Infs. This includes ignoring parity flag (PF) when checking for FP equality. llvm-svn: 28432
-
Rafael Espindola authored
ARMAsmPrinter::runOnMachineFunction LowerFORMAL_ARGUMENTS ARMInstrInfo::isMoveInstr llvm-svn: 28431
-
- May 22, 2006
-
-
Evan Cheng authored
llvm-svn: 28427
-
- May 21, 2006
-
-
Evan Cheng authored
llvm-svn: 28425
-
Chris Lattner authored
llvm-svn: 28424
-
Owen Anderson authored
llvm-svn: 28423
-
- May 20, 2006
-
-
Chris Lattner authored
I'm suprised it didn't cause more! llvm-svn: 28421
-
Evan Cheng authored
If it reads the chain result of the call, then the use, callseq_start, and call would form a cycle! - Don't forget handle node replacement! - There could also be a TokenFactor between the load and the callseq_start. llvm-svn: 28420
-
Evan Cheng authored
llvm-svn: 28419
-
Evan Cheng authored
llvm-svn: 28418
-
Evan Cheng authored
llvm-svn: 28417
-
Evan Cheng authored
the TableGen generated code since the load's chain result is read by the callseq_start node. llvm-svn: 28416
-
Owen Anderson authored
llvm-svn: 28415
-
Owen Anderson authored
This is part of the on-going work on PR 761. llvm-svn: 28414
-
- May 19, 2006
-
-
Chris Lattner authored
llvm-svn: 28409
-
Chris Lattner authored
llvm-svn: 28402
-
Chris Lattner authored
llvm-svn: 28401
-
Chris Lattner authored
llvm-svn: 28400
-
Chris Lattner authored
llvm-svn: 28399
-
Chris Lattner authored
llvm-svn: 28398
-
Chris Lattner authored
llvm-svn: 28397
-
Evan Cheng authored
currently... llvm-svn: 28393
-
Evan Cheng authored
- Fix a couple of minor bugs in i16immSExt8 and i16immZExt8. - Added loadiPTR fragment used for indirect jumps and calls. llvm-svn: 28392
-
Evan Cheng authored
llvm-svn: 28390
-
- May 18, 2006
-
-
Rafael Espindola authored
add a stub LowerFORMAL_ARGUMENTS llvm-svn: 28388
-
Evan Cheng authored
M_LOOK_UP_PTR_REG_CLASS which allows the register class of the operand to be resolved via a callback at runtime. llvm-svn: 28387
-
Chris Lattner authored
llvm-svn: 28384
-
Chris Lattner authored
llvm-svn: 28383
-
Andrew Lenharth authored
llvm-svn: 28382
-
Evan Cheng authored
llvm-svn: 28381
-
Evan Cheng authored
llvm-svn: 28378
-