summaryrefslogtreecommitdiff
path: root/llvm-targets
Commit message (Collapse)AuthorAgeFilesLines
* Add FreeBSD amd64 LLVM targetViktor Dukhovni2018-08-091-0/+1
|
* Add support for FreeBSD armBen Gamari2018-06-071-0/+3
| | | | | | | | | | | | Test Plan: Tested on armv6, armv7 and aarch64 on FreeBSD 12-CURRENT. Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4810
* Add llvm-target for powerpc64le-unknown-linuxAlan Mock2018-06-021-0/+1
| | | | | | | | | | | | Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #15212 Differential Revision: https://phabricator.haskell.org/D4765
* llvm-targets: Add versioned ARM targetsGuillaume GARDET2018-05-301-1/+3
| | | | | Namely armv6l-unknown-linux-gnueabihf and armv7l-unknown-linux-gnueabihf.
* llvm-targets: drop soft-floatMoritz Angermann2017-09-271-4/+4
| | | | | | | | | | | | | | | | | | 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
* Additional LLVM_TARGET logic.Moritz Angermann2017-09-231-3/+4
| | | | | | | | | | | | | | | | | | Summary: This should help resolve the compilcation that came up in Trac #14261 Test Plan: validate on various platforms Reviewers: trofi, bgamari, austin, hvr Reviewed By: trofi Subscribers: rwbarton, thomie, erikd GHC Trac Issues: #14261 Differential Revision: https://phabricator.haskell.org/D4004
* Clean up opt and llcMoritz Angermann2017-09-061-0/+22
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