C++: Expand comments.

This commit is contained in:
Mathias Vorreiter Pedersen
2023-02-09 17:10:07 +00:00
parent 6b851d0529
commit 981c976754

View File

@@ -439,7 +439,6 @@ predicate operandForFullyConvertedCall(Operand operand, CallInstruction call) {
private predicate instructionForFullyConvertedCallWithConversions( private predicate instructionForFullyConvertedCallWithConversions(
Instruction instr, CallInstruction call Instruction instr, CallInstruction call
) { ) {
// Otherwise, flow to the first non-conversion use.
instr = instr =
getUse(unique(Operand operand | getUse(unique(Operand operand |
operand = fullyConvertedCallStep*(getAUse(call)) and operand = fullyConvertedCallStep*(getAUse(call)) and
@@ -455,12 +454,14 @@ private predicate instructionForFullyConvertedCallWithConversions(
* conversion instruction) to use to represent the value of `call` after conversions. * conversion instruction) to use to represent the value of `call` after conversions.
*/ */
predicate instructionForFullyConvertedCall(Instruction instr, CallInstruction call) { predicate instructionForFullyConvertedCall(Instruction instr, CallInstruction call) {
// Only pick an instruction for the call if we cannot pick a unique operand.
not operandForFullyConvertedCall(_, call) and not operandForFullyConvertedCall(_, call) and
( (
// If there is no use of the call then we pick the call instruction // If there is no use of the call then we pick the call instruction
not instructionForFullyConvertedCallWithConversions(_, call) and not instructionForFullyConvertedCallWithConversions(_, call) and
instr = call instr = call
or or
// Otherwise, flow to the first instruction that defines multiple operands.
instructionForFullyConvertedCallWithConversions(instr, call) instructionForFullyConvertedCallWithConversions(instr, call)
) )
} }