Perform sibcall in some cases when arguments are passes memory. Look for cases
authorEvan Cheng <evan.cheng@apple.com>
Tue, 2 Feb 2010 02:22:50 +0000 (02:22 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 2 Feb 2010 02:22:50 +0000 (02:22 +0000)
commitb2c9290a01c5a6f2206f4c47c702086834b65339
tree710528533b35dd5503bf95bfc12a26f49a685385
parentd74667e226c3053128f34c6f2c6c9ebfe5b98e50
Perform sibcall in some cases when arguments are passes memory. Look for cases
where callee's arguments are already in the caller's own caller's stack and
they line up perfectly. e.g.

extern int foo(int a, int b, int c);

int bar(int a, int b, int c) {
  return foo(a, b, c);
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95053 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/tailcall2.ll