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

Reformat xlang-ir to use a new basic block design #13

Merged
merged 74 commits into from
Aug 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
a3be965
feat(xlang-ir)!: Overhaul IR to a structured basic block form
chorman0773 Jan 27, 2024
fb347a1
fix(xlang): Reintroduce dependency on xlang-interface cdylib
chorman0773 Jan 28, 2024
3144a1b
feat(rust-irgen): start support for binary expr
Jan 28, 2024
4b9e8aa
fix(rust-irgen): two problems: off by one errors.
Jan 28, 2024
2c7cf39
feat(rust-irgen): initial support for unary exprs
Jan 28, 2024
7c3dccd
feat(rust-xir): struct support
Jan 28, 2024
49b8fb2
feat(rust-parse): support char literals
Jan 29, 2024
72a3193
feat(rust-hir): support char literals
Jan 29, 2024
25937b5
feat(xlang-backend): Start rewrite for new format
chorman0773 Jan 31, 2024
54c02a9
feat(x86-codegen): Implement support for Tailcall and Jump
chorman0773 Feb 1, 2024
26331d4
chore: update lc-binutils
chorman0773 Feb 2, 2024
b2d8ecd
feat(rust-sema): Typecheck, lower, and visit character literals
chorman0773 Feb 3, 2024
07c92d5
fix(rust-parse): add prefix to parsed character
Feb 3, 2024
a3d8d49
feat(rust-sema): Pass down the type checking for `HirExpr::Cast` prop…
chorman0773 Feb 3, 2024
66dddae
feat(xlang-backend-ssa): half-support calls
Feb 4, 2024
2de6914
feat(xlang-backend-ssa): start implementing non-tailcall
Feb 10, 2024
cfcaf57
doc(xlang-backend): Add documentation for xlang_backed rewrite
chorman0773 Feb 13, 2024
d71b0fa
doc(xlang-ir): Document some variants of `Expr`
chorman0773 Feb 13, 2024
c9b3b03
feat(xlang-backend-ssa): implement convert for pointers
Feb 13, 2024
9ceac78
feat(xlang-backend-ssa): implement exit
Feb 13, 2024
5aea21c
chore: Move autobuild to a submodule
chorman0773 Feb 15, 2024
f6853ce
feat: Add `RUSTFLAGS` to autobuild.toml
chorman0773 Feb 26, 2024
b41bcd8
chore: Remove vendor directory from git
chorman0773 Feb 28, 2024
01369d4
chore: Add autobuild.toml files for lccc and xlang directories
chorman0773 Feb 28, 2024
72d7771
chore: Update autobuild submodule
chorman0773 Feb 28, 2024
dea73d4
feat(xir): Lex XIR files
chorman0773 Feb 28, 2024
e507e17
feat: Add `autobuild.toml`s to frontends and backends.
chorman0773 Mar 2, 2024
3cfa6b6
chore: Update autobuild module
chorman0773 Mar 2, 2024
1421600
feat(xir): Start parsing xir
chorman0773 Mar 11, 2024
46183eb
feat(xlang-ir): Continue documenting xlang_struct
chorman0773 Mar 11, 2024
f5d2eaf
fix(lccc): Don't try to rerun the build script when config.toml isn't…
chorman0773 Mar 11, 2024
11e7cd6
feat(lccc): Start moving builtin target properties to external files
chorman0773 Mar 11, 2024
22c4d4a
feat(xlang-backend): Support `jump` with remaps and `call`
chorman0773 Mar 11, 2024
659b878
feat(rust-frontend): Support `unsafe` and `extern` for functions
chorman0773 Mar 11, 2024
1a79d0a
chore: update submodules
chorman0773 Mar 11, 2024
3a1953d
feat(rust-xir): lower more binary exprs
Mar 11, 2024
035bcaa
feat(codegen): Support string literals and empty product types
chorman0773 Mar 11, 2024
955a3eb
feat(rust-mir): add fallthrough handling, propagate to xir
Mar 11, 2024
9fb17d1
feat(rust): Redo branch lowering from AST
chorman0773 May 17, 2024
330cf0d
chore: Add lccc-siphashsubmodule
chorman0773 May 17, 2024
99dcda8
feat(rust-irgen): Codegen if_else test
chorman0773 May 17, 2024
eba9b92
feat: There's a lot of work being done here. I'm not sure what's seve…
chorman0773 May 17, 2024
caf760b
feat(rust-sema): Enum discriminant changes
chorman0773 Jun 2, 2024
ff4f42e
feat!: update to 2021
Jun 2, 2024
f9998aa
chore: update lc-binutils
Jun 2, 2024
bb5e39c
feat(x86-codegen): Implement clobbers
chorman0773 Jun 2, 2024
af07600
feat(rust-mir): Support default expansion for intrinsics
chorman0773 Jun 13, 2024
d4484ba
feat(rust-stdlib): Start atomics support and optimize `Ordering`
chorman0773 Jun 13, 2024
1b74ac5
feat(xlang-ir): Continue specification docs
chorman0773 Jun 13, 2024
23689fb
feat(xlang-ir): Handle compare instructions separately in xlang
chorman0773 Jun 13, 2024
56bc707
chore: update autobuild submodule
chorman0773 Jun 13, 2024
f619291
feat(rust-irgen): Start supporting intrinsics
chorman0773 Jun 28, 2024
26e0fc4
chore: update autobuild
chorman0773 Jun 28, 2024
9505e8a
feat(xlang-backend): Refactor xlang_backend to support mce
chorman0773 Jun 28, 2024
31f4983
feat(xlang-backend): Refactor codegens to use new mce
chorman0773 Jun 28, 2024
86e346a
feat(rust-sema): Support Lang Items in intrinsic signatures
chorman0773 Jun 29, 2024
7652d96
fix(codegen-x86): Actually spill clobbered and later-used registers t…
chorman0773 Jun 29, 2024
2db74a9
fix(codegen-x86): Don't reload wrong values
chorman0773 Jun 29, 2024
effd4ff
feat(xlang-blackend): Support branch
chorman0773 Jun 29, 2024
326dcc0
fix(rust-mir): Don't emit jumps out of divergent blocks.
chorman0773 Jun 29, 2024
7253a66
feat(rust-mir): Skip generating code for blocks after diverging
chorman0773 Jun 29, 2024
33b7bbe
chore(x86-codegen): Remove println statements that are not longer req…
chorman0773 Jun 29, 2024
3b20f5e
feat(x86-backend): Split assignment for branch from jump/fallthrough
chorman0773 Jun 29, 2024
63cc674
fix: Silence dead_code warnings for public apis
chorman0773 Aug 4, 2024
616f813
feat(xlang-abi): Add `Vec::extend_from_with`
chorman0773 Aug 4, 2024
2f1d29e
feat(xlang-backend): Implement generic regalloc
chorman0773 Aug 4, 2024
56f503c
docs(xlang-ir): Add clause about *weekly-happens-before*
chorman0773 Aug 4, 2024
6cf6ced
chore: Update submodules
chorman0773 Aug 4, 2024
c40b197
chore: update lc-binutils
chorman0773 Aug 4, 2024
af3d523
chore: cargo fmt
chorman0773 Aug 4, 2024
bbdb463
fix: Adjust alloc test
chorman0773 Aug 4, 2024
179e2b9
test(xlang-abi): Don't use xlang::abi::format for test_display
chorman0773 Aug 4, 2024
d121c45
fix(xlang-abi): Vec::extend_from_slice and Vec::extend_from_within di…
chorman0773 Aug 5, 2024
29bc021
Make `StringView::new` a `const fn`
chorman0773 Aug 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
autobuild = ["run", "--package","autobuild","--release","--"]
configure = "autobuild configure"
build-lccc = "autobuild build"
clean-lccc = "autobuild clean"
run-lccc = "run --bin lccc -- --intree"
run-lccc-release = "run --release --bin lccc -- --intree"
guess = "autobuild guess"

[env]
AUTOBUILD_DIR={relative=true, value="autobuild"}
Expand All @@ -12,4 +14,4 @@ AUTOBUILD_DIR={relative=true, value="autobuild"}
# replace-with = "vendored-sources"

[source.vendored-sources]
directory = "vendor"
directory = "vendor"
File renamed without changes.
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ autom4te.cache/
/config.toml
*.o
*.a
a.out
*.out
testfile
test-output.txt
test-output.txt
/build*/
rustc-ice-*.txt
8 changes: 7 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,10 @@
url = https://github.com/chorman0773/rust-target-tuples.git
[submodule "rtlibs"]
path = rtlibs
url = https://github.com/lccc-project/rtlibs.git
url = https://github.com/lccc-project/rtlibs.git
[submodule "autobuild"]
path = autobuild
url = https://github.com/lccc-project/autobuild.git
[submodule "lcrust/libraries/lccc-siphash"]
path = lcrust/libraries/lccc-siphash
url = https://github.com/lccc-project/lccc-siphash.git
Loading
Loading