1. 19 Apr, 2019 2 commits
    • Alec Theriault's avatar
      TH: make `Lift` and `TExp` levity-polymorphic · 57cf1133
      Alec Theriault authored
      Besides the obvious benefits of being able to manipulate `TExp`'s of
      unboxed types, this also simplified `-XDeriveLift` all while making
      it more capable.
      
        * `ghc-prim` is explicitly depended upon by `template-haskell`
      
        * The following TH things are parametrized over `RuntimeRep`:
      
            - `TExp(..)`
            - `unTypeQ`
            - `unsafeTExpCoerce`
            - `Lift(..)`
      
        * The following instances have been added to `Lift`:
      
            - `Int#`, `Word#`, `Float#`, `Double#`, `Char#`, `Addr#`
            - unboxed tuples of lifted types up to arity 7
            - unboxed sums of lifted types up to arity 7
      
          Ideally we would have levity-polymorphic _instances_ of unboxed
          tuples and sums.
      
        * The code generated by `-XDeriveLift` uses expression quotes
          instead of generating large amounts of TH code and having
          special hard-coded cases for some unboxed types.
      57cf1133
    • Alp Mestanogullari's avatar
      Hadrian: fix the value we pass to the test driver for config.compiler_debugged · 5988f17a
      Alp Mestanogullari authored
      We used to pass YES/NO, while that particular field is set to True/False. This
      happens to fix an unexpected pass, T9208.
      5988f17a
  2. 18 Apr, 2019 4 commits
  3. 16 Apr, 2019 2 commits
    • Andrey Mokhov's avatar
      Hadrian: Generate GHC wrapper scripts · 894ec447
      Andrey Mokhov authored
      This is a temporary workaround for #16534. We generate wrapper scripts
      <build-root>/ghc-stage1 and <build-root>/ghc-stage2 that can be used to
      run Stage1 and Stage2 GHCs with the right arguments.
      
      See #16534.
      894ec447
    • Dmitry Dolgov's avatar
      Show dynamic object files (#16062) · 57eb5bc6
      Dmitry Dolgov authored
      Closes #16062. When -dynamic-too is specified, reflect that in the
      progress message, like:
      
      $ ghc Main.hs -dynamic-too
      [1 of 1] Compiling Lib              ( Main.hs, Main.o, Main.dyn_o )
      
      instead of:
      
      $ ghc Main.hs -dynamic-too
      [1 of 1] Compiling Lib              ( Main.hs, Main.o )
      57eb5bc6
  4. 15 Apr, 2019 7 commits
    • Gabor Greif's avatar
      asm-emit-time IND_STATIC elimination · be05bd81
      Gabor Greif authored
      When a new closure identifier is being established to a
      local or exported closure already emitted into the same
      module, refrain from adding an IND_STATIC closure, and
      instead emit an assembly-language alias.
      
      Inter-module IND_STATIC objects still remain, and need to be
      addressed by other measures.
      
      Binary-size savings on nofib are around 0.1%.
      be05bd81
    • Fraser Tweedale's avatar
      users-guide: document :set local-config · ed94d345
      Fraser Tweedale authored
      Document the ':set local-config' command and add a warning about
      sourcing untrusted local .ghci scripts.
      
      Related: #6017
      Related: #14250
      ed94d345
    • Fraser Tweedale's avatar
      GHCi: add 'local-config' setting · aa490b35
      Fraser Tweedale authored
      Add the ':set local-config { source | ignore }' setting to control
      whether .ghci file in current directory will be sourced or not.  The
      directive can be set in global config or $HOME/.ghci, which are
      processed before local .ghci files.
      
      The default is "source", preserving current behaviour.
      
      Related: #6017
      Related: #14250
      aa490b35
    • Fraser Tweedale's avatar
      users-guide: update startup script order · 5c06b60d
      Fraser Tweedale authored
      Update users guide to match the new startup script order.  Also
      clarify that -ignore-dot-ghci does not apply to scripts specified
      via the -ghci-script option.
      
      Part of: #14689
      5c06b60d
    • Fraser Tweedale's avatar
      GHCi: fix load order of .ghci files · 71cf94db
      Fraser Tweedale authored
      Directives in .ghci files in the current directory ("local .ghci")
      can be overridden by global files.  Change the order in which the
      configs are loaded: global and $HOME/.ghci first, then local.
      
      Also introduce a new field to GHCiState to control whether local
      .ghci gets sourced or ignored.  This commit does not add a way to
      set this value (a subsequent commit will add this), but the .ghci
      sourcing routine respects its value.
      
      Fixes: #14689
      Related: #6017
      Related: #14250
      71cf94db
    • Giles Anderson's avatar
    • Giles Anderson's avatar
      Document how -O3 is handled by GHC · b024e289
      Giles Anderson authored
          -O2 is the highest value of optimization.
          -O3 will be reverted to -O2.
      b024e289
  5. 14 Apr, 2019 9 commits
  6. 13 Apr, 2019 3 commits
  7. 12 Apr, 2019 7 commits
  8. 11 Apr, 2019 4 commits
    • Ömer Sinan Ağacan's avatar
      Update a panic message · fa0ccbb8
      Ömer Sinan Ağacan authored
      Point users to the right URL
      fa0ccbb8
    • Ömer Sinan Ağacan's avatar
      Remove unused remilestoning script · 091195a4
      Ömer Sinan Ağacan authored
      091195a4
    • Sylvain Henry's avatar
      Hadrian: fix binary-dir with --docs=none · c401f8a4
      Sylvain Henry authored
      Hadrian's "binary-dist" target must check that the "docs" directory
      exists (it may not since we can disable docs generation).
      c401f8a4
    • Carter Schonwald's avatar
      removing x87 register support from native code gen · 42504f4a
      Carter Schonwald authored
      * simplifies registers to have GPR, Float and Double, by removing the SSE2 and X87 Constructors
      * makes -msse2 assumed/default for x86 platforms, fixing a long standing nondeterminism in rounding
      behavior in 32bit haskell code
      * removes the 80bit floating point representation from the supported float sizes
      * theres still 1 tiny bit of x87 support needed,
      for handling float and double return values in FFI calls  wrt the C ABI on x86_32,
      but this one piece does not leak into the rest of NCG.
      * Lots of code thats not been touched in a long time got deleted as a
      consequence of all of this
      
      all in all, this change paves the way towards a lot of future further
      improvements in how GHC handles floating point computations, along with
      making the native code gen more accessible to a larger pool of contributors.
      42504f4a
  9. 10 Apr, 2019 2 commits