[llvm-commits] [llvm] r97797 - in /llvm/trunk: lib/Target/X86/X86ISelLowering.cpp test/CodeGen/X86/tailcall2.ll

Duncan Sands baldrick at free.fr
Fri Mar 5 02:18:36 PST 2010


Hi Evan,

> Fix an oops in x86 sibcall optimization. If the ByVal callee argument is itself passed as a pointer, then it's obviously not safe to do a tail call.

 > +      // define @foo(%struct.X* %A) {
 > +      //   tail call @bar(%struct.X* byval %A)
 > +      // }

in this case maybe the call should not have been marked "tailcall" in the
first place?  i.e. I'm suggesting that this is really a bug in
TailRecursionElimination.

> +      // ByVal argument is passed in as a pointer but it's now being
> +      // derefernced. e.g.

derefernced -> dereferenced

Ciao,

Duncan.



More information about the llvm-commits mailing list