• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "cg_irbuilder.h"
17 #include "isa.h"
18 #include "cg.h"
19 #include "cfi.h"
20 #include "gtest/gtest.h"
21 using namespace std;
22 using namespace maplebe;
23 namespace {
TEST(CreateMem_FUNC,t01)24 TEST(CreateMem_FUNC, t01)
25 {
26     MemPoolCtrler memPoolCtrler1, memPoolCtrler2;
27     MemPool memPool1(memPoolCtrler1, "poolName1"), memPool2(memPoolCtrler2, "poolName2");
28     OperandBuilder opbuilder_obj(memPool1, 30);
29     RegOperand regop_obj(0, 0, kRegTyInt, 0);
30     ImmOperand immop_obj(20, 8, false);
31     MIRSymbol mirsymbol_obj;
32     // test :CreateMem(uint32 size, RegOperand &baseOpnd, ImmOperand &ofstOperand, MemPool *mp)
33     MemOperand *ptr1 = &(opbuilder_obj.CreateMem(100, regop_obj, immop_obj, &memPool2));
34     EXPECT_NE(ptr1, nullptr);
35     // test :CreateMem(uint32, RegOperand &, ImmOperand &,const MIRSymbol &, MemPool *)
36     MemOperand *ptr2 = &(opbuilder_obj.CreateMem(100, regop_obj, immop_obj, mirsymbol_obj, &memPool2));
37     EXPECT_NE(ptr2, nullptr);
38 }
39 
TEST(CreateBitShift_FUNC,t02)40 TEST(CreateBitShift_FUNC, t02)
41 {
42     MemPoolCtrler memPoolCtrler1, memPoolCtrler2;
43     MemPool memPool1(memPoolCtrler1, "poolName1"), memPool2(memPoolCtrler2, "poolName2");
44     // test method:CreateBitShift(BitShiftOperand::ShiftOp op, uint32 amount, uint32 bitLen, MemPool *mp)
45     OperandBuilder opbuilder_obj(memPool1, 30);
46     BitShiftOperand *ptr = &(opbuilder_obj.CreateBitShift(BitShiftOperand::ShiftOp::kASR, 1, 2, &memPool2));
47     EXPECT_NE(ptr, nullptr);
48 }
49 }  // namespace