[llvm] [AMDGPU] Add option to prevent insns straddling half cache-line boundaries (PR #150239)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 23 08:49:09 PDT 2025


================
@@ -159,10 +159,17 @@ void AMDGPUAsmPrinter::emitEndOfAsmFile(Module &M) {
 }
 
 void AMDGPUAsmPrinter::emitFunctionBodyStart() {
-  const SIMachineFunctionInfo &MFI = *MF->getInfo<SIMachineFunctionInfo>();
+  SIMachineFunctionInfo &MFI = *MF->getInfo<SIMachineFunctionInfo>();
   const GCNSubtarget &STM = MF->getSubtarget<GCNSubtarget>();
   const Function &F = MF->getFunction();
 
+  const MCAsmInfo *MAI = MF->getTarget().getMCAsmInfo();
+  if (MAI->hasFunctionAlignment()) {
+    Align Alignment = MF->getAlignment();
+    MFI.Alignment = Alignment.value();
+    MFI.Offset = 0;
+  }
----------------
arsenm wrote:

The alignment should be taken directly from the function without interpretation through the MCAsmInfo 

https://github.com/llvm/llvm-project/pull/150239


More information about the llvm-commits mailing list