summaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ScalarEvolution.cpp
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2025-08-26 08:57:11 +0800
committerTom Stellard <tstellar@redhat.com>2025-09-22 18:05:55 -0700
commit77a3b0eda3610cdda11a9f2bdeda18dc4e49bc95 (patch)
tree1a85446689d386aa46b4009b7d9e24e795b600c9 /llvm/lib/Analysis/ScalarEvolution.cpp
parentf14551dbc4e8b698f59a5757446d5af12880547f (diff)
[RISCV] Refactor RVV builtin code generation for reduce compilation time [NFC] (#154906)
Extract ManualCodegen blocks from riscv_vector.td to dedicated helper functions in RISCV.cpp to improve compilation times and code organization. This refactoring: - Reduces riscv_vector_builtin_cg.inc from ~70,000 lines to ~30,000 lines - Extracts lots of ManualCodegen blocks into helper functions in RISCV.cpp - Moves complex code generation logic from TableGen to C++ - Marks extracted functions with LLVM_ATTRIBUTE_NOINLINE to prevent excessive inlining in EmitRISCVBuiltinExpr's large switch statement, which would cause compilation time to increase significantly Performance Impact on AMD Ryzen 9 3950X 16-Core with SSD (Release build) with GCC 11: Before: real 1m4.560s, user 0m0.529s, sys 0m0.175s After: real 0m22.577s, user 0m0.498s, sys 0m0.152s Which reduced around 65% of compilation time. During this refactoring, I also found few more opportunities to optimize and simplify the code generation logic, but I think leave to next PR since it already change a lot of code. Fix #88368
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolution.cpp')
0 files changed, 0 insertions, 0 deletions