FileCheck boolean_identities.
This commit is contained in:
parent
e8e35c8127
commit
3fc03948a8
@ -1,10 +1,16 @@
|
|||||||
// skip-filecheck
|
|
||||||
// unit-test: ConstProp
|
// unit-test: ConstProp
|
||||||
// compile-flags: -O -Zmir-opt-level=4
|
|
||||||
|
|
||||||
// EMIT_MIR boolean_identities.test.ConstProp.diff
|
// EMIT_MIR boolean_identities.test.ConstProp.diff
|
||||||
pub fn test(x: bool, y: bool) -> bool {
|
pub fn test(x: bool, y: bool) -> bool {
|
||||||
(y | true) & (x & false)
|
// CHECK-LABEL: fn test(
|
||||||
|
// CHECK: debug a => [[a:_.*]];
|
||||||
|
// CHECK: debug b => [[b:_.*]];
|
||||||
|
// CHECK: [[a]] = const true;
|
||||||
|
// CHECK: [[b]] = const false;
|
||||||
|
// CHECK: _0 = const false;
|
||||||
|
let a = (y | true);
|
||||||
|
let b = (x & false);
|
||||||
|
a & b
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -5,20 +5,42 @@
|
|||||||
debug x => _1;
|
debug x => _1;
|
||||||
debug y => _2;
|
debug y => _2;
|
||||||
let mut _0: bool;
|
let mut _0: bool;
|
||||||
let mut _3: bool;
|
let _3: bool;
|
||||||
let mut _4: bool;
|
let mut _4: bool;
|
||||||
let mut _5: bool;
|
|
||||||
let mut _6: bool;
|
let mut _6: bool;
|
||||||
|
let mut _7: bool;
|
||||||
|
let mut _8: bool;
|
||||||
|
scope 1 {
|
||||||
|
debug a => _3;
|
||||||
|
let _5: bool;
|
||||||
|
scope 2 {
|
||||||
|
debug b => _5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bb0: {
|
bb0: {
|
||||||
StorageLive(_3);
|
StorageLive(_3);
|
||||||
- _3 = BitOr(_2, const true);
|
StorageLive(_4);
|
||||||
|
_4 = _2;
|
||||||
|
- _3 = BitOr(move _4, const true);
|
||||||
+ _3 = const true;
|
+ _3 = const true;
|
||||||
|
StorageDead(_4);
|
||||||
StorageLive(_5);
|
StorageLive(_5);
|
||||||
- _5 = BitAnd(_1, const false);
|
StorageLive(_6);
|
||||||
- _0 = BitAnd(move _3, move _5);
|
_6 = _1;
|
||||||
|
- _5 = BitAnd(move _6, const false);
|
||||||
+ _5 = const false;
|
+ _5 = const false;
|
||||||
|
StorageDead(_6);
|
||||||
|
StorageLive(_7);
|
||||||
|
- _7 = _3;
|
||||||
|
+ _7 = const true;
|
||||||
|
StorageLive(_8);
|
||||||
|
- _8 = _5;
|
||||||
|
- _0 = BitAnd(move _7, move _8);
|
||||||
|
+ _8 = const false;
|
||||||
+ _0 = const false;
|
+ _0 = const false;
|
||||||
|
StorageDead(_8);
|
||||||
|
StorageDead(_7);
|
||||||
StorageDead(_5);
|
StorageDead(_5);
|
||||||
StorageDead(_3);
|
StorageDead(_3);
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user