rust/src/librustc_codegen_ssa
bors de0abf7599 Auto merge of #66650 - matthewjasper:nonuniform-array-move, r=pnkfelix
Remove uniform array move MIR passes

This PR fixes a number of bugs caused by limitations of this pass

* Projections from constant indexes weren't being canonicalized
* Constant indexes from the start weren't being canonicalized (they could have different min_lengths)
* It didn't apply to non-moves

This PR makes the following changes to support removing this pass:

* ConstantIndex of arrays are now generated in a canonical form (from the start, min_length is the actual length).
* Subslices are now split when generating move paths and when checking subslices have been moved.

Additionally

* The parent move path of a projection from an array element is now calculated correctly

closes #66502
2019-12-11 23:00:38 +00:00
..
2019-12-06 12:24:54 +00:00
2019-09-25 15:50:04 +01:00
2019-12-06 12:24:54 +00:00
2019-09-26 18:21:48 +01:00
2019-10-24 13:32:54 -05:00

Please read the rustc-guide chapter on Backend Agnostic Codegen.