Commit Graph

184 Commits

Author SHA1 Message Date
hzzhouzebin
d9f48726ad Fix stobjbyvalue for empty or COW array
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I79RCW
Signed-off-by: hzzhouzebin <zhouzebin1@huawei.com>
Change-Id: I2cc6b44944824974842ecb2dd03ccc9765e40465
2023-06-02 15:26:19 +08:00
weng-xi
1fdab43856 Add new mir and pass to AOT
1. Add Mir about global env
2. Change the name of passes
3. Add a new pass

Issue: https://gitee.com/open_harmony/dashboard?issue_id=I73MRS
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: Iaf26b1ac52d8a57c63ec3a683e11ad7656a0a92a
2023-05-22 15:03:57 +08:00
sunzhe23
aea766b87d Support number speculative lowering for IsTrue/isFalse
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I7341I

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-05-15 17:39:47 +08:00
openharmony_ci
3e10740034
!3891 Imporve AOT Debugging Tools
Merge pull request !3891 from dingding/aot_tools
2023-05-10 04:28:03 +00:00
wuzhefeng
979ffe634f Optimize Code Generation (Part-1)
Current code generator produces many redundant basic blocks, which
should be improved and optimized so as to reduce the size of the final
AOT-generated machine code's size and the compilation time.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I717U0

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: I6f718c86384ae1ac5a6031a908ce2bbe7807daef
2023-05-09 10:53:16 +08:00
dingding
dbb6738ad6 Imporve AOT Debugging Tools
1. Add stress deopt.
2. Add VTable verifier.
3. Tracing BC supports typed path.
4. Add options for several pass.
5. Add options to select compiler methods or skip compiler methods.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6TP91

Signed-off-by: dingding <dingding5@huawei.com>
Change-Id: Iffdd54b5cb34efe93cbec77ea4a9aa2feb8fbcbd
2023-05-09 07:11:57 +08:00
yingguofeng@huawei.com
e705f7a167 Perf(Aot): nbody optimization
1. Optimize CallTargetCheck lowering
2. StoreProperty bugfix

Issue: #I6V1KU
Change-Id: I818c1df9454f745ff9245cdff9d9c4a45cbf282e
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2023-04-14 09:32:56 +08:00
K0u1hw
8aafa26d2f Description: refactor early elimination
Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6T69B
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: Id04eb0949d2d8400219b6c6ad5d6b6e23a40730a
2023-04-12 18:07:53 +08:00
K0u1hw
1c09c73c67 Description: update number optimization and replace TruncDoubleToInt32 with DoubleToInt
Issues:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6SXOS

Signed-off-by: K0u1hw <wangchunyang15@huawei.com>
Change-Id: I67686d1e001c738a3fca169608585d016698b322
2023-04-07 11:10:15 +08:00
wuzhefeng
4edf335836 Implement debug information framework (Part-1)
To faciliate aot debuggging, we need to provide the ability of code
commenting, so we will add api of adding debug-information to our gate
compilation framework and pass the information to LLVM-IR. At last, the
generated machine code can be associated with specific code comments.

Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6SLB0

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>
Change-Id: If41a88067d2ce0be695a7d787c24bb267502c915
2023-04-03 21:47:00 +08:00
yinchuang
13f210c9d6 Set the correct variable type
Signed-off-by: yinchuang <yinchuang@huawei.com>
2023-04-03 09:50:14 +08:00
yingguofeng@huawei.com
a6ddc25b6e feat>(compiler): PGO type profiler
1、PGO Support type profiler for asm interpreter
    2、Optimization function call profiler
    3、ap version promote to 0.0.0.2
    4、Adaptor number speculative phase supporting pgo type

link #I6JPH4

Change-Id: I18043c4f99af93e5ba6eb2e895039fe0edfe5b4e
Signed-off-by: yingguofeng@huawei.com <yingguofeng@huawei.com>
2023-03-30 20:39:06 +08:00
openharmony_ci
0bd5eae426
!3687 [Inline Call part2] Refactor Common Args Accessor
Merge pull request !3687 from 许杰/inline_call_part2
2023-03-28 10:56:47 +00:00
openharmony_ci
0667273bf7
!3740 add aot callthis calltarget check
Merge pull request !3740 from wpy111/master
2023-03-28 09:59:16 +00:00
xujie
6d377f01d8 [Inline Call part2] Refactor Common Args Accessor
1. Modify JSBytecode and FramState opcode which have framestate in.
2. Changes the way common args are fetched during lowering.
3. Common args are no longer fetched from the stack during deopt.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6L28B
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I1e26ad526209f27edc42aa2a5f364b1566ed4d26
2023-03-28 10:27:30 +08:00
wupengyong
ef03e0aa6f Reason:add aot callthis calltarget check
Description:add aot callthis calltarget check
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6O72O?from=project-issue

Signed-off-by: wupengyong <wupengyong@huawei.com>
Change-Id: I8a5efa8abdf958e8285b49e9e27e563614d3b0e2
2023-03-28 09:36:22 +08:00
wengchangcheng
01121dd6d8 Fix Log print error in intl
Add ENABLE_HILOG defines in intl source_set

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6O7R9

