X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fcmm%2FMachOp.hs;h=422ed5eac074c50784dce374c4ce4cc2e5e1812d;hp=afe834a506ade3863234932538498e6dc8f50bc5;hb=e06951a75a1f519e8f015880c363a8dedc08ff9c;hpb=49c98d143c382a1341e1046f5ca00819a25691ba diff --git a/compiler/cmm/MachOp.hs b/compiler/cmm/MachOp.hs index afe834a..422ed5e 100644 --- a/compiler/cmm/MachOp.hs +++ b/compiler/cmm/MachOp.hs @@ -1,3 +1,10 @@ +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + ----------------------------------------------------------------------------- -- -- (c) The University of Glasgow 2002-2006 @@ -83,6 +90,7 @@ module MachOp ( import Constants import Outputable +import FastString -- ----------------------------------------------------------------------------- -- MachRep @@ -118,14 +126,14 @@ data MachRep | F80 -- extended double-precision, used in x86 native codegen only. deriving (Eq, Ord, Show) -mrStr I8 = SLIT("I8") -mrStr I16 = SLIT("I16") -mrStr I32 = SLIT("I32") -mrStr I64 = SLIT("I64") -mrStr I128 = SLIT("I128") -mrStr F32 = SLIT("F32") -mrStr F64 = SLIT("F64") -mrStr F80 = SLIT("F80") +mrStr I8 = sLit "I8" +mrStr I16 = sLit "I16" +mrStr I32 = sLit "I32" +mrStr I64 = sLit "I64" +mrStr I128 = sLit "I128" +mrStr F32 = sLit "F32" +mrStr F64 = sLit "F64" +mrStr F80 = sLit "F80" instance Outputable MachRep where ppr rep = ptext (mrStr rep) @@ -276,10 +284,10 @@ data MachHint | FloatHint deriving Eq -mhStr NoHint = SLIT("NoHint") -mhStr PtrHint = SLIT("PtrHint") -mhStr SignedHint = SLIT("SignedHint") -mhStr FloatHint = SLIT("FloatHint") +mhStr NoHint = sLit "NoHint" +mhStr PtrHint = sLit "PtrHint" +mhStr SignedHint = sLit "SignedHint" +mhStr FloatHint = sLit "FloatHint" instance Outputable MachHint where ppr hint = ptext (mhStr hint) @@ -472,10 +480,10 @@ cLongRep = I64 -- isCommutableMachOp {- | -Returns 'True' if the MachOp has commutable arguments. This is used +Returns @True@ if the MachOp has commutable arguments. This is used in the platform-independent Cmm optimisations. -If in doubt, return 'False'. This generates worse code on the +If in doubt, return @False@. This generates worse code on the native routes, but is otherwise harmless. -} isCommutableMachOp :: MachOp -> Bool @@ -496,10 +504,10 @@ isCommutableMachOp mop = -- isAssociativeMachOp {- | -Returns 'True' if the MachOp is associative (i.e. @(x+y)+z == x+(y+z)@) +Returns @True@ if the MachOp is associative (i.e. @(x+y)+z == x+(y+z)@) This is used in the platform-independent Cmm optimisations. -If in doubt, return 'False'. This generates worse code on the +If in doubt, return @False@. This generates worse code on the native routes, but is otherwise harmless. -} isAssociativeMachOp :: MachOp -> Bool @@ -516,7 +524,7 @@ isAssociativeMachOp mop = -- isComparisonMachOp {- | -Returns 'True' if the MachOp is a comparison. +Returns @True@ if the MachOp is a comparison. If in doubt, return False. This generates worse code on the native routes, but is otherwise harmless.