While experimenting with an iterated optimization pipeline, I noticed that
the standard optimization pipeline would always change (most) functions.
I tracked it down to TailCallElim always calling setTailCall(), even if the call
is already a tail call; with this change the pipeline does convege after a few
iterations.
Details
Details
- Reviewers
- None
- Group Reviewers
deleted
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Code is obviously correct, but can you add a testcase?
I think you can observe this misbehaviour in opt by setting
-debug-pass=Executions, which should print a "Made Modifications"
line to dbgs() when a pass reports change things. You’ll also need
a "REQUIRES: asserts" line.