diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2012-01-20 00:05:46 +0000 | 
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2012-01-20 00:05:46 +0000 | 
| commit | 32c7c25dcbd834f96c7b9a9613acf98bed6144d4 (patch) | |
| tree | 07037232de2ceb483059d8cdb300694543f6da0b /llvm/lib/Target/X86/X86FastISel.cpp | |
| parent | 0caa21cb25ae58352e688213a5af604e6dbc3e07 (diff) | |
| download | bcm5719-llvm-32c7c25dcbd834f96c7b9a9613acf98bed6144d4.tar.gz bcm5719-llvm-32c7c25dcbd834f96c7b9a9613acf98bed6144d4.zip | |
Support MSVC x86-32 sret convention.  PR11688.  Patch by Joe Groff.
llvm-svn: 148513
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index bae5ede8d35..13e20f4eb0e 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -1855,7 +1855,8 @@ bool X86FastISel::DoSelectCall(const Instruction *I, const char *MemIntName) {    // Issue CALLSEQ_END    unsigned AdjStackUp = TII.getCallFrameDestroyOpcode();    unsigned NumBytesCallee = 0; -  if (!Subtarget->is64Bit() && CS.paramHasAttr(1, Attribute::StructRet)) +  if (!Subtarget->is64Bit() && !Subtarget->isTargetWindows() && +      CS.paramHasAttr(1, Attribute::StructRet))      NumBytesCallee = 4;    BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, TII.get(AdjStackUp))      .addImm(NumBytes).addImm(NumBytesCallee); | 

