#if !defined(_TARGET_64BIT_)
DecomposeLongs decomp(comp); // Initialize the long decomposition class.
- decomp.PrepareForDecomposition();
+ if (comp->compLongUsed)
+ {
+ decomp.PrepareForDecomposition();
+ }
#endif // !defined(_TARGET_64BIT_)
for (BasicBlock* block = comp->fgFirstBB; block; block = block->bbNext)
comp->compCurBB = block;
#if !defined(_TARGET_64BIT_)
- decomp.DecomposeBlock(block);
+ if (comp->compLongUsed)
+ {
+ decomp.DecomposeBlock(block);
+ }
#endif //!_TARGET_64BIT_
LowerBlock(block);
// Clear the GTF_CALL flag for all nodes but calls
node->gtFlags &= ~GTF_CALL;
}
+
+ if (node->TypeGet() == TYP_LONG)
+ {
+ comp->compLongUsed = true;
+ }
}
assert(isLateArg == ((use.Def()->gtFlags & GTF_LATE_ARG) != 0));