FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

独自LLVMバックエンドのLLVM14対応を確認

独自に作っていたLLVMRISC-Vバックエンド、LLVM14のリリースに対する対応を確認する。

LLVMバックエンドはバージョンが変わるとAPI群が直ぐに使用が変わってしまうため油断できない。

  • llvm/Support/TargetRegistry.hの位置が変わっていた。llvm/MC/TargetRegistry.hに変更されているので対応した。

  • MachineFrameInfo MFI = MF.getFrameInfo();の戻り地の定義が変わってしまっており、MachineFrameInfoMFI &MI = MF.getFrameInfo()としなければならない。

  • MYRISCVXAsmBackend()writeNopData() が変わってしまっている。

bool writeNopData(raw_ostream &OS, uint64_t Count) const override;
 bool MYRISCVXAsmBackend::writeNopData(raw_ostream &OS, uint64_t Count,
                                       const MCSubtargetInfo *STI) const {
   return true;
 }

とりあえずここまででLLVM14ベースのビルドは成功した。