diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def --- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def +++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def @@ -256,14 +256,14 @@ TLI_DEFINE_STRING_INTERNAL("_Znam") TLI_DEFINE_SIG_INTERNAL(Ptr, Long) -/// void *operator new[](unsigned long, hot_cold_t) -/// Currently this and other operator new interfaces that take a hot_cold_t +/// void *operator new[](unsigned long, __hot_cold_t) +/// Currently this and other operator new interfaces that take a __hot_cold_t /// hint are supported by the open source version of tcmalloc, see: /// https://github.com/google/tcmalloc/blob/master/tcmalloc/new_extension.h -/// and for the definition of the hot_cold_t parameter see: +/// and for the definition of the __hot_cold_t parameter see: /// https://github.com/google/tcmalloc/blob/master/tcmalloc/malloc_extension.h -TLI_DEFINE_ENUM_INTERNAL(Znam10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_Znam10hot_cold_t") +TLI_DEFINE_ENUM_INTERNAL(Znam12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_Znam12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Bool) /// void *operator new[](unsigned long, const std::nothrow_t&); @@ -271,9 +271,9 @@ TLI_DEFINE_STRING_INTERNAL("_ZnamRKSt9nothrow_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Ptr) -/// void *operator new[](unsigned long, const std::nothrow_t&, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(ZnamRKSt9nothrow_t10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_ZnamRKSt9nothrow_t10hot_cold_t") +/// void *operator new[](unsigned long, const std::nothrow_t&, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(ZnamRKSt9nothrow_t12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_ZnamRKSt9nothrow_t12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Ptr, Bool) /// void *operator new[](unsigned long, std::align_val_t) @@ -281,9 +281,9 @@ TLI_DEFINE_STRING_INTERNAL("_ZnamSt11align_val_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long) -/// void *operator new[](unsigned long, std::align_val_t, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(ZnamSt11align_val_t10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_ZnamSt11align_val_t10hot_cold_t") +/// void *operator new[](unsigned long, std::align_val_t, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(ZnamSt11align_val_t12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_ZnamSt11align_val_t12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long, Bool) /// void *operator new[](unsigned long, std::align_val_t, const std::nothrow_t&) @@ -291,9 +291,9 @@ TLI_DEFINE_STRING_INTERNAL("_ZnamSt11align_val_tRKSt9nothrow_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long, Ptr) -/// void *operator new[](unsigned long, std::align_val_t, const std::nothrow_t&, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t") +/// void *operator new[](unsigned long, std::align_val_t, const std::nothrow_t&, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long, Ptr, Bool) /// void *operator new(unsigned int); @@ -321,9 +321,9 @@ TLI_DEFINE_STRING_INTERNAL("_Znwm") TLI_DEFINE_SIG_INTERNAL(Ptr, Long) -/// void *operator new(unsigned long, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(Znwm10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_Znwm10hot_cold_t") +/// void *operator new(unsigned long, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(Znwm12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_Znwm12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Bool) /// void *operator new(unsigned long, const std::nothrow_t&); @@ -331,9 +331,9 @@ TLI_DEFINE_STRING_INTERNAL("_ZnwmRKSt9nothrow_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Ptr) -/// void *operator new(unsigned long, const std::nothrow_t&, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(ZnwmRKSt9nothrow_t10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_ZnwmRKSt9nothrow_t10hot_cold_t") +/// void *operator new(unsigned long, const std::nothrow_t&, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(ZnwmRKSt9nothrow_t12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_ZnwmRKSt9nothrow_t12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Ptr, Bool) /// void *operator new(unsigned long, std::align_val_t) @@ -341,9 +341,9 @@ TLI_DEFINE_STRING_INTERNAL("_ZnwmSt11align_val_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long) -/// void *operator new(unsigned long, std::align_val_t, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(ZnwmSt11align_val_t10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_ZnwmSt11align_val_t10hot_cold_t") +/// void *operator new(unsigned long, std::align_val_t, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(ZnwmSt11align_val_t12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_ZnwmSt11align_val_t12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long, Bool) /// void *operator new(unsigned long, std::align_val_t, const std::nothrow_t&) @@ -351,9 +351,9 @@ TLI_DEFINE_STRING_INTERNAL("_ZnwmSt11align_val_tRKSt9nothrow_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long, Ptr) -/// void *operator new(unsigned long, std::align_val_t, const std::nothrow_t&, hot_cold_t) -TLI_DEFINE_ENUM_INTERNAL(ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t) -TLI_DEFINE_STRING_INTERNAL("_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t") +/// void *operator new(unsigned long, std::align_val_t, const std::nothrow_t&, __hot_cold_t) +TLI_DEFINE_ENUM_INTERNAL(ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t) +TLI_DEFINE_STRING_INTERNAL("_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t") TLI_DEFINE_SIG_INTERNAL(Ptr, Long, Long, Ptr, Bool) /// double __acos_finite(double x); diff --git a/llvm/lib/Analysis/MemoryBuiltins.cpp b/llvm/lib/Analysis/MemoryBuiltins.cpp --- a/llvm/lib/Analysis/MemoryBuiltins.cpp +++ b/llvm/lib/Analysis/MemoryBuiltins.cpp @@ -115,25 +115,25 @@ {LibFunc_ZnwjSt11align_val_t, {OpNewLike, 2, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned int, align_val_t) {LibFunc_ZnwjSt11align_val_tRKSt9nothrow_t, {MallocLike, 3, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned int, align_val_t, nothrow) {LibFunc_Znwm, {OpNewLike, 1, 0, -1, -1, MallocFamily::CPPNew}}, // new(unsigned long) - {LibFunc_Znwm10hot_cold_t, {OpNewLike, 2, 0, -1, -1, MallocFamily::CPPNew}}, // new(unsigned long, hot_cold_t) + {LibFunc_Znwm12__hot_cold_t, {OpNewLike, 2, 0, -1, -1, MallocFamily::CPPNew}}, // new(unsigned long, __hot_cold_t) {LibFunc_ZnwmRKSt9nothrow_t, {MallocLike, 2, 0, -1, -1, MallocFamily::CPPNew}}, // new(unsigned long, nothrow) - {LibFunc_ZnwmRKSt9nothrow_t10hot_cold_t, {MallocLike, 3, 0, -1, -1, MallocFamily::CPPNew}}, // new(unsigned long, nothrow, hot_cold_t) + {LibFunc_ZnwmRKSt9nothrow_t12__hot_cold_t, {MallocLike, 3, 0, -1, -1, MallocFamily::CPPNew}}, // new(unsigned long, nothrow, __hot_cold_t) {LibFunc_ZnwmSt11align_val_t, {OpNewLike, 2, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned long, align_val_t) - {LibFunc_ZnwmSt11align_val_t10hot_cold_t, {OpNewLike, 3, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned long, align_val_t, hot_cold_t) + {LibFunc_ZnwmSt11align_val_t12__hot_cold_t, {OpNewLike, 3, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned long, align_val_t, __hot_cold_t) {LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t, {MallocLike, 3, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned long, align_val_t, nothrow) - {LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t, {MallocLike, 4, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned long, align_val_t, nothrow, hot_cold_t) + {LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t, {MallocLike, 4, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new(unsigned long, align_val_t, nothrow, __hot_cold_t) {LibFunc_Znaj, {OpNewLike, 1, 0, -1, -1, MallocFamily::CPPNewArray}}, // new[](unsigned int) {LibFunc_ZnajRKSt9nothrow_t, {MallocLike, 2, 0, -1, -1, MallocFamily::CPPNewArray}}, // new[](unsigned int, nothrow) {LibFunc_ZnajSt11align_val_t, {OpNewLike, 2, 0, -1, 1, MallocFamily::CPPNewArrayAligned}}, // new[](unsigned int, align_val_t) {LibFunc_ZnajSt11align_val_tRKSt9nothrow_t, {MallocLike, 3, 0, -1, 1, MallocFamily::CPPNewArrayAligned}}, // new[](unsigned int, align_val_t, nothrow) {LibFunc_Znam, {OpNewLike, 1, 0, -1, -1, MallocFamily::CPPNewArray}}, // new[](unsigned long) - {LibFunc_Znam10hot_cold_t, {OpNewLike, 2, 0, -1, -1, MallocFamily::CPPNew}}, // new[](unsigned long, hot_cold_t) + {LibFunc_Znam12__hot_cold_t, {OpNewLike, 2, 0, -1, -1, MallocFamily::CPPNew}}, // new[](unsigned long, __hot_cold_t) {LibFunc_ZnamRKSt9nothrow_t, {MallocLike, 2, 0, -1, -1, MallocFamily::CPPNewArray}}, // new[](unsigned long, nothrow) - {LibFunc_ZnamRKSt9nothrow_t10hot_cold_t, {MallocLike, 3, 0, -1, -1, MallocFamily::CPPNew}}, // new[](unsigned long, nothrow, hot_cold_t) + {LibFunc_ZnamRKSt9nothrow_t12__hot_cold_t, {MallocLike, 3, 0, -1, -1, MallocFamily::CPPNew}}, // new[](unsigned long, nothrow, __hot_cold_t) {LibFunc_ZnamSt11align_val_t, {OpNewLike, 2, 0, -1, 1, MallocFamily::CPPNewArrayAligned}}, // new[](unsigned long, align_val_t) - {LibFunc_ZnamSt11align_val_t10hot_cold_t, {OpNewLike, 3, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new[](unsigned long, align_val_t, hot_cold_t) + {LibFunc_ZnamSt11align_val_t12__hot_cold_t, {OpNewLike, 3, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new[](unsigned long, align_val_t, __hot_cold_t) {LibFunc_ZnamSt11align_val_tRKSt9nothrow_t, {MallocLike, 3, 0, -1, 1, MallocFamily::CPPNewArrayAligned}}, // new[](unsigned long, align_val_t, nothrow) - {LibFunc_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t, {MallocLike, 4, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new[](unsigned long, align_val_t, nothrow, hot_cold_t) + {LibFunc_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t, {MallocLike, 4, 0, -1, 1, MallocFamily::CPPNewAligned}}, // new[](unsigned long, align_val_t, nothrow, __hot_cold_t) {LibFunc_msvc_new_int, {OpNewLike, 1, 0, -1, -1, MallocFamily::MSVCNew}}, // new(unsigned int) {LibFunc_msvc_new_int_nothrow, {MallocLike, 2, 0, -1, -1, MallocFamily::MSVCNew}}, // new(unsigned int, nothrow) {LibFunc_msvc_new_longlong, {OpNewLike, 1, 0, -1, -1, MallocFamily::MSVCNew}}, // new(unsigned long long) diff --git a/llvm/lib/Analysis/TargetLibraryInfo.cpp b/llvm/lib/Analysis/TargetLibraryInfo.cpp --- a/llvm/lib/Analysis/TargetLibraryInfo.cpp +++ b/llvm/lib/Analysis/TargetLibraryInfo.cpp @@ -474,7 +474,7 @@ TLI.setUnavailable(LibFunc_ZnajSt11align_val_tRKSt9nothrow_t); TLI.setUnavailable(LibFunc_Znam); TLI.setUnavailable(LibFunc_ZnamRKSt9nothrow_t); - TLI.setUnavailable(LibFunc_ZnamRKSt9nothrow_t10hot_cold_t); + TLI.setUnavailable(LibFunc_ZnamRKSt9nothrow_t12__hot_cold_t); TLI.setUnavailable(LibFunc_ZnamSt11align_val_t); TLI.setUnavailable(LibFunc_ZnamSt11align_val_tRKSt9nothrow_t); TLI.setUnavailable(LibFunc_Znwj); @@ -483,15 +483,15 @@ TLI.setUnavailable(LibFunc_ZnwjSt11align_val_tRKSt9nothrow_t); TLI.setUnavailable(LibFunc_Znwm); TLI.setUnavailable(LibFunc_ZnwmRKSt9nothrow_t); - TLI.setUnavailable(LibFunc_ZnwmRKSt9nothrow_t10hot_cold_t); + TLI.setUnavailable(LibFunc_ZnwmRKSt9nothrow_t12__hot_cold_t); TLI.setUnavailable(LibFunc_ZnwmSt11align_val_t); TLI.setUnavailable(LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t); - TLI.setUnavailable(LibFunc_Znwm10hot_cold_t); - TLI.setUnavailable(LibFunc_ZnwmSt11align_val_t10hot_cold_t); - TLI.setUnavailable(LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t); - TLI.setUnavailable(LibFunc_Znam10hot_cold_t); - TLI.setUnavailable(LibFunc_ZnamSt11align_val_t10hot_cold_t); - TLI.setUnavailable(LibFunc_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t); + TLI.setUnavailable(LibFunc_Znwm12__hot_cold_t); + TLI.setUnavailable(LibFunc_ZnwmSt11align_val_t12__hot_cold_t); + TLI.setUnavailable(LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t); + TLI.setUnavailable(LibFunc_Znam12__hot_cold_t); + TLI.setUnavailable(LibFunc_ZnamSt11align_val_t12__hot_cold_t); + TLI.setUnavailable(LibFunc_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t); } else { // Not MSVC, assume it's Itanium. TLI.setUnavailable(LibFunc_msvc_new_int); diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp --- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp @@ -1661,7 +1661,7 @@ } // When enabled, replace operator new() calls marked with a hot or cold memprof -// attribute with an operator new() call that takes a hot_cold_t parameter. +// 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 Value *LibCallSimplifier::optimizeNew(CallInst *CI, IRBuilderBase &B, @@ -1680,34 +1680,34 @@ switch (Func) { case LibFunc_Znwm: return emitHotColdNew(CI->getArgOperand(0), B, TLI, - LibFunc_Znwm10hot_cold_t, HotCold); + LibFunc_Znwm12__hot_cold_t, HotCold); case LibFunc_Znam: return emitHotColdNew(CI->getArgOperand(0), B, TLI, - LibFunc_Znam10hot_cold_t, HotCold); + LibFunc_Znam12__hot_cold_t, HotCold); case LibFunc_ZnwmRKSt9nothrow_t: return emitHotColdNewNoThrow(CI->getArgOperand(0), CI->getArgOperand(1), B, - TLI, LibFunc_ZnwmRKSt9nothrow_t10hot_cold_t, + TLI, LibFunc_ZnwmRKSt9nothrow_t12__hot_cold_t, HotCold); case LibFunc_ZnamRKSt9nothrow_t: return emitHotColdNewNoThrow(CI->getArgOperand(0), CI->getArgOperand(1), B, - TLI, LibFunc_ZnamRKSt9nothrow_t10hot_cold_t, + TLI, LibFunc_ZnamRKSt9nothrow_t12__hot_cold_t, HotCold); case LibFunc_ZnwmSt11align_val_t: return emitHotColdNewAligned(CI->getArgOperand(0), CI->getArgOperand(1), B, - TLI, LibFunc_ZnwmSt11align_val_t10hot_cold_t, + TLI, LibFunc_ZnwmSt11align_val_t12__hot_cold_t, HotCold); case LibFunc_ZnamSt11align_val_t: return emitHotColdNewAligned(CI->getArgOperand(0), CI->getArgOperand(1), B, - TLI, LibFunc_ZnamSt11align_val_t10hot_cold_t, + TLI, LibFunc_ZnamSt11align_val_t12__hot_cold_t, HotCold); case LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t: return emitHotColdNewAlignedNoThrow( CI->getArgOperand(0), CI->getArgOperand(1), CI->getArgOperand(2), B, - TLI, LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t, HotCold); + TLI, LibFunc_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t, HotCold); case LibFunc_ZnamSt11align_val_tRKSt9nothrow_t: return emitHotColdNewAlignedNoThrow( CI->getArgOperand(0), CI->getArgOperand(1), CI->getArgOperand(2), B, - TLI, LibFunc_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t, HotCold); + TLI, LibFunc_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t, HotCold); default: return nullptr; } diff --git a/llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll b/llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll --- a/llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll +++ b/llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll @@ -2,60 +2,60 @@ ; RUN: opt < %s -passes=instcombine -optimize-hot-cold-new -S | FileCheck %s --check-prefix=HOTCOLD ;; Check that operator new(unsigned long) converted to -;; operator new(unsigned long, hot_cold_t) with a hot or cold attribute. +;; operator new(unsigned long, __hot_cold_t) with a hot or cold attribute. ; HOTCOLD-LABEL: @new() define void @new() { - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_Znwm10hot_cold_t(i64 10, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_Znwm12__hot_cold_t(i64 10, i8 0) %call = call ptr @_Znwm(i64 10) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_Znwm(i64 10) %call1 = call ptr @_Znwm(i64 10) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_Znwm10hot_cold_t(i64 10, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_Znwm12__hot_cold_t(i64 10, i8 -1) %call2 = call ptr @_Znwm(i64 10) #2 call void @dummy(ptr %call2) ret void } ;; Check that operator new(unsigned long, std::align_val_t) converted to -;; operator new(unsigned long, std::align_val_t, hot_cold_t) with a hot or +;; operator new(unsigned long, std::align_val_t, __hot_cold_t) with a hot or ;; cold attribute. ; HOTCOLD-LABEL: @new_align() define void @new_align() { - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_ZnwmSt11align_val_t10hot_cold_t(i64 10, i64 8, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_ZnwmSt11align_val_t12__hot_cold_t(i64 10, i64 8, i8 0) %call = call ptr @_ZnwmSt11align_val_t(i64 10, i64 8) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_ZnwmSt11align_val_t(i64 10, i64 8) %call1 = call ptr @_ZnwmSt11align_val_t(i64 10, i64 8) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_ZnwmSt11align_val_t10hot_cold_t(i64 10, i64 8, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_ZnwmSt11align_val_t12__hot_cold_t(i64 10, i64 8, i8 -1) %call2 = call ptr @_ZnwmSt11align_val_t(i64 10, i64 8) #2 call void @dummy(ptr %call2) ret void } ;; Check that operator new(unsigned long, const std::nothrow_t&) converted to -;; operator new(unsigned long, const std::nothrow_t&, hot_cold_t) with a hot or +;; operator new(unsigned long, const std::nothrow_t&, __hot_cold_t) with a hot or ;; cold attribute. ; HOTCOLD-LABEL: @new_nothrow() define void @new_nothrow() { %nt = alloca i8 - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_ZnwmRKSt9nothrow_t10hot_cold_t(i64 10, ptr nonnull %nt, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_ZnwmRKSt9nothrow_t12__hot_cold_t(i64 10, ptr nonnull %nt, i8 0) %call = call ptr @_ZnwmRKSt9nothrow_t(i64 10, ptr %nt) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_ZnwmRKSt9nothrow_t(i64 10, ptr nonnull %nt) %call1 = call ptr @_ZnwmRKSt9nothrow_t(i64 10, ptr %nt) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_ZnwmRKSt9nothrow_t10hot_cold_t(i64 10, ptr nonnull %nt, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_ZnwmRKSt9nothrow_t12__hot_cold_t(i64 10, ptr nonnull %nt, i8 -1) %call2 = call ptr @_ZnwmRKSt9nothrow_t(i64 10, ptr %nt) #2 call void @dummy(ptr %call2) ret void @@ -63,81 +63,81 @@ ;; Check that operator new(unsigned long, std::align_val_t, const std::nothrow_t&) ;; converted to -;; operator new(unsigned long, std::align_val_t, const std::nothrow_t&, hot_cold_t) +;; operator new(unsigned long, std::align_val_t, const std::nothrow_t&, __hot_cold_t) ;; with a hot or cold attribute. ; HOTCOLD-LABEL: @new_align_nothrow() define void @new_align_nothrow() { %nt = alloca i8 - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 0) %call = call ptr @_ZnwmSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr %nt) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_ZnwmSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr nonnull %nt) %call1 = call ptr @_ZnwmSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr %nt) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_ZnwmSt11align_val_tRKSt9nothrow_t10hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 -1) %call2 = call ptr @_ZnwmSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr %nt) #2 call void @dummy(ptr %call2) ret void } ;; Check that operator new[](unsigned long) converted to -;; operator new[](unsigned long, hot_cold_t) with a hot or cold attribute. +;; operator new[](unsigned long, __hot_cold_t) with a hot or cold attribute. ; HOTCOLD-LABEL: @array_new() define void @array_new() { - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_Znam10hot_cold_t(i64 10, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_Znam12__hot_cold_t(i64 10, i8 0) %call = call ptr @_Znam(i64 10) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_Znam(i64 10) %call1 = call ptr @_Znam(i64 10) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_Znam10hot_cold_t(i64 10, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_Znam12__hot_cold_t(i64 10, i8 -1) %call2 = call ptr @_Znam(i64 10) #2 call void @dummy(ptr %call2) ret void } ;; Check that operator new[](unsigned long, std::align_val_t) converted to -;; operator new[](unsigned long, std::align_val_t, hot_cold_t) with a hot or +;; operator new[](unsigned long, std::align_val_t, __hot_cold_t) with a hot or ;; cold attribute. ; HOTCOLD-LABEL: @array_new_align() define void @array_new_align() { - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_ZnamSt11align_val_t10hot_cold_t(i64 10, i64 8, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_ZnamSt11align_val_t12__hot_cold_t(i64 10, i64 8, i8 0) %call = call ptr @_ZnamSt11align_val_t(i64 10, i64 8) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_ZnamSt11align_val_t(i64 10, i64 8) %call1 = call ptr @_ZnamSt11align_val_t(i64 10, i64 8) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_ZnamSt11align_val_t10hot_cold_t(i64 10, i64 8, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_ZnamSt11align_val_t12__hot_cold_t(i64 10, i64 8, i8 -1) %call2 = call ptr @_ZnamSt11align_val_t(i64 10, i64 8) #2 call void @dummy(ptr %call2) ret void } ;; Check that operator new[](unsigned long, const std::nothrow_t&) converted to -;; operator new[](unsigned long, const std::nothrow_t&, hot_cold_t) with a hot or +;; operator new[](unsigned long, const std::nothrow_t&, __hot_cold_t) with a hot or ;; cold attribute. ; HOTCOLD-LABEL: @array_new_nothrow() define void @array_new_nothrow() { %nt = alloca i8 - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_ZnamRKSt9nothrow_t10hot_cold_t(i64 10, ptr nonnull %nt, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_ZnamRKSt9nothrow_t12__hot_cold_t(i64 10, ptr nonnull %nt, i8 0) %call = call ptr @_ZnamRKSt9nothrow_t(i64 10, ptr %nt) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_ZnamRKSt9nothrow_t(i64 10, ptr nonnull %nt) %call1 = call ptr @_ZnamRKSt9nothrow_t(i64 10, ptr %nt) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_ZnamRKSt9nothrow_t10hot_cold_t(i64 10, ptr nonnull %nt, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_ZnamRKSt9nothrow_t12__hot_cold_t(i64 10, ptr nonnull %nt, i8 -1) %call2 = call ptr @_ZnamRKSt9nothrow_t(i64 10, ptr %nt) #2 call void @dummy(ptr %call2) ret void @@ -145,21 +145,21 @@ ;; Check that operator new[](unsigned long, std::align_val_t, const std::nothrow_t&) ;; converted to -;; operator new[](unsigned long, std::align_val_t, const std::nothrow_t&, hot_cold_t) +;; operator new[](unsigned long, std::align_val_t, const std::nothrow_t&, __hot_cold_t) ;; with a hot or cold attribute. ; HOTCOLD-LABEL: @array_new_align_nothrow() define void @array_new_align_nothrow() { %nt = alloca i8 - ;; Attribute cold converted to hot_cold_t value 0 (coldest). - ; HOTCOLD: @_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 0) + ;; Attribute cold converted to __hot_cold_t value 0 (coldest). + ; HOTCOLD: @_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 0) %call = call ptr @_ZnamSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr %nt) #0 call void @dummy(ptr %call) ;; Attribute notcold has no effect. ; HOTCOLD: @_ZnamSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr nonnull %nt) %call1 = call ptr @_ZnamSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr %nt) #1 call void @dummy(ptr %call1) - ;; Attribute hot converted to hot_cold_t value 255 (-1) (hottest). - ; HOTCOLD: @_ZnamSt11align_val_tRKSt9nothrow_t10hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 -1) + ;; Attribute hot converted to __hot_cold_t value 255 (-1) (hottest). + ; HOTCOLD: @_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t(i64 10, i64 8, ptr nonnull %nt, i8 -1) %call2 = call ptr @_ZnamSt11align_val_tRKSt9nothrow_t(i64 10, i64 8, ptr %nt) #2 call void @dummy(ptr %call2) ret void diff --git a/llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml b/llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml --- a/llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml +++ b/llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml @@ -38,7 +38,7 @@ # # WRONG_DETAIL: << TLI yes SDK no : '_ZdaPv' aka operator delete[](void*) # WRONG_DETAIL: >> TLI no SDK yes: '_ZdaPvj' aka operator delete[](void*, unsigned int) -# WRONG_DETAIL-COUNT-8: << TLI yes SDK no : {{.*}}hot_cold_t +# WRONG_DETAIL-COUNT-8: << TLI yes SDK no : {{.*}}__hot_cold_t # WRONG_SUMMARY: << Total TLI yes SDK no: 9{{$}} # WRONG_SUMMARY: >> Total TLI no SDK yes: 1{{$}} # WRONG_SUMMARY: == Total TLI yes SDK yes: 234 diff --git a/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp b/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp --- a/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp +++ b/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp @@ -433,26 +433,26 @@ "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* @_Znam12__hot_cold_t(i64, i8)\n" "declare i8* @_ZnamRKSt9nothrow_t(i64, %struct*)\n" - "declare i8* @_ZnamRKSt9nothrow_t10hot_cold_t(i64, %struct*, i8)\n" + "declare i8* @_ZnamRKSt9nothrow_t12__hot_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_t12__hot_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, " + "declare i8* @_ZnamSt11align_val_tRKSt9nothrow_t12__hot_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* @_Znwm12__hot_cold_t(i64, i8)\n" "declare i8* @_ZnwmRKSt9nothrow_t(i64, %struct*)\n" - "declare i8* @_ZnwmRKSt9nothrow_t10hot_cold_t(i64, %struct*, i8)\n" + "declare i8* @_ZnwmRKSt9nothrow_t12__hot_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_t12__hot_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, " + "declare i8* @_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t(i64, i64, " "%struct*, i8)\n" "declare void @\"??3@YAXPEAX@Z\"(i8*)\n"