[PATCH] D43708: [DAE] don't remove args of musttail target/caller
    Fedor Indutny via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Feb 26 17:53:54 PST 2018
    
    
  
indutny added inline comments.
================
Comment at: test/Transforms/DeadArgElim/musttail-caller.ll:6
+
+; CHECK-LABEL: define internal void @test(i32 %a, i32 %b)
+define internal void @test(i32 %a, i32 %b) {
----------------
rnk wrote:
> indutny wrote:
> > rnk wrote:
> > > Do we pass `undef` to the call? That would be correct. It doesn't matter what we pass, so long as we match the prototype.
> > I'm not sure I got your comment. Do you want me to pass `undef` below?
> No. Can you add CHECKs for the musttail call to show what arguments are passed here? I'm wondering if we get or miss that optimization. It is invalid to change the prototype of the foo, but it is valid to pass undef because the args are dead.
I believe it is `musttail call void @foo(i32 %a, i32 0)`
https://reviews.llvm.org/D43708
    
    
More information about the llvm-commits
mailing list