Skip to content
Snippets Groups Projects
  1. Dec 09, 2022
  2. Oct 25, 2022
  3. Jun 27, 2022
  4. Dec 15, 2021
    • Greg Steuck's avatar
      Add OpenBSD to llvm-targets · 34abbd81
      Greg Steuck authored and Marge Bot's avatar Marge Bot committed
      This improves some tests that previously failed with:
      
      ghc: panic! (the 'impossible' happened)
        GHC version 9.3.20211211:
              Failed to lookup LLVM data layout
        Target: x86_64-unknown-openbsd
      
      Added the new generated lines to `llvm-targets` on an openbsd
      7.0-current with clang 11.1.0.
      34abbd81
  5. May 22, 2021
  6. Mar 22, 2021
  7. Mar 05, 2021
  8. Nov 15, 2020
    • Moritz Angermann's avatar
      AArch64/arm64 adjustments · 8887102f
      Moritz Angermann authored and Marge Bot's avatar Marge Bot committed
      This addes the necessary logic to support aarch64 on elf, as well
      as aarch64 on mach-o, which Apple calls arm64.
      
      We change architecture name to AArch64, which is the official arm
      naming scheme.
      8887102f
  9. Aug 14, 2020
  10. Feb 29, 2020
  11. Nov 15, 2019
  12. Oct 29, 2019
  13. Oct 22, 2019
    • Stefan Schulze Frielinghaus's avatar
      Implement s390x LLVM backend. · fd8b666a
      Stefan Schulze Frielinghaus authored and Marge Bot's avatar Marge Bot committed
      This patch adds support for the s390x architecture for the LLVM code
      generator. The patch includes a register mapping of STG registers onto
      s390x machine registers which enables a registerised build.
      fd8b666a
    • matthewbauer's avatar
      Replace freebsd-gnueabihf with freebsd · aa31ceaf
      matthewbauer authored and Marge Bot's avatar Marge Bot committed
      FreeBSD does not support GNU libc, so it makes no sense to use this
      triple. Most likely previous builds were just using the FreeBSD libc
      instead of gnueabihf. To fix this, we should just use
      armv6-unknown-freebsd and armv7-unknown-freebsd triples. Note that
      both of these are actually "soft-float", not "hard-float". FreeBSD has
      never officially released hard-float arm32:
      
      https://wiki.freebsd.org/ARMTier1
      aa31ceaf
  14. Oct 05, 2019
    • matthewbauer's avatar
      Add musl systems to llvm-targets · 8039b625
      matthewbauer authored and Marge Bot's avatar Marge Bot committed
      This was done in Nixpkgs, but never upstreamed. Musl is pretty much
      the same as gnu, but with a different libc. I’ve used the same values
      for everything.
      8039b625
  15. Jun 13, 2019
  16. Jun 12, 2019
  17. Jun 07, 2019
  18. Dec 14, 2018
  19. Aug 09, 2018
  20. Jun 08, 2018
  21. Jun 02, 2018
  22. May 30, 2018
  23. Sep 27, 2017
    • Moritz Angermann's avatar
      llvm-targets: drop soft-float · 60b06456
      Moritz Angermann authored
      Summary:
      The llvm-targets file records `mattr` values, and
      while interrogating `clang` for the target, we might
      stumble upon `+soft-float-abi`, however ghc does not support
      full soft-float, and as such passing `+soft-float` to `llc`
      will result in segfaults for any function passing float
      registers F1, ... in the ARM Instruction Selection Pass.
      
      Reviewers: bgamari, austin
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D4030
      60b06456
  24. Sep 23, 2017
  25. Sep 06, 2017
    • Moritz Angermann's avatar
      Clean up opt and llc · 22733532
      Moritz Angermann authored and Ben Gamari's avatar Ben Gamari committed
      The LLVM backend shells out to LLVMs `opt` and `llc` tools. This clean
      up introduces a shared data structure to carry the arguments we pass to
      each tool so that corresponding flags are next to each other. It drops
      the hard coded data layouts in favor of using `-mtriple` and have LLVM
      infer them. Furthermore we add `clang` as a proper tool, so we don't
      rely on assuming that `clang` is called `clang` on the `PATH` when using
      `clang` as the assembler.  Finally this diff also changes the type of
      `optLevel` from `Int` to `Word`, as we do not have negative optimization
      levels.
      
      Reviewers: erikd, hvr, austin, rwbarton, bgamari, kavon
      
      Reviewed By: kavon
      
      Subscribers: michalt, Ericson2314, ryantrinkle, dfeuer, carter, simonpj,
      kavon, simonmar, thomie, erikd, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3352
      22733532
Loading