[all-commits] [llvm/llvm-project] f64d1c: [RISCV] Add test cases for folding disjoint Or int...

Craig Topper via All-commits all-commits at lists.llvm.org
Wed Jan 3 12:18:20 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f64d1c810a2b8d89c3760cefb957da499c087404
      https://github.com/llvm/llvm-project/commit/f64d1c810a2b8d89c3760cefb957da499c087404
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-03 (Wed, 03 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/mem.ll

  Log Message:
  -----------
  [RISCV] Add test cases for folding disjoint Or into a scalar load address. NFC

After 47a1704ac94c8aeb1aa7e0fc438ff99d36b632c6 we are able to
reassociate a disjoint Or used as a GEP index to get the constant
closer to a load to fold it. This is show by the first test.

We are not able to do this if the GEP created a shift left to scale
the index as the second test shows.

To make this work, we need to preserve the disjoint flag when pulling
the Or through the shift.




More information about the All-commits mailing list