diff --git a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp index 05357de40e3a9..7c82f5e9f9a60 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 c8ee035dbca1d..221586fd1bc6f 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.