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

bump: Inkwell beta.2 and LLVM11 #303

Merged
merged 2 commits into from
Feb 28, 2021

Conversation

baszalmstra
Copy link
Collaborator

@baszalmstra baszalmstra commented Jan 22, 2021

This updates our codebase to use master of inkwell. Once inkwell beta1 is published to creates.io I will updates this PR to use that instead.

This PR also updates our entire codebase to LLVM11 which contains our fix for LLD. Closes #256 .

This will also clear the way to be able to build a fully statically linked version of Mun (except for libc) on Linux. (See #191 )

Note that I removed the build instructions for Arch because it was already outdated in the first place and I don't know how to update it correctly. If anyone would like to help out with that, let me know! :)

@baszalmstra baszalmstra added the type: perf Changes that improve performance label Jan 22, 2021
@baszalmstra baszalmstra self-assigned this Jan 22, 2021
@baszalmstra baszalmstra changed the title Feature/inkwell beta1 bump: Inkwell beta1 and LLVM11 Jan 22, 2021
@baszalmstra baszalmstra force-pushed the feature/inkwell_beta1 branch 15 times, most recently from f8404f7 to d0211cb Compare January 22, 2021 22:57
@codecov
Copy link

codecov bot commented Jan 22, 2021

Codecov Report

Merging #303 (72ea35b) into master (b83586a) will increase coverage by 0.07%.
The diff coverage is 82.09%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #303      +/-   ##
==========================================
+ Coverage   80.80%   80.87%   +0.07%     
==========================================
  Files         240      242       +2     
  Lines       14584    14716     +132     
==========================================
+ Hits        11785    11902     +117     
- Misses       2799     2814      +15     
Impacted Files Coverage Δ
crates/mun_compiler/src/diagnostics_snippets.rs 84.00% <ø> (ø)
crates/mun_hir/src/in_file.rs 45.45% <ø> (ø)
crates/mun_hir/src/package_defs/tests.rs 86.58% <ø> (ø)
crates/mun_language_server/src/capabilities.rs 0.00% <0.00%> (ø)
crates/mun_language_server/src/diagnostics.rs 62.96% <0.00%> (ø)
crates/mun_language_server/src/lib.rs 11.11% <ø> (ø)
crates/mun_language_server/src/state/protocol.rs 36.84% <0.00%> (-2.60%) ⬇️
crates/mun_syntax/src/lib.rs 63.04% <ø> (ø)
crates/mun_syntax/src/parsing/lexer.rs 94.91% <ø> (ø)
crates/mun_codegen/src/ir/body.rs 79.79% <36.36%> (-0.63%) ⬇️
... and 28 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1feebf0...72ea35b. Read the comment docs.

@baszalmstra baszalmstra force-pushed the feature/inkwell_beta1 branch 2 times, most recently from c7b4b18 to 25c896d Compare February 1, 2021 08:53
@baszalmstra baszalmstra marked this pull request as ready for review February 1, 2021 08:53
@baszalmstra baszalmstra changed the title bump: Inkwell beta1 and LLVM11 bump: Inkwell beta.2 and LLVM11 Feb 1, 2021
@baszalmstra baszalmstra force-pushed the feature/inkwell_beta1 branch 2 times, most recently from 822e2cb to ff50a53 Compare February 5, 2021 16:10
@@ -1,8 +0,0 @@
ignore-not-existing: true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this a dead file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it hasnt been used for a long time now

@@ -132,7 +132,7 @@ source_filename = "group_name"
@"struct_info::<ValueStruct>::field_names" = private unnamed_addr constant [2 x i8*] [i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"struct_info::<ValueStruct>::field_names.0", i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @"struct_info::<ValueStruct>::field_names.1", i32 0, i32 0)]
@"struct_info::<ValueStruct>::field_types" = private unnamed_addr constant [2 x %"mun_codegen::ir::types::TypeInfo"*] [%"mun_codegen::ir::types::TypeInfo"* @"type_info::<core::f32>", %"mun_codegen::ir::types::TypeInfo"* @"type_info::<core::f32>"]
@"struct_info::<ValueStruct>::field_offsets" = private unnamed_addr constant [2 x i16] [i16 0, i16 4]
@"type_info::<ValueStruct>" = private unnamed_addr constant { %"mun_codegen::ir::types::TypeInfo", %"mun_codegen::ir::types::StructInfo" } { %"mun_codegen::ir::types::TypeInfo" <{ [0 x i64] zeroinitializer, [16 x i8] c"U0{\87\5C\04Q/\95!$\A2\F1\A9\F9W", [0 x i64] zeroinitializer, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"type_info::<ValueStruct>::name", i32 0, i32 0), [0 x i64] zeroinitializer, i32 64, [0 x i64] zeroinitializer, i8 4, [0 x i64] zeroinitializer, i8 1, [1 x i16] zeroinitializer }>, %"mun_codegen::ir::types::StructInfo" <{ [0 x i64] zeroinitializer, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @"struct_info::<ValueStruct>::field_names", i32 0, i32 0), [0 x i64] zeroinitializer, %"mun_codegen::ir::types::TypeInfo"** getelementptr inbounds ([2 x %"mun_codegen::ir::types::TypeInfo"*], [2 x %"mun_codegen::ir::types::TypeInfo"*]* @"struct_info::<ValueStruct>::field_types", i32 0, i32 0), [0 x i64] zeroinitializer, i16* getelementptr inbounds ([2 x i16], [2 x i16]* @"struct_info::<ValueStruct>::field_offsets", i32 0, i32 0), [0 x i64] zeroinitializer, i16 2, [0 x i64] zeroinitializer, i8 1, [5 x i8] zeroinitializer }> }
@"type_info::<ValueStruct>" = private unnamed_addr constant { %"mun_codegen::ir::types::TypeInfo", %"mun_codegen::ir::types::StructInfo" } { %"mun_codegen::ir::types::TypeInfo" <{ [0 x i64] zeroinitializer, [16 x i8] c"U0{\87\\\04Q/\95!$\A2\F1\A9\F9W", [0 x i64] zeroinitializer, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"type_info::<ValueStruct>::name", i32 0, i32 0), [0 x i64] zeroinitializer, i32 64, [0 x i64] zeroinitializer, i8 4, [0 x i64] zeroinitializer, i8 1, [1 x i16] zeroinitializer }>, %"mun_codegen::ir::types::StructInfo" <{ [0 x i64] zeroinitializer, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @"struct_info::<ValueStruct>::field_names", i32 0, i32 0), [0 x i64] zeroinitializer, %"mun_codegen::ir::types::TypeInfo"** getelementptr inbounds ([2 x %"mun_codegen::ir::types::TypeInfo"*], [2 x %"mun_codegen::ir::types::TypeInfo"*]* @"struct_info::<ValueStruct>::field_types", i32 0, i32 0), [0 x i64] zeroinitializer, i16* getelementptr inbounds ([2 x i16], [2 x i16]* @"struct_info::<ValueStruct>::field_offsets", i32 0, i32 0), [0 x i64] zeroinitializer, i16 2, [0 x i64] zeroinitializer, i8 1, [5 x i8] zeroinitializer }> }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why this changed

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like something changed from "U0{\87\5C\04Q/\95!$\A2\F1\A9\F9W" to "U0{\87\\\04Q/\95!$\A2\F1\A9\F9W" also not entirely sure why..

Copy link
Collaborator

@Wodann Wodann Feb 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes me wonder whether this was previously broken 🤷‍♂️

If not serious, feel free to merge

Copy link
Collaborator

@Wodann Wodann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of remarks, that I'd like to hear you thoughts on; otherwise, great change! Happy to finally be moving to an official inkwell release 😀

@baszalmstra baszalmstra merged commit df03295 into mun-lang:master Feb 28, 2021
@Wodann Wodann added type: build Changes that affect the build system or external dependencies and removed type: perf Changes that improve performance labels Dec 28, 2023
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: build Changes that affect the build system or external dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update to latest Inkwell
2 participants