Commit Graph

425 Commits

Author SHA1 Message Date
Eduard-Mihai Burtescu
54d98c882f builder: generalize the panic format_args! remover to handle runtime args. 2023-06-02 11:46:02 +03:00
Eduard-Mihai Burtescu
e9cdb9666b rustup: update to nightly-2023-04-15. 2023-06-02 11:46:02 +03:00
Eduard-Mihai Burtescu
9011856b00 custom_inst: add {Push,Pop}InlinedCallFrame and emit them in the inliner. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
08371d3264 spirt_passes/diagnostics: track uses of global variables more accurately. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
7d99248b29 spirt_passes/diagnostics: also recover zombie Spans from their own attrs. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
0557036fb1 Preserve all intra-function annotations in both specializer and inline. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
ecaefff584 entry: fix entry-point stub spans (to point to the actual fn name). 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
344605fde8 custom_insts: make SetDebugSrcLoc have a range instead of just the starting location. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
c5dcd035b1 Add custom_insts for our own OpExtInsts, and use it for some debuginfo. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
69349b1b9d linker/dce: use FxIndexSet instead of FxHashSet for the "roots" set. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
0160d1dc75 linker/zombies: keep &Instruction for OpLine, instead of extracting operands. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
a42b7edbea Rename decorations to custom_decorations. 2023-06-02 00:32:50 +03:00
Eduard-Mihai Burtescu
7a44fa1e9c Apply suggestions from code review 2023-05-26 19:46:04 +03:00
Tendsin Mende
0db8e0a338 add decoration-id rewrite to inliner 2023-05-26 19:46:04 +03:00
Eduard-Mihai Burtescu
2bac7c1bf0 Remove --no-spirt and the old structurizer. 2023-05-19 15:14:33 +03:00
Eduard-Mihai Burtescu
6589f07b6f linker/test: remove non-SPIR-T codepaths. 2023-05-19 15:14:33 +03:00
Eduard-Mihai Burtescu
7e402553bc Use .rsplit_once("/src/") instead of .split_once("/src/"). 2023-04-21 22:03:38 +03:00
Eduard-Mihai Burtescu
f559a6b16e Integrate the SPIR-T qptr experiment. 2023-04-21 21:26:00 +03:00
Eduard-Mihai Burtescu
b5b651103d Actually generate an OpBitcast for illegal pointercasts. 2023-04-21 21:26:00 +03:00
Eduard-Mihai Burtescu
285eab4913 linker/specializer: fix some latent bugs that were hidden by zombies. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
ee8adbf566 linker: add a SPIR-T-based zombie reporting alternative, behind --no-early-report-zombies. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
dcd2c74054 Replace "system crate" vs "user code" distinction with zombies everywhere. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
633dff18bd linker/zombies: report all reachable zombies, w/ OpLine-based stack traces. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
abb1508f3f decorations: use custom string encodings instead of JSON. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
a73fc021f2 decorations: split off SrcLocDecoration from ZombieDecoration. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
c7351f9107 decorations: use line & column instead of a Span's BytePos. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
e7921fbf20 decorations: allow zero-copy deserialization of strings. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
b3067494e8 decorations: limit zombie SerializedSpans to an OpLine equivalent. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
ddfafd1f4a linker/zombies: regenerate rustc SourceFiles from OpSource. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
3fb4f9176a Emit OpSource for every source file referenced via OpLine. 2023-04-21 10:31:46 +03:00
Eduard-Mihai Burtescu
7b7015e8c6 builder: use undef bool instead of false, for checked_binop's zombie. 2023-04-05 14:21:56 +03:00
Eduard-Mihai Burtescu
1370631303 linker/inline: require legal ("memory object") pointer args in should_inline. 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
17f18cfa10 linker/inline: merge args_invalid's functionality into should_inline. 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
4ba89030ee linker/inline: (negative) "relevant globals" -> (positive) "legal globals". 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
0ace4c7c95 linker/inline: group all 3 "type properties" into a map of "relevant globals". 2023-04-04 12:16:05 +03:00
Eduard-Mihai Burtescu
11a2fe71b5 entry: apply NonWritable to read-only StorageBuffers. 2023-04-04 05:43:26 +03:00
Eduard-Mihai Burtescu
939f00e89e entry: "infer" -> "deduce", anonymous pair -> dedicated struct. 2023-04-04 05:43:26 +03:00
Eduard-Mihai Burtescu
5fffc752a0 entry: disallow explicit/interior mutability for read-only storage classes. 2023-04-04 03:50:50 +03:00
Sylvester Hesp
4e4eff3296 Reinstated comment 2023-03-27 01:23:07 -07:00
Sylvester Hesp
86f0cc994f Upgrade to nightly-03-04 2023-03-27 01:23:07 -07:00
Sylvester Hesp
1ca358b9f6 Upgrade to nightly-2023-02-15 2023-03-27 01:23:07 -07:00
Sylvester Hesp
a239e344b6 Upgrade to nightly-2023-02-01 2023-03-27 01:23:07 -07:00
Eduard-Mihai Burtescu
34dffa0ea7 inline asm!: ban OpReturn/OpReturnValue (they're always UB). 2023-03-18 02:07:02 +02:00
Eduard-Mihai Burtescu
396adcaf59 abi: implement simple unions (MaybeUninit especially). 2023-03-18 02:07:02 +02:00
Sylvester Hesp
28b675d2eb Update wording on --no-spirt
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2023-03-15 02:02:17 -07:00
Sylvester Hesp
eaab5101ce Made --spirt the default, added --no-spirt 2023-03-15 02:02:17 -07:00
Sylvester Hesp
2f1a102c36 Updated tempfile to 0.3.4 2023-03-14 07:44:53 -07:00
Sylvester Hesp
e4a41cda19 Renamed rust-toolchain to rust-toolchain.toml
to improve workflow with vscode
2023-02-17 01:51:34 +02:00
Sylvester Hesp
b1670298e9 Use skip_binder in favor of subst_identity
Co-authored-by: Eduard-Mihai Burtescu <eddyb@lyken.rs>
2023-02-16 12:32:11 +02:00
Sylvester Hesp
d78c301799 Update to 2023-01-21 2023-02-16 12:32:11 +02:00