Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: C++ compiler excessive memory usage?
>> try to patch it like this?
>>
>> const uint8_t *RISCVInstructionSelector::getMatchTable() const {
>> static const uint8_t MatchTable0[] = {
>> ....
>> };
>> return MatchTable0;
>> }
>>
>> Not sure what it buys the other way if the function is not
>> declared as constexpr (besides driving the commpiler mad).
>
> It doesn't look too primising, I'm afraid. I'm building the
> preprocessed file, patched as above, and "env TERM=dumb top -I |
> grep <pid>" is currently showing:
>
> 16356 he 83 4 6263M 1881M biowait 17:06 4.88% 4.88% cc1plus
> 16356 he 82 4 6263M 1882M biowait 17:07 3.52% 3.52% cc1plus
> 16356 he 83 4 6263M 1883M biowait 17:07 5.86% 5.86% cc1plus
> 16356 he 83 4 6263M 1880M RUN 17:07 4.88% 4.88% cc1plus
>
> It has yet to complete, and I need to go somewhere else...
The last 4 5s-separated entries from "top | grep":
16356 he 83 4 8213M 1720M biowait 75:21 9.33% 9.33% cc1plus
16356 he 83 4 8213M 1720M biowait 75:21 6.79% 6.79% cc1plus
16356 he 83 4 8213M 1721M biowait 75:22 4.88% 4.88% cc1plus
16356 he 81 4 8217M 1723M biowait 75:23 8.69% 8.69% cc1plus
and sadly, with gcc14, it ended the same as earlier, with
+ /usr/pkg/gcc14/bin/g++ -fstack-protector-strong -Wl,-zrelro -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -fno-exceptions -funwind-tables -fno-rtti -specs=/usr/pkgsrc/wip/rust199/work/.cwrapper/specs.libgcc -c RISCVInstructionSelector.cpp -o RISCVInstructionSelector.o
during GIMPLE pass: forwprop
In file included from /usr/pkgsrc/wip/rust199/work/rustc-1.99.0-src/src/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp:18:
/usr/pkgsrc/wip/rust199/work/rustc-1.99.0-src/src/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h: In function 'bool llvm::GIMatchTableExecutor::executeMatchTable(TgtExecutor&, MatcherState&, const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn>&, llvm::MachineIRBuilder&, const uint8_t*, const llvm::TargetInstrInfo&, llvm::MachineRegisterInfo&, const llvm::TargetRegisterInfo&, const llvm::RegisterBankInfo&, const PredicateBitset&, llvm::CodeGenCoverage*) const [with TgtExecutor = const {anonymous}::RISCVInstructionSelector; PredicateBitset = llvm::Bitset<125>; ComplexMatcherMemFn = std::optional<llvm::SmallVector<std::function<void(llvm::MachineInstrBuilder&)>, 4> > ({anonymous}::RISCVInstructionSelector::*)(llvm::MachineOperand&) const; CustomRendererFn = void ({anonymous}::RISCVInstructionSelector::*)(llvm::MachineInstrBuilder&, const llvm::MachineInstr&, int) const]':
/usr/pkgsrc/wip/rust199/work/rustc-1.99.0-src/src/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h:43:6: internal compiler error: Segmentation fault
43 | bool GIMatchTableExecutor::executeMatchTable(
| ^~~~~~~~~~~~~~~~~~~~
0x1861437 internal_error(char const*, ...)
???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
1032.450u 2855.429s 13:08:29.94 8.2% 0+0k 125+1io 941441pf+0w
Sigh.
- Håvard
Home |
Main Index |
Thread Index |
Old Index