diff --git a/cbackend.cpp b/cbackend.cpp index 421fc404..40539dfe 100644 --- a/cbackend.cpp +++ b/cbackend.cpp @@ -380,8 +380,8 @@ namespace { static bool isInlinableInst(const Instruction &I) { // Always inline cmp instructions, even if they are shared by multiple // expressions. GCC generates horrible code if we don't. - if (isa(I)) - return true; + if (isa(I) && isa(I.getType()) == false) + return true; // Must be an expression, must be used exactly once. If it is dead, we // emit it inline where it would go.