From 17c1d0c5e55abed387feb24fb830cb7fdb0bd52c Mon Sep 17 00:00:00 2001 From: "Arina.Naumova" Date: Fri, 6 Jun 2025 17:20:09 +0300 Subject: [PATCH] Author: naumovaarina Fix codecheck for !5416 Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/ICD9N9 Signed-off-by: naumovaarina Signed-off-by: Arina.Naumova --- .../tests/checked/optimize_doubled_xor.ets | 97 ++++++++++--------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/static_core/plugins/ets/tests/checked/optimize_doubled_xor.ets b/static_core/plugins/ets/tests/checked/optimize_doubled_xor.ets index 1c9ab275ed..1bfffa6164 100644 --- a/static_core/plugins/ets/tests/checked/optimize_doubled_xor.ets +++ b/static_core/plugins/ets/tests/checked/optimize_doubled_xor.ets @@ -22,7 +22,7 @@ ninja optimize_doubled_xor.checked //! SKIP_IF @architecture == "arm32" //! RUN_PAOC options: "--compiler-regex='.*test.*' ", entry: "optimize_doubled_xor.ETSGLOBAL::main" //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_optimization_const1" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationConst1" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -32,7 +32,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_optimization_const2" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationConst2" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -42,7 +42,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_optimization_const3" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationConst3" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -52,7 +52,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_byte" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainByte" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -62,7 +62,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_short" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainShort" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -72,7 +72,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_int" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainInt" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -82,7 +82,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_long" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainLong" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -92,7 +92,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_no_optimization_diff_const" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationDiffConst" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -104,7 +104,7 @@ ninja optimize_doubled_xor.checked //! INST_NEXT /Xor/ //! INST_COUNT /Xor/,2 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_no_optimization_multi_users" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationMultiUsers" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -119,9 +119,9 @@ ninja optimize_doubled_xor.checked //! //! CHECKER JIT: Checking xor->xor optimization -//! RUN force_jit: true, options: "--compiler-regex='.*test.*' ", entry: "optimize_doubled_xor.ETSGLOBAL::main" +//! RUN force_jit: true, options: "--compiler-regex='.*test.*' ", entry: "optimize_doubled_xor.ETSGLOBAL::main" //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_optimization_const1" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationConst1" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -131,7 +131,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_optimization_const2" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationConst2" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -141,7 +141,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_optimization_const3" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationConst3" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -151,7 +151,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_byte" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainByte" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -161,7 +161,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_short" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainShort" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -171,7 +171,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_int" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainInt" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -181,7 +181,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_long" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainLong" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -191,7 +191,7 @@ ninja optimize_doubled_xor.checked //! PASS_AFTER_NEXT "Cleanup" //! INST_COUNT /Xor/,0 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_no_optimization_diff_const" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationDiffConst" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -203,7 +203,7 @@ ninja optimize_doubled_xor.checked //! INST_NEXT /Xor/ //! INST_COUNT /Xor/,2 //! -//! METHOD "optimize_doubled_xor.ETSGLOBAL::test_xor_chain_no_optimization_multi_users" +//! METHOD "optimize_doubled_xor.ETSGLOBAL::testXorChainOptimizationMultiUsers" //! PASS_BEFORE "Peepholes" //! INST /Xor/ //! INST_NEXT /Xor/ @@ -216,116 +216,116 @@ ninja optimize_doubled_xor.checked //! INST_COUNT /Xor/,2 //! -function __noinline__dummyReturn(): Int { +function __noinline__DummyReturn(): Int { return 1; } -function test_xor_chain_optimization_const1(param: int): int { +function testXorChainOptimizationConst1(param: int): int { const XOR_CONST: int = 1; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result; } -function test_xor_chain_optimization_const2(param: int): int { +function testXorChainOptimizationConst2(param: int): int { const XOR_CONST: int = 0x12345678; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result; } -function test_xor_chain_optimization_const3(param: int): int { +function testXorChainOptimizationConst3(param: int): int { const XOR_CONST: int = -1; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result; } -function test_xor_chain_no_optimization_diff_const(param: int): int { +function testXorChainOptimizationDiffConst(param: int): int { const XOR_CONST1: int = 0x12345678; const XOR_CONST2: int = 0x87654321; // Should NOT be optimized - different constants let result = (param ^ XOR_CONST1) ^ XOR_CONST2; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result; } -function test_xor_chain_no_optimization_multi_users(param: int): int { +function testXorChainOptimizationMultiUsers(param: int): int { const XOR_CONST: int = 0x12345678; let temp = param ^ XOR_CONST; // Should NOT be optimized - temp has multiple users let result1 = temp ^ XOR_CONST; - let result2 = temp + 1; // Additional user prevents optimization + let result2 = temp + 1; // Additional user prevents optimization for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result1 + result2; } -function test_xor_chain_byte(param: byte): byte { +function testXorChainByte(param: byte): byte { const XOR_CONST: byte = 0x12 as byte; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result as byte; } -function test_xor_chain_short(param: short): short { +function testXorChainShort(param: short): short { const XOR_CONST: short = 0x1234 as short; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result as short; } -function test_xor_chain_int(param: int): int { +function testXorChainInt(param: int): int { const XOR_CONST: int = 0x12345678; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result; } -function test_xor_chain_long(param: long): long { +function testXorChainLong(param: long): long { const XOR_CONST: long = 0x123456789ABCDEF0 as long; // should be optimized to just 'param' since (param ^ XOR_CONST) ^ XOR_CONST == param let result = (param ^ XOR_CONST) ^ XOR_CONST; for (let i = 0; i < 5000; i++) { - let t: Int = __noinline__dummyReturn() + let t: Int = __noinline__DummyReturn() } return result; @@ -333,19 +333,20 @@ function test_xor_chain_long(param: long): long { function main() { let param: int = 42; - assertEQ(test_xor_chain_optimization_const1(param), param); - assertEQ(test_xor_chain_optimization_const2(param), param); - assertEQ(test_xor_chain_optimization_const3(param), param); - assertEQ(test_xor_chain_no_optimization_diff_const(param), param ^ 0x12345678 ^ 0x87654321); - assertEQ(test_xor_chain_no_optimization_multi_users(param), (param ^ 0x12345678 ^ 0x12345678) + ((param ^ 0x12345678) + 1)); + assertEQ(testXorChainOptimizationConst1(param), param); + assertEQ(testXorChainOptimizationConst2(param), param); + assertEQ(testXorChainOptimizationConst3(param), param); + assertEQ(testXorChainOptimizationDiffConst(param), param ^ 0x12345678 ^ 0x87654321); + assertEQ(testXorChainOptimizationMultiUsers(param), + (param ^ 0x12345678 ^ 0x12345678) + ((param ^ 0x12345678) + 1)); let byteParam: byte = 42 as byte; - assertEQ(test_xor_chain_byte(byteParam), byteParam); + assertEQ(testXorChainByte(byteParam), byteParam); let shortParam: short = 4242 as short; - assertEQ(test_xor_chain_short(shortParam), shortParam); + assertEQ(testXorChainShort(shortParam), shortParam); let intParam: int = 424242 as int; - assertEQ(test_xor_chain_int(intParam), intParam); + assertEQ(testXorChainInt(intParam), intParam); let longParam: long = 424242424242 as long; - assertEQ(test_xor_chain_long(longParam), longParam); + assertEQ(testXorChainLong(longParam), longParam); return 0; } -- Gitee