[PATCH] D122521: Value-number GVNHoist loads by result type as well as pointer address.
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 26 02:35:50 PDT 2022
nikic added a reviewer: nikic.
nikic added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/GVNHoist.cpp:193
+ // "0" size for pointers is OK, as pointer loads are equivalent.
+ unsigned TypeHash = LT->getTypeID() + (LT->getPrimitiveSizeInBits() << 8);
+ VNtoLoads[{V, TypeHash}].push_back(Load);
----------------
The load type is not necessarily a primitive. I don't think you can get around including the full load type in the key here, otherwise you risk collisions.
================
Comment at: llvm/test/Transforms/GVNHoist/opaque-diff-type.ll:1
+; RUN: opt -opaque-pointers -passes="gvn-hoist" -S %s | FileCheck %s
+
----------------
Use update_test_checks.py please.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122521/new/
https://reviews.llvm.org/D122521
More information about the llvm-commits
mailing list