I added Stg and Cmm linter to my custom pipeline and they report no errors.
On Wed, Jan 22, 2020 at 4:40 PM Csaba Hruska <csaba.hru...@gmail.com> wrote: > Here are the pretty printed STG in GHC syntax: > > *WORKING (DoubleRep): prints 3.14* > > > > > > > > > > > > > > > > > > *x0 :: Any[GblId] = "Value: MyConA %d %d\n"#;x1 :: Any[GblId] = > "Value: MyConB %lf\n"#;main :: Any[GblId] = [] \u [void_0E] case > MyConB [3.14##] of x100 { __DEFAULT -> case x100 of > x101 { MyConA x200 x202 -> __pkg_ccall [x0 x200 x202]; > MyConB x203 -> __pkg_ccall [x1 x203]; }; };* > > > *WRONG (FloatRep) : prints 0.00 instead of 3.14* > > > > > > > > > > > > > > > > > > *x0 :: Any[GblId] = "Value: MyConA %d %d\n"#;x1 :: Any[GblId] = > "Value: MyConB %f\n"#;main :: Any[GblId] = [] \u [void_0E] case > MyConB [3.14#] of x100 { __DEFAULT -> case x100 of > x101 { MyConA x200 x202 -> __pkg_ccall [x0 x200 x202]; > MyConB x203 -> __pkg_ccall [x1 x203]; }; };* > Thanks, > Csaba > > On Wed, Jan 22, 2020 at 4:21 PM Csaba Hruska <csaba.hru...@gmail.com> > wrote: > >> Sorry, I should have noted that the gist has a description comment at the >> bottom. >> >> https://gist.github.com/csabahruska/e9e143390c863f7b10b0298a7ae80ac1#gistcomment-3148797 >> >> >> On Wed, Jan 22, 2020 at 3:21 PM Ömer Sinan Ağacan <omeraga...@gmail.com> >> wrote: >> >>> What is the problem you're having? What do you mean by "run into >>> problems"? >>> What's going wrong? >>> >>> It'd be helpful if you could show us your program in STG syntax. >>> >>> > Is it valid to use FloatRep argument in a boxed ADT on 64 bit? >>> >>> It should be valid, yes. >>> >>> I'd also try with `-dstg-lint -dcmm-lint`. >>> >>> Ömer >>> >>> Csaba Hruska <csaba.hru...@gmail.com>, 22 Oca 2020 Çar, 14:56 >>> tarihinde şunu yazdı: >>> > >>> > Hello, >>> > >>> > I try to use GHC backend via STG. For that reason I build small STG >>> program AST maually. So far the generated programs worked fine >>> (compile/link/run). >>> > However I run into problems when a lifted ADT has a FloatRep argument. >>> > Interestingly it works for DoubleRep. >>> > I'm using GHC 8.6.1 64 bit to generate the code for the constructed >>> STG AST. >>> > I wonder if I break an invariant or is this actually a bug? >>> > Is it valid to use FloatRep argument in a boxed ADT on 64 bit? >>> > I made a gist with the Haskell source and the generated Cmm code is >>> also included. >>> > >>> > https://gist.github.com/csabahruska/e9e143390c863f7b10b0298a7ae80ac1 >>> > >>> > Working program (DoubleRep): >>> > >>> https://gist.github.com/csabahruska/e9e143390c863f7b10b0298a7ae80ac1#file-stgsample-hs-L134-L198 >>> > >>> > Wrong program (FloatRep): >>> > >>> https://gist.github.com/csabahruska/e9e143390c863f7b10b0298a7ae80ac1#file-stgsample-hs-L64-L132 >>> > >>> > Thanks, >>> > Csaba >>> > >>> > >>> > _______________________________________________ >>> > ghc-devs mailing list >>> > ghc-devs@haskell.org >>> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>> >>
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs