[JVM IR] Use JVM8 support for unsigned int operations

- unmute tests
- add test to ensure JVM target is respected
- add test to cover smart-casted cases
- implement function matching and replacement
- Switching on uint constants
- introduce lowering for standard library replacements
This commit is contained in:
Kristoffer Andersen
2020-05-18 09:57:53 +02:00
committed by Dmitry Petrov
parent c95216dc5d
commit f0ff8f202c
19 changed files with 302 additions and 43 deletions
@@ -4483,6 +4483,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/unsignedTypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@TestMetadata("unsignedIntCompare_before.kt")
public void testUnsignedIntCompare_before() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntCompare_before.kt");
}
@TestMetadata("unsignedIntCompare_jvm18.kt")
public void testUnsignedIntCompare_jvm18() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntCompare_jvm18.kt");
@@ -4498,6 +4503,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntRemainder_jvm18.kt");
}
@TestMetadata("unsignedIntSmartCasts_jvm18.kt")
public void testUnsignedIntSmartCasts_jvm18() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntSmartCasts_jvm18.kt");
}
@TestMetadata("unsignedIntToString_jvm18.kt")
public void testUnsignedIntToString_jvm18() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntToString_jvm18.kt");