Stream: t-compiler

Topic: make_target_blocks rustc_mir


dlrobertson (Jun 19 2019 at 21:14, on Zulip):

@Matthew Jasper Could I get a more in-depth description as to why the make_target_blocks closure is needed https://github.com/rust-lang/rust/blob/master/src/librustc_mir/build/matches/mod.rs#L1218

dlrobertson (Jun 19 2019 at 21:16, on Zulip):

I was doing some work on or-patterns and I'm currently lowering the pattern all the way down to rustc_mir::build. My plan was to call perform_test on each of the "sub-tests"

pnkfelix (Jun 20 2019 at 10:57, on Zulip):

Its from this commit

pnkfelix (Jun 20 2019 at 10:57, on Zulip):

to resolve the regression recorded here

pnkfelix (Jun 20 2019 at 10:57, on Zulip):

(in compiling the encoding benchmark, at the top of the list; -10.5%)t

pnkfelix (Jun 20 2019 at 10:59, on Zulip):

namely, LLVM has an easier time dong its optimization if the control-flow-target block is created after the test itself, if I understand correctly.

dlrobertson (Jun 20 2019 at 13:42, on Zulip):

@pnkfelix Ah! that make sense... thanks for the explination

dlrobertson (Jun 20 2019 at 13:44, on Zulip):

I'll either have to adjust my current plan for building the test for or-patterns or move perform_test from accepting a closure to something else.

Last update: Nov 16 2019 at 02:25UTC