[all-commits] [llvm/llvm-project] 4f5da3: [NewGVN] Track simplification dependencies for phi...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Fri Apr 23 01:49:36 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4f5da356ff35a218f23f0b0c4d08aee90da7de6e
https://github.com/llvm/llvm-project/commit/4f5da356ff35a218f23f0b0c4d08aee90da7de6e
Author: Florian Hahn <flo at fhahn.com>
Date: 2021-04-23 (Fri, 23 Apr 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/phi-of-ops-simplification-dependencies.ll
Log Message:
-----------
[NewGVN] Track simplification dependencies for phi-of-ops.
If we are using a simplified value, we need to add an extra
dependency this value , because changes to the class of the
simplified value may require us to invalidate any decision based on
that value.
This is done by adding such values as additional users, however the
current code does not excludes temporary instructions.
At the moment, this means that we miss those dependencies for
phi-of-ops, because they are temporary instructions at this point. We
instead need to add the extra dependencies to the root instruction of
the phi-of-ops.
This patch pushes the responsibility of adding extra users to the
callers of createExpression & performSymbolicEvaluation. At those
points, it is clearer which real instruction to pick.
Alternatively we could either pass the 'real' instruction as additional
argument or use another map, but I think the approach in the patch makes
things a bit easier to follow.
Fixes PR35074.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D99987
More information about the All-commits
mailing list