>> IIRC LLVM is using the table driven mechanism, so it's less impact on the >> compilation time when the instruction becomes more and more. Oh, I see. Could you share more details ? Maybe we can support this in GCC. juzhe.zhong@rivai.ai From: Kito Cheng Date: 2023-05-25 11:53 To: juzhe.zhong@rivai.ai CC: jeffreyalaw; palmer; vineetg; Kito.cheng; gcc-patches; Patrick O'Neill; jlaw; macro Subject: Re: Re: RISC-V Bootstrap problems Jojo has a patch to try to split those things that should help this, but seems not landed. https://patchwork.ozlabs.org/project/gcc/patch/20201104015315.81416-1-jiejie_rong@c-sky.com/ > How about LLVM? Can kito help with this issue? > LLVM has already supported full intrinsics for a long time and no issues. IIRC LLVM is using the table driven mechanism, so it's less impact on the compilation time when the instruction becomes more and more. On Thu, May 25, 2023 at 11:46 AM juzhe.zhong@rivai.ai wrote: > > segment intrinsics are really huge amount. > > Even though I have tried to optimized them, still we have the issues...... > > How about LLVM? Can kito help with this issue? > LLVM has already support full intrinsics for a long time and no issues. > > Thanks. > > > juzhe.zhong@rivai.ai > > From: Jeff Law > Date: 2023-05-25 11:43 > To: Palmer Dabbelt; Vineet Gupta > CC: kito.cheng; gcc-patches; Kito Cheng; Patrick O'Neill; Jeff Law; macro; juzhe.zhong@rivai.ai > Subject: Re: RISC-V Bootstrap problems > > > On 5/24/23 17:13, Palmer Dabbelt wrote: > > On Wed, 24 May 2023 16:12:20 PDT (-0700), Vineet Gupta wrote: > > [ ... big snip ... ] > > >> > >> Never mind. Looks like I found the issue - with just trial and error and > >> no idea of how this stuff works. > >> The torture-{init,finish} needs to be in riscv.exp not rvv.exp > >> Running full tests now. > > > > Thanks! > Marginally related. I was able to bisect the "hang" when 3-staging the > trunk on RISC-V with qemu user mode emulation. > > So it wasn't actually hanging, but after the introduction of segment > intrinsics the compilation time for insn-emit explodes -- previously I > could do a full 3-stage bootstrap, build the glibc & the kernel, then > test c/c++/fortran in ~10 hours. > > Now just building insn-emit.o alone takes ~10 hours in that environment. > I suspect (but have not yet confirmed) that we should see a huge > compile-time spike in cross builds as well, though obviously it won't be > as bad since we're not using qemu emulation. > > Clearly something isn't scaling well. I don't know if we've got a crazy > large function in there, a crazy number of functions or something that's > just triggering a compile-time scaling problem. Whatever it is, we > probably need to address it. > > jeff > >