[PATCH] D140975: Support critical edge splitting for jump tables

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 5 16:55:41 PDT 2023


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86InstrInfo.cpp:3237
+  //   %0 = LEA64r $rip, 1, $noreg, %jump-table.X
+  //   %1 = ADD64rr %X, %0
+  //   JMP64r %1
----------------
The non-PIC code has the %X scaled by 8, but the PIC code doesn't show a scale. What accounts for the difference?


================
Comment at: llvm/lib/Target/X86/X86InstrInfo.cpp:3243
+    return getJumpTableIndexFromAddr(MI);
+  } else if (Opcode == X86::JMP64r || Opcode == X86::JMP32r) {
+    Register Reg = MI.getOperand(0).getReg();
----------------
Drop else after return


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140975/new/

https://reviews.llvm.org/D140975



More information about the llvm-commits mailing list