Test: UT & 262

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: I5f77533baec9575f495b068d516528d0697b8421
2023-03-24 20:34:46 +08:00
sunzhe23
9b3ded94b7 Refactor early elimination
1 Add graph visitor, use RPO order refactor early elimination
2 Add phi elimination for early elimination

issue: #I6HIYC

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-02-25 17:04:15 +08:00
sunzhe23
e00e3e3643 Simplifield circuit graph
1 delete dependAnd
2 Refactor ReplaceHirXXX
3 add no throw flag for bc meta data

issues:#I6EO24

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-02-14 16:46:19 +08:00
孙哲
1ea9960563
回退 'Pull Request !3526 : Simplifield circuit graph [part-1]' 2023-02-11 04:00:37 +00:00
sunzhe23
486f8172ff Simplifield circuit graph [part-1]
1 delete dependAnd
2 Simplifield ReplaceHirWithValue for slowPathLowering
3 add no throw flag for bc meta data

issues: #I6DSC4

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2023-02-09 15:41:03 +08:00
openharmony_ci
8dd427a0fe
!3396 redundancy elimination pass
Merge pull request !3396 from ChunyangWang/redundancy_elimination_pass
2023-01-18 08:15:17 +00:00
K0u1hw
4c9f1c5d88 description: redundancy check & load & framestate elimination
issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I6A1CI
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: I6de6a1c7f45147e5f7e1895d36e528529998bfd6
2023-01-17 20:41:40 +08:00
zhangyukun8
5015c9abf7 support compiling ark_aot_compiler of device-side
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I698UN?from=project-issue
Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I707b4a5fde55b8ea261ec1441b11c4fb6d9c86fc
2023-01-16 13:54:44 +08:00
weng-xi
0643be99ac Refactor guard
1. Modify the dependency between guard and check
2. Delete GuardLoweringPass and GuardEliminatingPass in pass_manager
3. Added CheckEliminatingPass

Issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I687G4
Signed-off-by: weng-xi <wengxi1@huawei.com>
Change-Id: I9e81aa32a6d8f1acac21c9e5c6c4a08cf8cd088c
2023-01-03 17:17:10 +08:00
zhangyukun8
7add022704 Replace CallRuntime with CallStub in AOT slowpath
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I678FV?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: Iad83939b0321e57322e0d429ac8cec86daa54dcf
2022-12-24 09:09:52 +08:00
K0u1hw
a707339af1 description: load obj by value and add new check op
details: lower ldobjbyvalue for load jsarray element by index.
issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I662JE

Signed-off-by: K0u1hw <wangchunyang15@huawei.com>
Change-Id: I6a3584c2faf55e207e91a9174c79e78c1419d36f
2022-12-21 14:50:38 +08:00
openharmony_ci
ec104565e1
!3131 add stub of eq and noteq
Merge pull request !3131 from xliu/aot_stub
2022-12-05 09:32:07 +00:00
xliu
1e319722ca add op of eq and noteq
issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I647B4

Change-Id: I10adda37bf86717907847c4aa5d2049e8295326b
Signed-off-by: xliu <liuxin259@huawei.com>
2022-12-02 09:59:11 +08:00
sunzhe23
5000217ed2 Refactor Gate verify
add root verify, delete Gate GetProperties
issues:I645J7

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-12-01 16:55:19 +08:00
sunzhe23
812f607fbc Support Gate MetaData
replace gate GetProperties with gate meta data.

issues: I63J2D

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-11-30 17:52:21 +08:00
zhangyukun8
21a4d386f5 adapt aot cpuprofile
1.update leaveframe before call no gc runtime
2.keep atomicity when construct frames
3.rewrite checking isInsideStub and isInsideAot
4.deal with entry frame for cpuprofile
5.add folder stackmap

Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I61SM9?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I329f19a88bcf8e7f7d31606bfa51c822e32df9b8
2022-11-28 21:44:52 +08:00
wuzhefeng
243341a336 Refactor the Schedular of Compiler
There are redundant vector-copys in the process of scheduling, which can be eliminated to improve the compiling performance.

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I634ZS

Signed-off-by: wuzhefeng <wuzhefeng1@huawei.com>

Change-Id: I3576cd6c2e76dd1a767d21b9f12a9cbcad68b5e9
2022-11-26 08:30:30 -08:00
xujie
cd5f8f2867 Reserve JSFucntion Slot on OptimizedJSFunctionFrame
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I62YZR

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I3365d899d821c96ff11f5a9713452a8424cd04bf
2022-11-25 18:11:59 +08:00
K0u1hw
f99fc20a88 description: update log for time snapshot and optimizer
details: 1. add log for optimizer.
         2. add totol time log for compiler-log-time.
         3. time-log of one method in each pass only for certain mode.
         4. add flag compiler-log-snapshot for enable or disable snapshot log.
issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I61RCC
Signed-off-by: K0u1hw <wangchunyang15@huawei.com>

