Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/include/clang/Support/RISCVVIntrinsicUtils.h | ||
---|---|---|
95–96 | Should this be a class instead of struct so the members are private? |
Hi! Comparing the changes for https://lab.llvm.org/buildbot/#/builders/17/builds/33129 and https://lab.llvm.org/buildbot/#/builders/174/builds/17069 I think you've managed to hit a crash in the host compiler we (Linaro) are using for our bots. Which is the 15.0.0 release.
I will handle it, perhaps I can reduce it down to some pattern 15.x doesn't like but either way I don't think this change is at fault.
Hi @eopXD this change seems to be causing builds on Windows to time out for some reason. Can you take a look?
Hi @dyung and @DavidSpickett,
Thank you for checking this out and sorry for the late reply (Chinese New Year holiday zone right now in Taiwan). Let me look into it now.
This commit seems to cause riscv_vector_builtin_cg.inc to explode into a 630K file, which causes the out-of-memory build fail. Confirmed that this is the commit that is causing the error.
Nice!
Glad you spotted that, I have had creduce running and getting nowhere fast for a day or so. Sounds like it would never have found anything minimal.
Update code. The removal of PolicyAttrs.IsUnspecified = false; under
void RVVIntrinsic::updateNamesAndPolicy(bool IsMasked, bool HasPolicy, std::string &Name, std::string &BuiltinName, std::string &OverloadedName, Policy &PolicyAttrs) { /* ... */ if (PolicyAttrs.isUnspecified()) { }
is incorrect becasue the == operator of the Policy object still uses it.
So repeating builtin-s were created (becasue repeating ones are not recognized
as duplicates), causing riscv_vector_builtin_cg.inc to explode.
The updated patch now only adds const qualifier to TailPolicy and
MaskPolicy.
Should this be a class instead of struct so the members are private?