1. 29 Feb, 2020 1 commit
  2. 15 Nov, 2019 1 commit
  3. 29 Oct, 2019 1 commit
  4. 22 Oct, 2019 2 commits
    • Stefan Schulze Frielinghaus's avatar
      Implement s390x LLVM backend. · fd8b666a
      Stefan Schulze Frielinghaus authored
      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
      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
  5. 05 Oct, 2019 1 commit
    • matthewbauer's avatar
      Add musl systems to llvm-targets · 8039b625
      matthewbauer authored
      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
  6. 13 Jun, 2019 1 commit
  7. 12 Jun, 2019 1 commit
  8. 07 Jun, 2019 1 commit
  9. 14 Dec, 2018 1 commit
  10. 09 Aug, 2018 1 commit
  11. 08 Jun, 2018 1 commit
  12. 02 Jun, 2018 1 commit
  13. 30 May, 2018 1 commit
  14. 27 Sep, 2017 1 commit
    • 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
  15. 23 Sep, 2017 1 commit
  16. 06 Sep, 2017 1 commit
    • Moritz Angermann's avatar
      Clean up opt and llc · 22733532
      Moritz Angermann authored
      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