Change-Id: I7f74c31ee333c8636d050cbe1fbc56dd1ab04b1b
2022-11-18 16:48:14 +08:00
xujie
6dadef788a Bugfix for cocos benchmark
Adapt to the new typearray construction mode

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I608SN
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I6626ee3f4368a55090974bd6d5e89098cf97e8f1
2022-11-10 16:33:47 +08:00
sunzhe23
207c143eac Remove optimizing pass dependency on BytecodeCircuitBuilder
issues:I608GB

Signed-off-by: sunzhe23 <sunzhe23@huawei.com>
2022-11-09 11:52:03 +08:00
xujie
cdd8d25439 Merge JSFunctionEntry and JSFunctionReentry for AOT
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5YU0G
Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: I472266c46274904784c71fbfb7edd2fb4f77b3d7
2022-11-02 10:52:18 +08:00
getingke
6fd036f520 fixed for optimized ICMP, FCMP, ZEXT, SEXT, TRUNC gate
Signed-off-by: getingke <getingke@huawei.com>
Change-Id: I6c89abff92c3bb3ac555091fb1bca57521f88217
2022-10-26 17:25:56 +08:00
openharmony_ci
40b851d038
!2543 Add IC of AOT slow path
Merge pull request !2543 from zhangyukun8/aotic
2022-10-25 07:47:11 +00:00
wengchangcheng
32ef9871e7 Descriptor: Fix standalone build error
Details: modify gn and some template

Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5XGZ4

Signed-off-by: wengchangcheng <wengchangcheng@huawei.com>
Change-Id: Idca98896e01426fe055025efe8800ac01d27d3c5
2022-10-25 12:52:10 +08:00
zhangyukun8
01616c7949 Add IC of AOT slow path
1. Impl AOT ldobjbyname&stobjbyname slot path IC
2. Impl AOT ldobjbyvalue&stobjbyvalue slot path IC
3. Impl AOT tryldglobalbyname&trystglobalbyname slot path IC
4. Impl AOT ldglobalvar&stglobalvar slot path IC
5. IR GetGlobalOwnByName&LdGlobalRecord
6. fix some bug of LoadMiss&StoreMiss
Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5TSWP?from=project-issue

Signed-off-by: zhangyukun8 <zhangyukun8@huawei.com>
Change-Id: I6458ab83b6506e3124a249728422d4570d9fa2dc
2022-10-25 08:54:43 +08:00
wuzhangda
b78f4deb57 Merge branch 'master' of https://gitee.com/openharmony/arkcompiler_ets_runtime into king_br1
Change-Id: I14ffe2aa922b866bb6599fb81da57a093e5eb99f
Signed-off-by: wuzhangda <wuzhangda@huawei.com>
2022-10-14 20:02:34 +08:00
wuzhangda
63c3384e7b Add testcases for convering comparison operator if-branch's combinations.
Signed-off-by: wuzhangda <wuzhangda@huawei.com>
Change-Id: I99f0462615598819ea96d03f90e383c0910e80c4
2022-10-14 16:12:46 +08:00
xujie
08f82c11b7 Merge branch 'c_deopt_dev' to master
Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5VLYL

Signed-off-by: xujie <xujie101@huawei.com>
Change-Id: Id0175f318a336ecd0534a5778ebff9b4e480ba3b
2022-10-13 21:46:55 +08:00
lijiamin
b5186ac7a6 Modify method to methodLiteral
Signed-off-by: lijiamin <lijiamin24@huawei.com>
Change-Id: Ibcc190319f8d4089edbb42ace55ce4a3b9f9cba9
2022-10-11 17:11:31 +08:00
K0u1hw
6a8308983f description: guard eliminating pass
details: add guard eliminating pass
         delete guard when add/sub/mul two typetrusted gate
issues: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5UQBE

Signed-off-by: K0u1hw <wangchunyang15@huawei.com>
Change-Id: I6c7b7a181769928d251d1e3cb1173adb447e0054
2022-10-10 11:31:38 +08:00
getingke
45202e4d21 Add some middle level ir for optimize newobj or create literal heapobj
issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I5RVFC?from=project-issue

Signed-off-by: getingke <getingke@huawei.com>
Change-Id: Ic2b1b748598d3b508ef0ab7178474b5ca0537a7c
2022-09-22 12:20:29 +08:00
wuzhangda
7bdff16afe Extended Multilevel Type Lowering For Circuit
LowerTypedMod, LowerTypedGreater, LowerTypedGreaterEq, LowerTypedDiv, LowerTypedEq, LowerTypedNotEq

Signed-off-by: wuzhangda <wuzhangda@huawei.com>
Change-Id: I4e2a7a7011c97756af5b8ff842e30f51c13d1509
2022-09-20 17:32:59 +08:00
wuzhangda
fd0ebe26e2 extended multilevel type lowering for circuit
Signed-off-by: wuzhangda <wuzhangda@huawei.com>
Change-Id: Ic8d8448a759ddc5939f275f62b08b3f1c4e97e94
2022-09-13 11:00:53 +08:00