| Index: src/IceInstARM32.cpp
|
| diff --git a/src/IceInstARM32.cpp b/src/IceInstARM32.cpp
|
| index b0bc7a53ddf1d0f499dfee3964e6be091b2a1e77..d2cd6efbc4464922b84384e59acc82274ba63336 100644
|
| --- a/src/IceInstARM32.cpp
|
| +++ b/src/IceInstARM32.cpp
|
| @@ -689,7 +689,6 @@ void InstARM32Mov::emit(const Cfg *Func) const {
|
| }
|
|
|
| void InstARM32Mov::emitIAS(const Cfg *Func) const {
|
| - assert(getSrcSize() == 1);
|
| (void)Func;
|
| assert(!(isMultiDest() && isMultiSource()) && "Invalid vmov type.");
|
| ARM32::AssemblerARM32 *Asm = Func->getAssembler<ARM32::AssemblerARM32>();
|
| @@ -752,8 +751,8 @@ void InstARM32Br::emitIAS(const Cfg *Func) const {
|
| } else {
|
| Asm->b(Asm->getOrCreateCfgNodeLabel(getTargetTrue()->getIndex()),
|
| getPredicate());
|
| - Asm->b(Asm->getOrCreateCfgNodeLabel(getTargetFalse()->getIndex()),
|
| - CondARM32::AL);
|
| + if (const CfgNode *False = getTargetFalse())
|
| + Asm->b(Asm->getOrCreateCfgNodeLabel(False->getIndex()), CondARM32::AL);
|
| }
|
| if (Asm->needsTextFixup())
|
| emitUsingTextFixup(Func);
|
|
|