FPGA開発日記

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

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

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

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

  • needsStackRealignmenthasStackRealignment に変わっていた。

調べてみると以下のメールが回っているようだった。

lists.llvm.org

とりあえずこれくらいで再ビルドができた。バックエンド的にはLLVM12とあまり変わらない。

bool MYRISCVXFrameLowering::hasFP(const MachineFunction &MF) const {
  const MachineFrameInfo &MFI = MF.getFrameInfo();
  const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo();

  // フレームの条件コードが変わっていた
   return MF.getTarget().Options.DisableFramePointerElim(MF) ||
      RegInfo->hasStackRealignment(MF) || MFI.hasVarSizedObjects() ||
      MFI.isFrameAddressTaken();
}