git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374498
91177308-0d34-0410-b5e6-
96231b3b80d8
// Callback to replace the uses of CB with the constant C.
auto ReplaceCallSiteUsersWith = [](CallBase &CB, Constant &C) {
- if (CB.getNumUses() == 0)
+ if (CB.getNumUses() == 0 || CB.isMustTailCall())
return ChangeStatus::UNCHANGED;
CB.replaceAllUsesWith(&C);
return ChangeStatus::CHANGED;
; CHECK: ret i32* bitcast (i8* @G to i32*)
ret i32* %c
}
+define i32* @dont_use_const() #0 {
+ %c = musttail call i32* @ret_const()
+ ; CHECK: ret i32* %c
+ ret i32* %c
+}
attributes #0 = { noinline nounwind uwtable }