[llvm] [AMDGPU] Handled G_UBSANTRAP GlobalIsel (PR #134492)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 6 18:44:17 PDT 2025
================
@@ -7045,6 +7047,28 @@ bool AMDGPULegalizerInfo::legalizeDebugTrap(MachineInstr &MI,
return true;
}
+bool AMDGPULegalizerInfo::legalizeUbsanTrap(MachineInstr &MI,
+ MachineRegisterInfo &MRI,
+ MachineIRBuilder &B) const {
+ // Is non-HSA path or trap-handler disabled? Then, report a warning
+ // accordingly
+ if (!ST.isTrapHandlerEnabled() ||
+ ST.getTrapHandlerAbi() != GCNSubtarget::TrapHandlerAbi::AMDHSA) {
+ DiagnosticInfoUnsupported NoTrap(B.getMF().getFunction(),
+ "ubsantrap handler not supported",
+ MI.getDebugLoc(), DS_Warning);
+ LLVMContext &Ctx = B.getContext();
+ Ctx.diagnose(NoTrap);
+ } else {
+ // Insert trap instruction
+ B.buildInstr(AMDGPU::S_TRAP)
+ .addImm(static_cast<unsigned>(GCNSubtarget::TrapID::LLVMAMDHSATrap));
+ }
+
+ MI.eraseFromParent();
----------------
shiltian wrote:
Do you want it to be removed even trap handler is disabled?
https://github.com/llvm/llvm-project/pull/134492
More information about the llvm-commits
mailing list