diff options
| author | Arnold Schwaighofer <arnold.schwaighofer@gmail.com> | 2008-02-26 09:19:59 +0000 |
|---|---|---|
| committer | Arnold Schwaighofer <arnold.schwaighofer@gmail.com> | 2008-02-26 09:19:59 +0000 |
| commit | b01b99ec78da7ce6bb4d499378abbd899ac77a4e (patch) | |
| tree | 3611af49a913ae4a41289eaf0b91b53cc18381cd /llvm/lib/Target/X86/X86ISelLowering.h | |
| parent | 2ff0b0e6812e10538b974263b3b972bda184904f (diff) | |
| download | bcm5719-llvm-b01b99ec78da7ce6bb4d499378abbd899ac77a4e.tar.gz bcm5719-llvm-b01b99ec78da7ce6bb4d499378abbd899ac77a4e.zip | |
Change the lowering of arguments for tail call optimized
calls. Before arguments that could overwrite each other were
explicitly lowered to a stack slot, not giving the register allocator
a chance to optimize. Now a sequence of copyto/copyfrom virtual
registers ensures that arguments are loaded in (virtual) registers
before they are lowered to the stack slot (and might overwrite each
other). Also parameter stack slots are marked mutable for
(potentially) tail calling functions.
llvm-svn: 47593
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.h')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.h b/llvm/lib/Target/X86/X86ISelLowering.h index ec00066f969..5a28f1e2b82 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.h +++ b/llvm/lib/Target/X86/X86ISelLowering.h @@ -482,7 +482,7 @@ namespace llvm { SDOperand LowerMemArgument(SDOperand Op, SelectionDAG &DAG, const CCValAssign &VA, MachineFrameInfo *MFI, - SDOperand Root, unsigned i); + unsigned CC, SDOperand Root, unsigned i); SDOperand LowerMemOpCallTo(SDOperand Op, SelectionDAG &DAG, const SDOperand &StackPtr, |

