mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-12 21:28:48 +00:00
[TailRecursionElimination] Skip debug intrinsics.
Summary: I think we do not need to analyze debug intrinsics here, as they should not impact codegen. This has 2 benefits: 1) slightly less work to do and 2) avoiding generating optimization remarks for converting calls to debug intrinsics to tail calls, which are not really helpful for users. Based on work by Sander de Smalen. Reviewers: davide, trentxintong, aprantl Reviewed By: aprantl Subscribers: llvm-commits, JDevlieghere Tags: #debug-info Differential Revision: https://reviews.llvm.org/D40440 llvm-svn: 319158
This commit is contained in:
parent
1bb272bc74
commit
25ea91a838
@ -230,7 +230,7 @@ static bool markTails(Function &F, bool &AllCallsAreTailCalls,
|
||||
Escaped = ESCAPED;
|
||||
|
||||
CallInst *CI = dyn_cast<CallInst>(&I);
|
||||
if (!CI || CI->isTailCall())
|
||||
if (!CI || CI->isTailCall() || isa<DbgInfoIntrinsic>(&I))
|
||||
continue;
|
||||
|
||||
bool IsNoTail = CI->isNoTailCall() || CI->hasOperandBundles();
|
||||
|
@ -96,8 +96,8 @@ define i32 @maxB(i32 %x, i32 %y) !dbg !34 {
|
||||
|
||||
; OPTIMIZATION_LEVEL_2: define i32 @maxB(i32 %x, i32 %y)
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: entry:
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: tail call void @llvm.dbg.value(metadata i32 %x, metadata !{{[0-9]+}}, metadata !DIExpression()), !dbg !{{[0-9]+}}
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: tail call void @llvm.dbg.value(metadata i32 %y, metadata !{{[0-9]+}}, metadata !DIExpression()), !dbg !{{[0-9]+}}
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: call void @llvm.dbg.value(metadata i32 %x, metadata !{{[0-9]+}}, metadata !DIExpression()), !dbg !{{[0-9]+}}
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: call void @llvm.dbg.value(metadata i32 %y, metadata !{{[0-9]+}}, metadata !DIExpression()), !dbg !{{[0-9]+}}
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: %0 = tail call i32 @maxA(i32 %x, i32 %y) #{{[0-9]+}}, !dbg !{{[0-9]+}}
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: ret i32 %0, !dbg !{{[0-9]+}}
|
||||
; OPTIMIZATION_LEVEL_2-NEXT: }
|
||||
|
Loading…
x
Reference in New Issue
Block a user