This adds the initial GlobalISel skeleton for PowerPC. It can only run
ir-translator and legalizer for ret void.
This is largely based on the initial GlobalISel patch for RISCV
(https://reviews.llvm.org/D65219).
Paths
| Differential D83100
[PPC][GlobalISel] Add initial GlobalIsel infrastructure ClosedPublic Authored by kbarton on Jul 2 2020, 3:28 PM.
Details Summary This adds the initial GlobalISel skeleton for PowerPC. It can only run This is largely based on the initial GlobalISel patch for RISCV
Diff Detail
Event TimelineHerald added subscribers: llvm-commits, luismarques, steven.zhang and 7 others. · View Herald Transcript arsenm added inline comments. Comment Actions I had some problems refreshing the patch using arcanist. I *think* I have fixed everything now, but if things look odd please let me know.
Comment Actions AArch64 has a sub-directory for GlobalISel related things: madhur13490 added inline comments.
kbarton marked 6 inline comments as done. Comment Actions
Comment Actions
I like this idea. I will do the refactoring in a subsequent commit and update the patch, so if others do not like it it's easy to undo.
Comment Actions
I don't particularly like the AArch64 split. There isn't an entirely clean break between globalisel parts and the rest of the backend. The other target subdirectories are used for places where there's a separate library Comment Actions
I thought I would too, but I added GISel/ prefix to the CMake in the PowerPC directory, which works. That said, I am by no means a cmake expert, so if having a separate CMakeLists.txt file in the GISel directory is "better", I can add one there also. Comment Actions
It's not a separate library, so it's not better. Things are not layered to make this possible Comment Actions Fix warnings from clang-tidy and clang-format and rebase to latest version of master. This revision is now accepted and ready to land.Aug 7 2020, 2:03 PM Comment Actions
This revision was landed with ongoing or failed builds.Sep 10 2020, 9:58 AM Closed by commit rG009cd4e49103: [PPC][GlobalISel] Add initial GlobalIsel infrastructure (authored by kbarton). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 291009 llvm/lib/Target/PowerPC/CMakeLists.txt
llvm/lib/Target/PowerPC/GISel/PPCCallLowering.h
llvm/lib/Target/PowerPC/GISel/PPCCallLowering.cpp
llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.h
llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.h
llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
llvm/lib/Target/PowerPC/GISel/PPCRegisterBanks.td
llvm/lib/Target/PowerPC/LLVMBuild.txt
llvm/lib/Target/PowerPC/PPC.h
llvm/lib/Target/PowerPC/PPC.td
llvm/lib/Target/PowerPC/PPCSubtarget.h
llvm/lib/Target/PowerPC/PPCSubtarget.cpp
llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
llvm/test/CodeGen/PowerPC/GlobalISel/irtranslator-ret.ll
llvm/test/CodeGen/PowerPC/GlobalISel/legalize-ret.mir
|
These should be const?