- 27 Aug, 2019 3 commits
-
-
Andreas Klebinger authored
-
Ömer Sinan Ağacan authored
-
Ömer Sinan Ağacan authored
[skip ci]
-
- 23 Aug, 2019 4 commits
-
-
Sergei Trofimovich authored
Before the change ./configure --disable-dwarf-debug enabled DWARF debugging unconditionally. This happened due to use of 5-argument form of `AC_ARG_ENABLE` without actually checking the passed `$enableval` parameter: ``` AC_ARG_ENABLE(dwarf-unwind, [AC_HELP_STRING([--enable-dwarf-unwind], [Enable DWARF unwinding support in the runtime system via elfutils' libdw [default=no]])], [AC_CHECK_LIB(dw, dwfl_attach_state, [UseLibdw=YES], [AC_MSG_ERROR([Cannot find system libdw (required by --enable-dwarf-unwind)])])] [UseLibdw=NO] ) ``` Note: - `[UseLibdw=NO]` is called when `--{enable,disable}-dwarf-unwind` is not passed at all as a parameter (ok). - `[AC_CHECK_LIB(dw, dwfl_attach_state, [UseLibdw=YES],` is called for both: * `--enable-dwarf-unwind` being passed: `$enableval = "yes"` (ok). * --disable-dwarf-unwind` being passed: `$enableval = "no"` (bad). The change is to use 3-argument `AC_ARG_ENABLE` and check for passed value as `"$enable_dwarf_unwind" = "yes"`. Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org>
-
Andreas Klebinger authored
Use LEB128 encoding for Int/Word variants. This reduces the size of interface files significantly. (~19%). Also includes a few small optimizations to make unboxing work better that I have noticed while looking at the core.
-
Ömer Sinan Ağacan authored
This adds a Stream.consume function, uses it in LLVM and C code generators, and removes the use of Stream.collect function which was used to collect streaming Cmm generation results into a list. LLVM and C backends now properly use streamed Cmm generation, instead of collecting Cmm groups into a list before generating LLVM/C code.
-
Ömer Sinan Ağacan authored
Previously we were using an empty ModuleSRTInfo for each Cmm group with -split-section. As far as I can see this has no benefits, and simplifying this makes another patch simpler (!1304). We also remove some outdated comments: we no longer generate one module-level SRT.
-
- 22 Aug, 2019 4 commits
-
-
Tobias Decking authored
While avoiding #16943.
-
James Foster authored
This commit adds documentation on Hadrian's 'Expr' type and references the documentation in hadrian/README.md
-
Sylvain Henry authored
-
Ben Gamari authored
-
- 19 Aug, 2019 5 commits
-
-
Ben Gamari authored
-
Richard Lupton authored
-
Richard Lupton authored
-
Richard Lupton authored
-
Richard Lupton authored
-
- 18 Aug, 2019 5 commits
-
-
Ömer Sinan Ağacan authored
We now do a shallow closure check on objects in compact regions. See the new comment on why we can't do a "normal" closure check.
-
Sam Halliday authored
-
Ryan Scott authored
`TcTyClsDecls.tcFamDecl1` was using `NotInjective` when creating data family type constructors, which is just plain wrong. This tweaks it to use `Injective` instead. Fixes #17067.
-
Ömer Sinan Ağacan authored
-
Sylvain Henry authored
Make `exactLog2` faster (use `countLeadingZeros` and Int32 bit-ops). On my Core i7-9700k Criterion reports ~50% speedup (from 16 to 8ns).
-
- 16 Aug, 2019 4 commits
-
-
Ömer Sinan Ağacan authored
-
Sylvain Henry authored
`quot` and `rem` are implemented efficiently when the second argument is a constant power of 2. This patch uses the same implementations for `quotRem` primop.
-
Tobias Dammers authored
-
Tobias Dammers authored
-
- 15 Aug, 2019 1 commit
-
-
James Foster authored
These kinds of imports are necessary in some cases such as importing instances of typeclasses or intentionally creating dependencies in the build system, but '-Wunused-imports' can't detect when they are no longer needed. This commit removes the unused ones currently in the code base (not including test files or submodules), with the hope that doing so may increase parallelism in the build system by removing unnecessary dependencies.
-
- 14 Aug, 2019 3 commits
-
-
Richard Eisenberg authored
Fixes #16509. See Note [Not-necessarily-lifted join points] in ByteCodeGen, which tells the full story. This commit also adds some comments and cleans some code in the byte-code generator, as I was exploring around trying to understand it. (This commit removes an old test -- this is really a GHCi problem, not a pattern-synonym problem.) test case: ghci/scripts/T16509
-
Andreas Klebinger authored
The later caused issues on windows by being translated into "\\dev\\null" and python then trying to open this non-existant file. So we now use os.devnull inside python and convert it to "/dev/null" when calling out to the shell, which is bound to run in a unix like environment. This fixes an issue a test producing unexpected stderr output failed with a framework failure instead of showing a diff of the output.
-
Andreas Klebinger authored
We used to serialise large integers as strings. Now they are serialized as a list of Bytes. This changes the size for a Integer in the higher 64bit range from 77 to 9 bytes when written to disk. The impact on the general case is small (<1% for interface files) as we don't use many Integers. But for code that uses many this should be a nice benefit.
-
- 13 Aug, 2019 2 commits
-
-
Tamar Christina authored
-
Sebastian Graf authored
The `UniqDFM` is deterministic, of course, while we provide an unsafe `NonDetUniqFM` wrapper for `UniqFM` to opt into nondeterministic instances.
-
- 10 Aug, 2019 4 commits
-
-
Ömer Sinan Ağacan authored
This does not make any changes in the contents -- formatting only. Previously the comments were too noisy and I've always found it very hard to read. Hopefully it's easier to read now.
-
Ömer Sinan Ağacan authored
-
Ben Gamari authored
AndreasK recently mentioned that he thought that interface file loading may be a non-trivial cost. Let's measure.
-
Joachim Breitner authored
`TablesNextToCode` is now a substituted by configure, where it has the correct defaults and error handling. Nowhere else needs to duplicate that, though we may want the compiler to to guard against bogus settings files. I renamed it from `GhcEnableTablesNextToCode` to `TablesNextToCode` to: - Help me guard against any unfixed usages - Remove any lingering connotation that this flag needs to be combined with `GhcUnreigsterised`. Original reviewers: Original subscribers: TerrorJack, rwbarton, carter Original Differential Revision: https://phabricator.haskell.org/D5082
-
- 07 Aug, 2019 5 commits
-
-
Ben Gamari authored
This reverts commit 4e1dfc37. Due to #16943.
-
Ben Gamari authored
-
wz1000 authored
-
mniip authored
-
mniip authored
-