[PATCH] D64405: [DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses. Fix for https://bugs.llvm.org/show_bug.cgi?id=42151
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 17 09:55:30 PDT 2019
reames requested changes to this revision.
reames added a comment.
I'd like to suggest a change of approach here. There's already precedent in the code for dealing with inconsistent results from metadata. See the getNonLocalPointerDepFromBB handling for AATags and Size changes. I don't see a reason why invariant_load can't be handled in the same manner in the same place. Doing that consolidates all the cache invalidation in one place, and has the benefit of caching all accesses with as much precision as possible. (i.e. an invariant_load would be cached as invariant until the first normal load from that location was found, and then cached as normal loads)
================
Comment at: test/Analysis/DependenceAnalysis/InvariantLoad.ll:1
+; RUN: opt < %s -passes=gvn -S | FileCheck %s
+
----------------
Stylistically, I'd suggest combining these two files into one and using update_test_checks.py to generate check lines.
And surely there is a more reduced test case possible?
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64405/new/
https://reviews.llvm.org/D64405
More information about the llvm-commits
mailing list