@@ -265,11 +265,15 @@ predicate simpleLocalFlowStep(Node nodeFrom, Node nodeTo) {
265265}
266266
267267private predicate simpleInstructionLocalFlowStep ( Instruction iFrom , Instruction iTo ) {
268- iTo .( CopyInstruction ) .getSourceValue ( ) = iFrom or
269- iTo .( PhiInstruction ) .getAnOperand ( ) .getDef ( ) = iFrom or
268+ iTo .( CopyInstruction ) .getSourceValue ( ) = iFrom
269+ or
270+ iTo .( PhiInstruction ) .getAnOperand ( ) .getDef ( ) = iFrom
271+ or
270272 // Treat all conversions as flow, even conversions between different numeric types.
271- iTo .( ConvertInstruction ) .getUnary ( ) = iFrom or
272- iTo .( InheritanceConversionInstruction ) .getUnary ( ) = iFrom or
273+ iTo .( ConvertInstruction ) .getUnary ( ) = iFrom
274+ or
275+ iTo .( InheritanceConversionInstruction ) .getUnary ( ) = iFrom
276+ or
273277 // A chi instruction represents a point where a new value (the _partial_
274278 // operand) may overwrite an old value (the _total_ operand), but the alias
275279 // analysis couldn't determine that it surely will overwrite every bit of it or
@@ -283,7 +287,8 @@ private predicate simpleInstructionLocalFlowStep(Instruction iFrom, Instruction
283287 // for variables that have escaped: for soundness, the IR has to assume that
284288 // every write to an unknown address can affect every escaped variable, and
285289 // this assumption shows up as data flowing through partial chi operands.
286- iTo .getAnOperand ( ) .( ChiTotalOperand ) .getDef ( ) = iFrom or
290+ iTo .getAnOperand ( ) .( ChiTotalOperand ) .getDef ( ) = iFrom
291+ or
287292 // Flow from argument to return value
288293 iTo = any ( CallInstruction call |
289294 exists ( int indexIn |
@@ -309,7 +314,7 @@ private predicate simpleInstructionLocalFlowStep(Instruction iFrom, Instruction
309314 * Get an instruction that goes into argument `argumentIndex` of `call`. This
310315 * can be either directly or through one pointer indirection.
311316 */
312- private Instruction getACallArgumentOrIndirection ( CallInstruction call , int argumentIndex ) {
317+ Instruction getACallArgumentOrIndirection ( CallInstruction call , int argumentIndex ) {
313318 result = call .getPositionalArgument ( argumentIndex )
314319 or
315320 exists ( ReadSideEffectInstruction readSE |
0 commit comments