• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14#! CHECKER        Broken IR for inline function is not fatal
15#! RUN_LLVM       options: "--llvm-break-ir-regex=.*foo.* --compiler-regex=.*main.* \
16#!                          --llvm-pre-opt=0 \
17#!                          --llvm-options='--print-before=runtime-calls-lowering'"
18#! READ_FILE      "console.out"
19#! LLVM_METHOD    /define.*\"i32 _GLOBAL::main.*\d+\"/
20#! INST_NEXT      /call .*_GLOBAL::foo.*/
21#! RUN            entry: "_GLOBAL::main"
22
23#! CHECKER        When AddGraph fails due to broken IR, then it is a fatal error for ark_aot
24#! RUN_LLVM       options: "--llvm-break-ir-regex=.*foo.* --compiler-regex=.*foo.*", abort: 6
25
26.function i32 foo(i32 a0, i32 a1) {
27    lda a0
28    div2 a1
29    return
30}
31
32.function i32 main() {
33    movi v0, 10
34    movi v1, 20
35    call foo, v0, v1
36    return
37}
38
39