Kai added a comment. Did you consider to make this more generalized? From skimming through the change, I see only 2 ppc-specific things:
- Loading of the canary word - Value of `XORWord` The first bullet is solved by the the other inline comment I made. The second bullet can be solved by using all 64 bits. If a 32 bit value is used, the upper bits are ignored because the `VT` should be `MVT::i32` in this case. ================ Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:11154-11156 + GlobalValue *GV = (Subtarget.isAIXABI()) + ? M->getGlobalVariable(AIXSSPCanaryWordName) + : M->getNamedValue("__stack_chk_guard"); ---------------- I think this can be simplified using `getSDagStackGuard()`. ================ Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:11157 + : M->getNamedValue("__stack_chk_guard"); + if (GV == nullptr) { // linux uses LOAD_STACK_GUARD node instead of having a + // canary word global value ---------------- pscoro wrote: > Addressing a comment from the previous review, GV != nullptr can not be an > assert because linux implements stack guard loading differently than aix. > This review now also supports linux as well You can simplify the code by reordering the conditions: ``` if (useLoadStackGuardNode()) { // LOAD_STACK_GUARD } else if (Value *GV = getSDagStackGuard(M)) { // AIX implementation } else llvm_unreachable("Unhandled stack guard case"); ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129016/new/ https://reviews.llvm.org/D129016 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits