From 39f96fb8a4e0150edf6d090f05590d7d7450190a Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Fri, 24 Mar 2006 09:34:43 +0000 Subject: [PATCH] omit the __DISCARD__() call if unregisterised --- ghc/compiler/cmm/PprC.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ghc/compiler/cmm/PprC.hs b/ghc/compiler/cmm/PprC.hs index 51a3f07..a8d3066 100644 --- a/ghc/compiler/cmm/PprC.hs +++ b/ghc/compiler/cmm/PprC.hs @@ -38,6 +38,7 @@ import UniqFM ( eltsUFM ) import FastString import Outputable import Constants +import StaticFlags ( opt_Unregisterised ) -- The rest import Data.List ( intersperse, groupBy ) @@ -709,7 +710,9 @@ pprCall ppr_fn cconv results args vols -- to the callee, because the argument expressions may refer to -- machine registers that are also used for passing arguments in the -- C calling convention. - ptext SLIT("__DISCARD__();") $$ + (if (not opt_Unregisterised) + then ptext SLIT("__DISCARD__();") + else empty) $$ #endif ppr_assign results (ppr_fn <> parens (commafy (map pprArg args))) <> semi $$ ptext SLIT("CALLER_RESTORE_SYSTEM") $$ -- 1.7.10.4