[llvm] [Hexagon] Mark instructions as part of the frame setup to fix test sugared-constants.ll (PR #111795)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 11 01:11:41 PDT 2024
https://github.com/pkarveti updated https://github.com/llvm/llvm-project/pull/111795
>From a539d97c34823b00ea64092d193e6b8a5253d684 Mon Sep 17 00:00:00 2001
From: pavani karveti <quic_pkarveti at quicinc.com>
Date: Wed, 9 Oct 2024 23:06:08 -0700
Subject: [PATCH] [Hexagon] Mark instructions as part of the frame setup to fix
test sugared-constants.ll
Added .setMIFlag(MachineInstr::FrameSetup) to all BuildMI calls in
HexagonFrameLowering::insertAllocframe. This change ensures that the
test sugared-constants.ll passes upstream by correctly marking
instructions as part of the frame setup.
---
.../Target/Hexagon/HexagonFrameLowering.cpp | 23 +++++++++++--------
.../DebugInfo/Generic/sugared-constants.ll | 4 ----
2 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
index 05357de40e3a93..7c82f5e9f9a604 100644
--- a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
@@ -906,22 +906,25 @@ void HexagonFrameLowering::insertAllocframe(MachineBasicBlock &MBB,
if (NumBytes >= ALLOCFRAME_MAX) {
// Emit allocframe(#0).
BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe))
- .addDef(SP)
- .addReg(SP)
- .addImm(0)
- .addMemOperand(MMO);
+ .addDef(SP)
+ .addReg(SP)
+ .addImm(0)
+ .addMemOperand(MMO)
+ .setMIFlag(MachineInstr::FrameSetup);
// Subtract the size from the stack pointer.
Register SP = HRI.getStackRegister();
BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP)
- .addReg(SP)
- .addImm(-int(NumBytes));
+ .addReg(SP)
+ .addImm(-int(NumBytes))
+ .setMIFlag(MachineInstr::FrameSetup);
} else {
BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe))
- .addDef(SP)
- .addReg(SP)
- .addImm(NumBytes)
- .addMemOperand(MMO);
+ .addDef(SP)
+ .addReg(SP)
+ .addImm(NumBytes)
+ .addMemOperand(MMO)
+ .setMIFlag(MachineInstr::FrameSetup);
}
}
diff --git a/llvm/test/DebugInfo/Generic/sugared-constants.ll b/llvm/test/DebugInfo/Generic/sugared-constants.ll
index c8ee035dbca1dc..221586fd1bc6f9 100644
--- a/llvm/test/DebugInfo/Generic/sugared-constants.ll
+++ b/llvm/test/DebugInfo/Generic/sugared-constants.ll
@@ -1,7 +1,3 @@
-; xfail this test on hexagon because upstream llc is not emitting the
-; correct DWARF info. Downstream llc is.
-; XFAIL: target=hexagon-{{.*}}
-
; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -v -debug-info - | FileCheck %s
; Use correct signedness when emitting constants of derived (sugared) types.
More information about the llvm-commits
mailing list