diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-21 00:28:59 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-21 00:28:59 +0000 |
commit | 2f5f90ad3e9b00cf21ae8e3f55b93f0be1d504c3 (patch) | |
tree | 0368003df16ef9b625afc9cdca10357bf6f22268 /include | |
parent | a6fd81dd7f6039fbc1a55f6f4d45659fffdd81fb (diff) | |
download | llvm-2f5f90ad3e9b00cf21ae8e3f55b93f0be1d504c3.tar.gz llvm-2f5f90ad3e9b00cf21ae8e3f55b93f0be1d504c3.tar.bz2 llvm-2f5f90ad3e9b00cf21ae8e3f55b93f0be1d504c3.tar.xz |
Implement PR8644: forwarding a memcpy value to a byval,
allowing the memcpy to be eliminated.
Unfortunately, the requirements on byval's without explicit
alignment are really weak and impossible to predict in the
mid-level optimizer, so this doesn't kick in much with current
frontends. The fix is to change clang to set alignment on all
byval arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119916 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Support/CallSite.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/include/llvm/Support/CallSite.h b/include/llvm/Support/CallSite.h index 571a04924d..8a998a8cd0 100644 --- a/include/llvm/Support/CallSite.h +++ b/include/llvm/Support/CallSite.h @@ -52,11 +52,6 @@ public: CallSiteBase(CallTy *CI) : I(CI, true) { assert(CI); } CallSiteBase(InvokeTy *II) : I(II, false) { assert(II); } CallSiteBase(ValTy *II) { *this = get(II); } - CallSiteBase(InstrTy *II) { - assert(II && "Null instruction given?"); - *this = get(II); - assert(I.getPointer() && "Not a call?"); - } protected: /// CallSiteBase::get - This static method is sort of like a constructor. It /// will create an appropriate call site for a Call or Invoke instruction, but |