whitequark opened Issue #1743:
While looking into another issue I minimized the following testcase, which produces invalid IR:
target x86_64 function u0:323() system_v { block0: v221 = bconst.b1 false v222 = bconst.b1 false v223 = bnot v221 v224 = band v223, v222 trap unreachable }
[-] v223 = bnot v221 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; error: inst2: v223 is a real GPR value defined by a ghost instruction
It seems to me that it should work but I don't understand what's the missing legalization or selection rule is in this case. @iximeow?
whitequark labeled Issue #1743:
While looking into another issue I minimized the following testcase, which produces invalid IR:
target x86_64 function u0:323() system_v { block0: v221 = bconst.b1 false v222 = bconst.b1 false v223 = bnot v221 v224 = band v223, v222 trap unreachable }
[-] v223 = bnot v221 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; error: inst2: v223 is a real GPR value defined by a ghost instruction
It seems to me that it should work but I don't understand what's the missing legalization or selection rule is in this case. @iximeow?
whitequark labeled Issue #1743:
While looking into another issue I minimized the following testcase, which produces invalid IR:
target x86_64 function u0:323() system_v { block0: v221 = bconst.b1 false v222 = bconst.b1 false v223 = bnot v221 v224 = band v223, v222 trap unreachable }
[-] v223 = bnot v221 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; error: inst2: v223 is a real GPR value defined by a ghost instruction
It seems to me that it should work but I don't understand what's the missing legalization or selection rule is in this case. @iximeow?
Last updated: Nov 22 2024 at 16:03 UTC