[llvm] 15474d7 - [SVE][CodeGen] Replace use of TypeSize operator< in GlobalMerge::doMerge
David Sherwood via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 1 06:07:15 PDT 2020
Author: David Sherwood
Date: 2020-10-01T14:06:59+01:00
New Revision: 15474d769110139f9cc96d42434988d7aaa77634
URL: https://github.com/llvm/llvm-project/commit/15474d769110139f9cc96d42434988d7aaa77634
DIFF: https://github.com/llvm/llvm-project/commit/15474d769110139f9cc96d42434988d7aaa77634.diff
LOG: [SVE][CodeGen] Replace use of TypeSize operator< in GlobalMerge::doMerge
We don't support global variables with scalable vector types so I've
changed the code to compare the fixed sizes instead.
Differential Revision: https://reviews.llvm.org/D88564
Added:
Modified:
llvm/lib/CodeGen/GlobalMerge.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/GlobalMerge.cpp b/llvm/lib/CodeGen/GlobalMerge.cpp
index 1e20c02ba160..6c1ce4c1efb0 100644
--- a/llvm/lib/CodeGen/GlobalMerge.cpp
+++ b/llvm/lib/CodeGen/GlobalMerge.cpp
@@ -223,8 +223,9 @@ bool GlobalMerge::doMerge(SmallVectorImpl<GlobalVariable*> &Globals,
// FIXME: Find better heuristics
llvm::stable_sort(
Globals, [&DL](const GlobalVariable *GV1, const GlobalVariable *GV2) {
- return DL.getTypeAllocSize(GV1->getValueType()) <
- DL.getTypeAllocSize(GV2->getValueType());
+ // We don't support scalable global variables.
+ return DL.getTypeAllocSize(GV1->getValueType()).getFixedSize() <
+ DL.getTypeAllocSize(GV2->getValueType()).getFixedSize();
});
// If we want to just blindly group all globals together, do so.
More information about the llvm-commits
mailing list