[PATCH] D116677: [2/4] [MC][NFC] Add an optional PreviousInst argument to MCInstrAnalysis::evaluateBranch

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 5 10:34:01 PST 2022


asb created this revision.
Herald added subscribers: luke957, foad, frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, rupprecht, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, kbarton, hiraditya, nhaehnle, jvesely, nemanjai, sdardis, arsenm.
Herald added a reviewer: jhenderson.
Herald added a reviewer: MaskRay.
asb requested review of this revision.
Herald added subscribers: llvm-commits, StephenFan.
Herald added a project: LLVM.

evaluateBranch currently takes a single instruction. This works for most
targets, but is insufficient for e.g. auipc+jalr pairs on RISC-V. This
commit adds a new optional argument for the previous instruction,
allowing these targets to implement evaluateBranch for such instruction
pairs.

This patch simply adds the argument, and modifies llvm-objdump to pass
it.

This isn't a pretty solution, so if you have alternate proposals I'd be keen to discuss.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D116677

Files:
  llvm/include/llvm/MC/MCInstrAnalysis.h
  llvm/lib/MC/MCInstrAnalysis.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
  llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
  llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
  llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
  llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
  llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
  llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
  llvm/tools/llvm-cfi-verify/lib/GraphBuilder.cpp
  llvm/tools/llvm-objdump/llvm-objdump.cpp
  llvm/tools/sancov/sancov.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116677.397635.patch
Type: text/x-patch
Size: 16577 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220105/71f765d9/attachment.bin>


More information about the llvm-commits mailing list