Ralf Jung
2e8e91ce25
add check that simd_shuffle arguments are constants
2021-05-12 16:15:30 +02:00
Oli Scherer
3127a9c60f
Prepare mir::Constant for ty::Const only supporting valtrees
2021-03-12 12:43:54 +00:00
kadmin
217ff6b7ea
Switch to changing cp_non_overlap in tform
...
It was suggested to lower this in MIR instead of ssa, so do that instead.
2021-03-09 16:54:14 +00:00
Oli Scherer
9a2362e5a9
Shrink the size of Rvalue by 16 bytes
2021-03-05 09:33:01 +00:00
Tomasz Miąsko
686237c49a
Lower discriminant_value
intrinsic
...
This allows const propagation to evaluate comparisons involving
field-less enums using derived implementations of `PartialEq` (after
inlining `eq`).
2020-12-11 03:25:40 +01:00
Tomasz Miąsko
2b7ffecee0
Don't special case constant operands when lowering intrinsics
2020-11-16 00:00:00 +00:00
Tomasz Miąsko
6903273339
Lower intrinsics calls: forget, size_of, unreachable, wrapping_*
...
This allows constant propagation to evaluate `size_of` and `wrapping_*`,
and unreachable propagation to propagate a call to `unreachable`.
The lowering is performed as a MIR optimization, rather than during MIR
building to preserve the special status of intrinsics with respect to
unsafety checks and promotion.
2020-11-14 00:00:00 +00:00