diff options
author | Teresa Johnson <tejohnson@google.com> | 2023-04-19 08:21:52 -0700 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2023-04-19 13:33:46 -0700 |
commit | a35206d78280e0ebcf48cd21bc5fff5c3b9c73fa (patch) | |
tree | e128be8e1d26a72fe3accdbcbd6957e3f785ebb1 /llvm/unittests/Analysis/TargetLibraryInfoTest.cpp | |
parent | 24214832fd433a901c2296088bf23b7bc86c6a96 (diff) | |
download | llvm-a35206d78280e0ebcf48cd21bc5fff5c3b9c73fa.zip llvm-a35206d78280e0ebcf48cd21bc5fff5c3b9c73fa.tar.gz llvm-a35206d78280e0ebcf48cd21bc5fff5c3b9c73fa.tar.bz2 |
[MemProf] Optionally pass hot/cold hints to operator new
Optionally (off by default) replace operator new() calls marked with a
hot or cold memprof attribute with an operator new() call that takes a
hot_cold_t parameter.
Currently this is supported by the open source version of tcmalloc, see:
https://github.com/google/tcmalloc/blob/master/tcmalloc/new_extension.h
Differential Revision: https://reviews.llvm.org/D148718
Diffstat (limited to 'llvm/unittests/Analysis/TargetLibraryInfoTest.cpp')
-rw-r--r-- | llvm/unittests/Analysis/TargetLibraryInfoTest.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp b/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp index 261786b..5c47dca 100644 --- a/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp +++ b/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp @@ -433,17 +433,27 @@ TEST_F(TargetLibraryInfoTest, ValidProto) { "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* @_Znam10hot_cold_t(i64, i8)\n" "declare i8* @_ZnamRKSt9nothrow_t(i64, %struct*)\n" + "declare i8* @_ZnamRKSt9nothrow_t10hot_cold_t(i64, %struct*, i8)\n" "declare i8* @_ZnamSt11align_val_t(i64, i64)\n" + "declare i8* @_ZnamSt11align_val_t10hot_cold_t(i64, i64, i8)\n" "declare i8* @_ZnamSt11align_val_tRKSt9nothrow_t(i64, i64, %struct*)\n" + "declare i8* @_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t(i64, i64, " + "%struct*, i8)\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* @_Znwm10hot_cold_t(i64, i8)\n" "declare i8* @_ZnwmRKSt9nothrow_t(i64, %struct*)\n" + "declare i8* @_ZnwmRKSt9nothrow_t10hot_cold_t(i64, %struct*, i8)\n" "declare i8* @_ZnwmSt11align_val_t(i64, i64)\n" + "declare i8* @_ZnwmSt11align_val_t10hot_cold_t(i64, i64, i8)\n" "declare i8* @_ZnwmSt11align_val_tRKSt9nothrow_t(i64, i64, %struct*)\n" + "declare i8* @_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t(i64, i64, " + "%struct*, i8)\n" "declare void @\"??3@YAXPEAX@Z\"(i8*)\n" "declare void @\"??3@YAXPEAXAEBUnothrow_t@std@@@Z\"(i8*, %struct*)\n" |