Go to the source code of this file.
 | 
| namespace   | llvm | 
|   | This is an optimization pass for GlobalISel generic memory operations. 
  | 
◆ DEBUG_TYPE
      
        
          | #define DEBUG_TYPE   "called-value-propagation" | 
        
      
 
 
◆ runCVP()
Definition at line 375 of file CalledValuePropagation.cpp.
References llvm::CallingConv::C, llvm::canTrackArgumentsInterprocedurally(), Changed, llvm::MDBuilder::createCallees(), F, llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::getExistingValueState(), llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::MarkBlockExecutable(), and llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::Solve().
Referenced by llvm::CalledValuePropagationPass::run().
 
 
◆ MaxFunctionsPerValue
The maximum number of functions to track per lattice value. 
Once the number of functions a call site can possibly target exceeds this threshold, it's lattice value becomes overdefined. The number of possible lattice values is bounded by Ch(F, M), where F is the number of functions in the module and M is MaxFunctionsPerValue. As such, this value should be kept very small. We likely can't do anything useful for call sites with a large number of possible targets, anyway.