Index: src/IceAssemblerARM32.h |
diff --git a/src/IceAssemblerARM32.h b/src/IceAssemblerARM32.h |
index 4f2495c584c059f57b71409e496c0461584a00c9..20b4e67da28ee3f7596688728a9378cdf3a6dec5 100644 |
--- a/src/IceAssemblerARM32.h |
+++ b/src/IceAssemblerARM32.h |
@@ -53,11 +53,12 @@ public: |
void alignFunction() override { |
const SizeT Align = 1 << getBundleAlignLog2Bytes(); |
SizeT BytesNeeded = Utils::OffsetToAlignment(Buffer.getPosition(), Align); |
+ constexpr uint32_t UndefinedInst = 0xe7fedef0; // udf #60896 |
constexpr SizeT InstSize = sizeof(int32_t); |
assert(BytesNeeded % InstSize == 0); |
while (BytesNeeded > 0) { |
- // TODO(kschimpf) Should this be NOP or some other instruction? |
- bkpt(0); |
+ AssemblerBuffer::EnsureCapacity ensured(&Buffer); |
+ emitInst(UndefinedInst); |
BytesNeeded -= InstSize; |
} |
} |
@@ -91,7 +92,8 @@ public: |
bool fixupIsPCRel(FixupKind Kind) const override { |
(void)Kind; |
- llvm_unreachable("Not yet implemented."); |
+ // TODO(kschimpf) Decide if we need this. |
+ return false; |
} |
void bind(Label *label); |
@@ -118,6 +120,8 @@ public: |
return Asm->getKind() == Asm_ARM32; |
} |
+ void emitTextInst(const std::string &Text); |
+ |
private: |
// A vector of pool-allocated x86 labels for CFG nodes. |
using LabelVector = std::vector<Label *>; |