Skip to content
  1. Jan 29, 2019
    • Bjorn Pettersson's avatar
      [IPCP] Don't crash due to arg count/type mismatch between caller/callee · d014d576
      Bjorn Pettersson authored
      Summary:
      This patch avoids an assert in IPConstantPropagation when
      there is a argument count/type mismatch between the caller and
      the callee.
      
      While this is actually UB on C-level (clang emits a warning),
      the IR verifier seems to accept it. I'm not sure what other
      frontends/languages might think about this, so simply bailing out
      to avoid hitting an assert (in CallSiteBase<>::getArgOperand or
      Value::doRAUW) seems like a simple solution.
      
      The problem is exposed by the fact that AbstractCallSites will look
      through a bitcast at the callee position of a call/invoke.
      
      Reviewers: jdoerfert, reames, efriedma
      
      Reviewed By: jdoerfert, efriedma
      
      Subscribers: eli.friedman, efriedma, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D57052
      
      llvm-svn: 352469
      d014d576
Loading