JVM_IR: Optimize null checks.
Introduce lowering to remove null checks for primitive type expressions and replace them with true/false. Side-effects are preserved. Generate ifnull/ifnonnull instructions for null checks instead of materializing a null literal for an equality check.
This commit is contained in:
committed by
Mikhael Bogdanov
parent
f5312f42c5
commit
690b8e0ac9
@@ -2798,6 +2798,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
|
||||
runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullAsNotNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("primitiveCheck.kt")
|
||||
public void testPrimitiveCheck() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/primitiveCheck.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("redundantSafeCall.kt")
|
||||
public void testRedundantSafeCall() throws Exception {
|
||||
runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall.kt");
|
||||
|
||||
Reference in New Issue
Block a user