[PATCH] D104581: [RISCV] Add DAG combine to detect opportunities to replace (i64 (any_extend (i32 X)) with sign_extend.
Nathan Chancellor via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 23 19:18:29 PDT 2021
nathanchance added a comment.
This patch causes an infinite loop while compiling the RISC-V Linux kernel's `allmodconfig` target. A simplified reproducer:
$ cat aspeed-pwm-tacho.i
char aspeed_set_pwm_port_fan_ctrl_priv_0_0,
aspeed_set_pwm_port_fan_ctrl_fan_ctrl;
pwm_store_period, pwm_store_dc_time_on;
pwm_store() {
pwm_store_period = aspeed_set_pwm_port_fan_ctrl_priv_0_0;
pwm_store_period += 1;
pwm_store_dc_time_on =
aspeed_set_pwm_port_fan_ctrl_fan_ctrl * pwm_store_period / 5;
if (pwm_store_dc_time_on)
aspeed_set_pwm_port_duty_rising_falling();
}
$ timeout 5s clang -O0 --target=riscv64-linux-gnu -c -o /dev/null aspeed-pwm-tacho.i; echo $?
...
0
$ timeout 5s clang -O1 --target=riscv64-linux-gnu -c -o /dev/null aspeed-pwm-tacho.i; echo $?
...
0
$ timeout 5s clang -O2 --target=riscv64-linux-gnu -c -o /dev/null aspeed-pwm-tacho.i; echo $?
...
124
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104581/new/
https://reviews.llvm.org/D104581
More information about the llvm-commits
mailing list