[Git][ghc/ghc][wip/T18857] 4 commits: CmmToLlvm: Declare signature for memcmp
Ben Gamari
gitlab at gitlab.haskell.org
Fri Oct 30 18:38:37 UTC 2020
Ben Gamari pushed to branch wip/T18857 at Glasgow Haskell Compiler / GHC
Commits:
e82d03da by Ben Gamari at 2020-10-30T14:34:26-04:00
CmmToLlvm: Declare signature for memcmp
Otherwise `opt` fails with:
error: use of undefined value '@memcmp$def'
Fixes #18857.
- - - - -
b2b10d0c by Ben Gamari at 2020-10-30T14:34:26-04:00
gitlab-ci: Run LLVM job on appropriately-labelled MRs
Namely, those marked with the ~"LLVM backend" label
- - - - -
79195366 by Ben Gamari at 2020-10-30T14:34:26-04:00
gitlab-ci: Run LLVM builds on Debian 10
The current Debian 9 image doesn't provide LLVM 7.
- - - - -
00e08ea0 by Ben Gamari at 2020-10-30T14:36:52-04:00
hadrian: Don't use -fllvm to bootstrap under LLVM flavour
Previously Hadrian's LLVM build flavours would use `-fllvm` for all
invocations, even those to stage0 GHC. This meant that we needed to keep
two LLVM versions around in all of the CI images. Moreover, it differed
from the behavior of the old make build system's llvm flavours.
Change this to reflect the behavior of the `make` build system, using
`-fllvm` only with the stage1 and stage2 compilers.
- - - - -
3 changed files:
- .gitlab-ci.yml
- compiler/GHC/CmmToLlvm/Base.hs
- hadrian/src/Settings/Flavours/Llvm.hs
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -647,22 +647,6 @@ validate-x86_64-linux-deb9-debug:
when: always
expire_in: 2 week
-# Disabled to alleviate CI load
-.validate-x86_64-linux-deb9-llvm:
- extends: .build-x86_64-linux-deb9
- stage: full-build
- variables:
- BUILD_FLAVOUR: perf-llvm
- TEST_ENV: "x86_64-linux-deb9-llvm"
-
-nightly-x86_64-linux-deb9-llvm:
- <<: *nightly
- extends: .build-x86_64-linux-deb9
- stage: full-build
- variables:
- BUILD_FLAVOUR: perf-llvm
- TEST_ENV: "x86_64-linux-deb9-llvm"
-
validate-x86_64-linux-deb9-integer-simple:
extends: .build-x86_64-linux-deb9
stage: full-build
@@ -719,6 +703,23 @@ release-x86_64-linux-deb10:
<<: *release
extends: .build-x86_64-linux-deb10
+validate-x86_64-linux-deb10-llvm:
+ extends: .build-x86_64-linux-deb10
+ stage: full-build
+ rules:
+ - if: '$CI_MERGE_REQUEST_LABELS =~ /.*LLVM backend.*/'
+ variables:
+ BUILD_FLAVOUR: perf-llvm
+ TEST_ENV: "x86_64-linux-deb10-llvm"
+
+nightly-x86_64-linux-deb10-llvm:
+ <<: *nightly
+ extends: .build-x86_64-linux-deb10
+ stage: full-build
+ variables:
+ BUILD_FLAVOUR: perf-llvm
+ TEST_ENV: "x86_64-linux-deb10-llvm"
+
#################################
# x86_64-linux-ubuntu 20.04
#################################
=====================================
compiler/GHC/CmmToLlvm/Base.hs
=====================================
@@ -476,6 +476,7 @@ ghcInternalFunctions :: LlvmM ()
ghcInternalFunctions = do
platform <- getPlatform
let w = llvmWord platform
+ mk "memcmp" w [i8Ptr, i8Ptr, w]
mk "memcpy" i8Ptr [i8Ptr, i8Ptr, w]
mk "memmove" i8Ptr [i8Ptr, i8Ptr, w]
mk "memset" i8Ptr [i8Ptr, w, w]
=====================================
hadrian/src/Settings/Flavours/Llvm.hs
=====================================
@@ -25,5 +25,5 @@ mkLlvmFlavour :: Flavour -> Flavour
mkLlvmFlavour flav = flav
{ name = name flav ++ "-llvm"
, args = mconcat [ args flav
- , builder Ghc ? arg "-fllvm" ]
+ , notStage0 ? builder Ghc ? arg "-fllvm" ]
}
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/33845867954b01524fa2cde51cdd639908eb8a9f...00e08ea0e232257d1957de9f9fae0bd6f985186f
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/33845867954b01524fa2cde51cdd639908eb8a9f...00e08ea0e232257d1957de9f9fae0bd6f985186f
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20201030/091d1220/attachment-0001.html>
More information about the ghc-commits
mailing list