[clang] 8700bee - Revert "[15/15][Clang][RISCV][NFC] Set data member under Policy as constants"
Douglas Yung via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 24 13:01:59 PST 2023
Author: Douglas Yung
Date: 2023-01-24T12:59:15-08:00
New Revision: 8700beee9367fdf95d146c810855125a51006063
URL: https://github.com/llvm/llvm-project/commit/8700beee9367fdf95d146c810855125a51006063
DIFF: https://github.com/llvm/llvm-project/commit/8700beee9367fdf95d146c810855125a51006063.diff
LOG: Revert "[15/15][Clang][RISCV][NFC] Set data member under Policy as constants"
This reverts commit 2b807336ad385e64a7d182d5fb67bdfe449707a3.
This change is causing Windows builds to hang and out of memory errors with clang-15:
- https://lab.llvm.org/buildbot/#/builders/17/builds/33129
- https://lab.llvm.org/buildbot/#/builders/174/builds/17069
- https://lab.llvm.org/buildbot/#/builders/83/builds/28484
- https://lab.llvm.org/buildbot/#/builders/172/builds/22803
- https://lab.llvm.org/buildbot/#/builders/216/builds/16210
Added:
Modified:
clang/include/clang/Support/RISCVVIntrinsicUtils.h
clang/lib/Support/RISCVVIntrinsicUtils.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Support/RISCVVIntrinsicUtils.h b/clang/include/clang/Support/RISCVVIntrinsicUtils.h
index 1ae74284c4c99..fc53d70019c55 100644
--- a/clang/include/clang/Support/RISCVVIntrinsicUtils.h
+++ b/clang/include/clang/Support/RISCVVIntrinsicUtils.h
@@ -92,22 +92,15 @@ enum class TypeModifier : uint8_t {
LLVM_MARK_AS_BITMASK_ENUM(LMUL1),
};
-class Policy {
-public:
+struct Policy {
+ bool IsUnspecified = false;
enum PolicyType {
Undisturbed,
Agnostic,
};
-
-private:
- const bool IsUnspecified = false;
- // The default assumption for an RVV instruction is TAMA, as an undisturbed
- // policy generally will affect the performance of an out-of-order core.
- const PolicyType TailPolicy = Agnostic;
- const PolicyType MaskPolicy = Agnostic;
+ PolicyType TailPolicy = Agnostic;
+ PolicyType MaskPolicy = Agnostic;
bool HasTailPolicy, HasMaskPolicy;
-
-public:
Policy(bool HasTailPolicy, bool HasMaskPolicy)
: IsUnspecified(true), HasTailPolicy(HasTailPolicy),
HasMaskPolicy(HasMaskPolicy) {}
@@ -429,6 +422,7 @@ class RVVIntrinsic {
return IntrinsicTypes;
}
Policy getPolicyAttrs() const {
+ assert(PolicyAttrs.IsUnspecified == false);
return PolicyAttrs;
}
unsigned getPolicyAttrsBits() const {
@@ -437,6 +431,8 @@ class RVVIntrinsic {
// The 1st bit simulates the `vma` of RVV
// int PolicyAttrs = 0;
+ assert(PolicyAttrs.IsUnspecified == false);
+
if (PolicyAttrs.isTUMAPolicy())
return 2;
if (PolicyAttrs.isTAMAPolicy())
diff --git a/clang/lib/Support/RISCVVIntrinsicUtils.cpp b/clang/lib/Support/RISCVVIntrinsicUtils.cpp
index db78d8316c2bc..25084dd98e5c2 100644
--- a/clang/lib/Support/RISCVVIntrinsicUtils.cpp
+++ b/clang/lib/Support/RISCVVIntrinsicUtils.cpp
@@ -1017,6 +1017,7 @@ void RVVIntrinsic::updateNamesAndPolicy(bool IsMasked, bool HasPolicy,
};
if (PolicyAttrs.isUnspecified()) {
+ PolicyAttrs.IsUnspecified = false;
if (IsMasked) {
Name += "_m";
if (HasPolicy)
More information about the cfe-commits
mailing list