File tree Expand file tree Collapse file tree 2 files changed +4
-0
lines changed
cpp/ql/src/semmle/code/cpp/ir/implementation Expand file tree Collapse file tree 2 files changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -647,6 +647,8 @@ module DefUse {
647647 /**
648648 * Holds if the specified `useLocation` is live on entry to `block`. This holds if there is a use of `useLocation`
649649 * that is reachable from the start of `block` without passing through a definition that overlaps `useLocation`.
650+ * Note that even a partially-overlapping definition blocks liveness, because such a definition will insert a `Chi`
651+ * instruction whose result totally overlaps the location.
650652 */
651653 predicate locationLiveOnEntryToBlock ( Alias:: MemoryLocation useLocation , OldBlock block ) {
652654 definitionHasPhiNode ( useLocation , block ) or
Original file line number Diff line number Diff line change @@ -647,6 +647,8 @@ module DefUse {
647647 /**
648648 * Holds if the specified `useLocation` is live on entry to `block`. This holds if there is a use of `useLocation`
649649 * that is reachable from the start of `block` without passing through a definition that overlaps `useLocation`.
650+ * Note that even a partially-overlapping definition blocks liveness, because such a definition will insert a `Chi`
651+ * instruction whose result totally overlaps the location.
650652 */
651653 predicate locationLiveOnEntryToBlock ( Alias:: MemoryLocation useLocation , OldBlock block ) {
652654 definitionHasPhiNode ( useLocation , block ) or
You can’t perform that action at this time.
0 commit comments