Skip to content

Commit 3d2cc7b

Browse files
jbjRobert Marsh
authored andcommitted
C++: make hasPhiOperandDefinition feasible
1 parent 55f157e commit 3d2cc7b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstruction.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -811,16 +811,16 @@ module DefUse {
811811
* Holds if the `Phi` instruction for location `useLocation` at the beginning of block `phiBlock` has an operand along
812812
* the incoming edge from `predBlock`, where that operand's definition is at offset `defOffset` in block `defBlock`.
813813
*/
814-
pragma[inline]
814+
pragma[noopt]
815815
predicate hasPhiOperandDefinition(
816816
Alias::MemoryLocation defLocation, Alias::MemoryLocation useLocation, OldBlock phiBlock,
817817
OldBlock predBlock, OldBlock defBlock, int defOffset
818818
) {
819819
exists(int defRank |
820820
definitionHasPhiNode(useLocation, phiBlock) and
821821
predBlock = phiBlock.getAFeasiblePredecessor() and
822-
hasDefinitionAtRank(useLocation, defLocation, defBlock, defRank, defOffset) and
823822
definitionReachesEndOfBlock(useLocation, defBlock, defRank, predBlock) and
823+
hasDefinitionAtRank(useLocation, defLocation, defBlock, defRank, defOffset) and
824824
exists(Alias::getOverlap(defLocation, useLocation))
825825
)
826826
}

0 commit comments

Comments
 (0)