https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113495
Bug ID: 113495 Summary: RISC-V: Time and memory awful consumption of SPEC2017 wrf benchmark Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: juzhe.zhong at rivai dot ai Target Milestone: --- riscv64-unknown-linux-gnu-gfortran -march=rv64gcv_zvl256b -O3 -S -ftime-report real 63m18.771s user 60m19.036s sys 2m59.787s 60+ minutes. After investigation, the time report show 2 PASS are critical: loop invariant motion :2600.28 ( 72%) 1.68 ( 1%)2602.12 ( 69%) 2617k ( 0%) loop invariant consume most of the time 72% time. The other is the VSETVL PASS: vsetvl: earliest_fuse_vsetvl_info : 438.26 ( 12%) 79.82 ( 47%) 518.08 ( 14%)221807M ( 75%) vsetvl: pre_global_vsetvl_info : 135.98 ( 4%) 31.71 ( 19%) 167.69 ( 4%) 71950M ( 24%) The phase 2 and phase 3 of VSETVL PASS consume 16% times and 99% memory. I will look into VSETVL PASS issue but I am not able to take care of loop invariant issue.