Skip to content

Commit dd31937

Browse files
Deploying to gh-pages from @ fcd1b1e 🚀
1 parent 9819eba commit dd31937

File tree

10 files changed

+679
-399
lines changed

10 files changed

+679
-399
lines changed

api/src/rustc_codegen_spirv/codegen_cx/mod.rs.html

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,21 @@
961961
<a href="#960" id="960">960</a>
962962
<a href="#961" id="961">961</a>
963963
<a href="#962" id="962">962</a>
964-
<a href="#963" id="963">963</a></pre></div><pre class="rust"><code><span class="kw">mod </span>constant;
964+
<a href="#963" id="963">963</a>
965+
<a href="#964" id="964">964</a>
966+
<a href="#965" id="965">965</a>
967+
<a href="#966" id="966">966</a>
968+
<a href="#967" id="967">967</a>
969+
<a href="#968" id="968">968</a>
970+
<a href="#969" id="969">969</a>
971+
<a href="#970" id="970">970</a>
972+
<a href="#971" id="971">971</a>
973+
<a href="#972" id="972">972</a>
974+
<a href="#973" id="973">973</a>
975+
<a href="#974" id="974">974</a>
976+
<a href="#975" id="975">975</a>
977+
<a href="#976" id="976">976</a>
978+
<a href="#977" id="977">977</a></pre></div><pre class="rust"><code><span class="kw">mod </span>constant;
965979
<span class="kw">mod </span>declare;
966980
<span class="kw">mod </span>entry;
967981
<span class="kw">mod </span>type_;
@@ -1405,6 +1419,18 @@
14051419
<span class="string">"dump the merged module immediately after merging, to a file in DIR"</span>,
14061420
<span class="string">"DIR"</span>,
14071421
);
1422+
opts.optopt(
1423+
<span class="string">""</span>,
1424+
<span class="string">"dump-pre-inline"</span>,
1425+
<span class="string">"dump the module immediately before inlining, to a file in DIR"</span>,
1426+
<span class="string">"DIR"</span>,
1427+
);
1428+
opts.optopt(
1429+
<span class="string">""</span>,
1430+
<span class="string">"dump-post-inline"</span>,
1431+
<span class="string">"dump the module immediately after inlining, to a file in DIR"</span>,
1432+
<span class="string">"DIR"</span>,
1433+
);
14081434
opts.optopt(
14091435
<span class="string">""</span>,
14101436
<span class="string">"dump-post-split"</span>,
@@ -1583,6 +1609,8 @@
15831609
<span class="comment">// NOTE(eddyb) these are debugging options that used to be env vars
15841610
// (for more information see `docs/src/codegen-args.md`).
15851611
</span>dump_post_merge: matches_opt_dump_dir_path(<span class="string">"dump-post-merge"</span>),
1612+
dump_pre_inline: matches_opt_dump_dir_path(<span class="string">"dump-pre-inline"</span>),
1613+
dump_post_inline: matches_opt_dump_dir_path(<span class="string">"dump-post-inline"</span>),
15861614
dump_post_split: matches_opt_dump_dir_path(<span class="string">"dump-post-split"</span>),
15871615
dump_spirt_passes: matches_opt_dump_dir_path(<span class="string">"dump-spirt-passes"</span>),
15881616
spirt_strip_custom_debuginfo_from_dumps: matches

api/src/rustc_codegen_spirv/linker/dce.rs.html

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,8 @@
285285
<a href="#284" id="284">284</a>
286286
<a href="#285" id="285">285</a>
287287
<a href="#286" id="286">286</a>
288-
<a href="#287" id="287">287</a></pre></div><pre class="rust"><code><span class="doccomment">//! Dead code elimination
288+
<a href="#287" id="287">287</a>
289+
<a href="#288" id="288">288</a></pre></div><pre class="rust"><code><span class="doccomment">//! Dead code elimination
289290
//!
290291
//! This pass removes any instruction that doesn't affect the module. It does so by considering all
291292
//! `OpEntryPoint` instructions to be "rooted", and then everything a rooted instruction touches is
@@ -294,9 +295,10 @@
294295
//! *references* a rooted thing is also rooted, not the other way around - but that's the basic
295296
//! concept.
296297

297-
</span><span class="kw">use </span>rspirv::dr::{Function, Instruction, Module, Operand};
298+
</span><span class="kw">use </span>rspirv::dr::{Block, Function, Instruction, Module, Operand};
298299
<span class="kw">use </span>rspirv::spirv::{Decoration, LinkageType, Op, StorageClass, Word};
299-
<span class="kw">use </span>rustc_data_structures::fx::FxIndexSet;
300+
<span class="kw">use </span>rustc_data_structures::fx::{FxIndexMap, FxIndexSet};
301+
<span class="kw">use </span>std::hash::Hash;
300302

301303
<span class="kw">pub fn </span>dce(module: <span class="kw-2">&amp;mut </span>Module) {
302304
<span class="kw">let </span><span class="kw-2">mut </span>rooted = collect_roots(module);
@@ -424,11 +426,11 @@
424426
}
425427
}
426428

427-
<span class="kw">pub fn </span>dce_phi(func: <span class="kw-2">&amp;mut </span>Function) {
429+
<span class="kw">pub fn </span>dce_phi(blocks: <span class="kw-2">&amp;mut </span>FxIndexMap&lt;<span class="kw">impl </span>Eq + Hash, <span class="kw-2">&amp;mut </span>Block&gt;) {
428430
<span class="kw">let </span><span class="kw-2">mut </span>used = FxIndexSet::default();
429431
<span class="kw">loop </span>{
430432
<span class="kw">let </span><span class="kw-2">mut </span>changed = <span class="bool-val">false</span>;
431-
<span class="kw">for </span>inst <span class="kw">in </span>func.all_inst_iter() {
433+
<span class="kw">for </span>inst <span class="kw">in </span>blocks.values().flat_map(|block| <span class="kw-2">&amp;</span>block.instructions) {
432434
<span class="kw">if </span>inst.class.opcode != Op::Phi || used.contains(<span class="kw-2">&amp;</span>inst.result_id.unwrap()) {
433435
<span class="kw">for </span>op <span class="kw">in </span><span class="kw-2">&amp;</span>inst.operands {
434436
<span class="kw">if let </span><span class="prelude-val">Some</span>(id) = op.id_ref_any() {
@@ -441,7 +443,7 @@
441443
<span class="kw">break</span>;
442444
}
443445
}
444-
<span class="kw">for </span>block <span class="kw">in </span><span class="kw-2">&amp;mut </span>func.blocks {
446+
<span class="kw">for </span>block <span class="kw">in </span>blocks.values_mut() {
445447
block
446448
.instructions
447449
.retain(|inst| inst.class.opcode != Op::Phi || used.contains(<span class="kw-2">&amp;</span>inst.result_id.unwrap()));

0 commit comments

Comments
 (0)