Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

llvmPackages_10: rc3 -> rc4 -> rc5, polly enabled by default #82781

Merged
merged 3 commits into from Mar 22, 2020

Conversation

@DieGoldeneEnte
Copy link
Contributor

@DieGoldeneEnte DieGoldeneEnte commented Mar 17, 2020

Motivation for this change
  • rc4 was released.
  • No reason to keep two separate llvm-version, since polly needs to be enabled to use during compilation (size difference 26MB or ~10% for llvm, but only one llvm and clang is build instead of two). Originally this was done to defer rebuilds (see ed60483)
Things done
  • Updated hashed and version (rc3 -> rc4).
  • removed non polly build
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@DieGoldeneEnte
Copy link
Contributor Author

@DieGoldeneEnte DieGoldeneEnte commented Mar 17, 2020

@ggreif Do you want to test this? It build without any problems on Linux, so I don't think it should break for Darwin.

@ggreif
Copy link
Contributor

@ggreif ggreif commented Mar 17, 2020

I prepared #82785, but I guess your version is better. Please close mine, if so. My Darwin build is ongoing. I'll test your patch soon.

@@ -30,16 +30,11 @@ let
in {

llvm = callPackage ./llvm.nix { };
Copy link
Contributor

@ggreif ggreif Mar 17, 2020

Why not enable polly here? It would merely add a new shared library. Then the clang build would pick up the polly functionality and make it available though a flag to clang.

Copy link
Contributor

@ggreif ggreif Mar 17, 2020

Maybe I am deeply confused, but do you expect that polly is now available in the vanilla clang?

Copy link
Contributor Author

@DieGoldeneEnte DieGoldeneEnte Mar 17, 2020

I totally managed to not add llvm.nix . Sorry, I enable it by default.

@DieGoldeneEnte DieGoldeneEnte changed the title Llvm10 rc4 llvmPackages_10: rc3 -> rc4, polly enabled by default Mar 17, 2020
ggreif
ggreif approved these changes Mar 17, 2020
Copy link
Contributor

@ggreif ggreif left a comment

LGTM!

CC: @basvandijk

@ggreif ggreif mentioned this pull request Mar 17, 2020
10 tasks
@ggreif
Copy link
Contributor

@ggreif ggreif commented Mar 17, 2020

@DieGoldeneEnte can you try

$(nix-build -A llvmPackages_10.clang-unwrapped)/bin/clang -O3 -mllvm -polly -c file.c

with a quick file.c?

@DieGoldeneEnte
Copy link
Contributor Author

@DieGoldeneEnte DieGoldeneEnte commented Mar 18, 2020

@ggreif No Error, so it should work (it would throw an error if polly didn't exist).

@ggreif
Copy link
Contributor

@ggreif ggreif commented Mar 18, 2020

@GrahamcOfBorg build llvmPackages_10 llvmPackages_10.clang-unwrapped llvmPackages_10.lldb llvmPackages_10.lld

@@ -8,7 +8,7 @@ let
pname = "clang";
inherit version;

src = fetch "clang" "1w7ixr16a9f0g5kv4irvhwq973wn0d418kb0p9rabyfscm05wfmq";
src = fetch "clang" "19y2nii0rqq8hf657d331s8rmpddlm5wvcznhdwxkymd0fd5l7vm";
Copy link
Contributor

@ggreif ggreif Mar 18, 2020

in line 39: # 10.0.0rc3-only --> # 10.0.0rc4-only

Copy link
Contributor Author

@DieGoldeneEnte DieGoldeneEnte Mar 19, 2020

I changed the comment to 10.0.0 only, this should be present in 10.0.1, since this is not rc-specific.

Only needed to update hashes and the version.
Updated comment for extension handling patch
There is no good reason to have separate builds for polly and no-polly
versions. wwwwwThe reason for the two versions was (as far as I can
tell) to defer rebuilds (see ed60483).
Polly is now enabled by default.
@DieGoldeneEnte
Copy link
Contributor Author

@DieGoldeneEnte DieGoldeneEnte commented Mar 19, 2020

rc5 is out, I will update the hashes later.

updated versino and hashes for new rc
@DieGoldeneEnte DieGoldeneEnte changed the title llvmPackages_10: rc3 -> rc4, polly enabled by default llvmPackages_10: rc3 -> rc4 -> rc5, polly enabled by default Mar 19, 2020
@matthewbauer matthewbauer merged commit c08d6d5 into NixOS:master Mar 22, 2020
13 checks passed
13 checks passed
@ofborg[bot]
Evaluation Performance Report Evaluator Performance Report
Details
@ofborg[bot]
grahamcofborg-eval ^.^!
Details
@ofborg[bot]
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
@ofborg[bot]
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
@ofborg[bot]
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
@ofborg[bot]
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
@ofborg[bot]
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
@ofborg[bot]
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
@ofborg[bot]
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
@ofborg[bot]
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
@ofborg[bot]
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
@ofborg[bot]
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
@ofborg[bot]
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
dtzWill added a commit to dtzWill/nixpkgs that referenced this issue Mar 22, 2020
llvmPackages_10: rc3 -> rc4 -> rc5, polly enabled by default

(cherry picked from commit c08d6d5)
@DieGoldeneEnte DieGoldeneEnte deleted the llvm10-rc4 branch Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants