summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Analysis
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2018-04-04 19:01:51 +0000
committerEric Fiselier <eric@efcs.ca>2018-04-04 19:01:51 +0000
commit96bbec79b4e8db04befd9d7aa2647d222fab7cab (patch)
tree6da228213b980ffca65a08eb8a2e6155f8e1adca /llvm/unittests/Analysis
parente03d45fa8e3190f81d06f3970e57b71b8875d9a4 (diff)
downloadbcm5719-llvm-96bbec79b4e8db04befd9d7aa2647d222fab7cab.tar.gz
bcm5719-llvm-96bbec79b4e8db04befd9d7aa2647d222fab7cab.zip
[Analysis] Support aligned new/delete functions.
Summary: Clang's __builtin_operator_new/delete was recently taught about the aligned allocation overloads (r328134). This patch makes LLVM aware of them as well. This allows the compiler to perform certain optimizations including eliding new/delete calls. Reviewers: rsmith, majnemer, dblaikie, vsk, bkramer Reviewed By: bkramer Subscribers: ckennelly, llvm-commits Differential Revision: https://reviews.llvm.org/D44769 llvm-svn: 329218
Diffstat (limited to 'llvm/unittests/Analysis')
-rw-r--r--llvm/unittests/Analysis/TargetLibraryInfoTest.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp b/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
index ef558a434c7..0c8ba9ee77b 100644
--- a/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
+++ b/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
@@ -386,20 +386,32 @@ TEST_F(TargetLibraryInfoTest, ValidProto) {
"declare void @_ZdaPv(i8*)\n"
"declare void @_ZdaPvRKSt9nothrow_t(i8*, %struct*)\n"
+ "declare void @_ZdaPvSt11align_val_t(i8*, i64)\n"
+ "declare void @_ZdaPvSt11align_val_tRKSt9nothrow_t(i8*, i64, %struct*)\n"
"declare void @_ZdaPvj(i8*, i32)\n"
"declare void @_ZdaPvm(i8*, i64)\n"
"declare void @_ZdlPv(i8*)\n"
"declare void @_ZdlPvRKSt9nothrow_t(i8*, %struct*)\n"
+ "declare void @_ZdlPvSt11align_val_t(i8*, i64)\n"
+ "declare void @_ZdlPvSt11align_val_tRKSt9nothrow_t(i8*, i64, %struct*)\n"
"declare void @_ZdlPvj(i8*, i32)\n"
"declare void @_ZdlPvm(i8*, i64)\n"
"declare i8* @_Znaj(i32)\n"
"declare i8* @_ZnajRKSt9nothrow_t(i32, %struct*)\n"
+ "declare i8* @_ZnajSt11align_val_t(i32, i32)\n"
+ "declare i8* @_ZnajSt11align_val_tRKSt9nothrow_t(i32, i32, %struct*)\n"
"declare i8* @_Znam(i64)\n"
"declare i8* @_ZnamRKSt9nothrow_t(i64, %struct*)\n"
+ "declare i8* @_ZnamSt11align_val_t(i64, i64)\n"
+ "declare i8* @_ZnamSt11align_val_tRKSt9nothrow_t(i64, i64, %struct*)\n"
"declare i8* @_Znwj(i32)\n"
"declare i8* @_ZnwjRKSt9nothrow_t(i32, %struct*)\n"
+ "declare i8* @_ZnwjSt11align_val_t(i32, i32)\n"
+ "declare i8* @_ZnwjSt11align_val_tRKSt9nothrow_t(i32, i32, %struct*)\n"
"declare i8* @_Znwm(i64)\n"
"declare i8* @_ZnwmRKSt9nothrow_t(i64, %struct*)\n"
+ "declare i8* @_ZnwmSt11align_val_t(i64, i64)\n"
+ "declare i8* @_ZnwmSt11align_val_tRKSt9nothrow_t(i64, i64, %struct*)\n"
"declare void @\"??3@YAXPEAX@Z\"(i8*)\n"
"declare void @\"??3@YAXPEAXAEBUnothrow_t@std@@@Z\"(i8*, %struct*)\n"
OpenPOWER on IntegriCloud