Skip to content

Commit

Permalink
fix: fix align
Browse files Browse the repository at this point in the history
  • Loading branch information
ganyao114 committed Dec 11, 2023
1 parent 2463cd3 commit 1620678
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 8 deletions.
2 changes: 1 addition & 1 deletion source/runtime/ir/hir_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ struct HIRLocal {
HIRValue* current_value{};
};

#pragma pack(pop, 4)
#pragma pack(pop)

using HIRValueMap = IntrusiveMap<&HIRValue::map_node>;

Expand Down
5 changes: 4 additions & 1 deletion source/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@ add_executable(swift_test
main_case.cpp)

target_link_libraries(swift_test PUBLIC swift::runtime Catch2::Catch2WithMain slang_compiler)
add_test(swift_test swift_test --durations yes)
add_test(swift_test swift_test --durations yes)

add_executable(swift_vm main.cpp)
target_link_libraries(swift_vm PUBLIC swift::runtime slang_compiler)
21 changes: 21 additions & 0 deletions source/tests/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
//
// Created by 甘尧 on 2023/12/8.
//

#include "runtime/ir/args.h"
#include "runtime/ir/hir_builder.h"
#include "assembler_riscv64.h"

int main (int argc, char * argv[]) {
using namespace swift;
riscv64::Riscv64Label label{};
riscv64::ArenaAllocator allocator{};
riscv64::Riscv64Assembler assembler{&allocator};
assembler.Add(riscv64::A1, riscv64::A1, riscv64::A1);
assembler.Bind(&label);
assembler.Add(riscv64::A1, riscv64::A1, riscv64::A1);
assembler.Add(riscv64::A1, riscv64::A1, riscv64::A1);
assembler.Bne(riscv64::A1, riscv64::A2, &label);
assembler.FinalizeCode();
return 0;
}
7 changes: 1 addition & 6 deletions source/tests/main_case.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,7 @@ TEST_CASE("Test runtime ir cfg") {
Params params{};
params.Push(local1);
params.Push(local2);
auto call_inst = hir_builder.CallDynamic(Lambda(Imm(uint64_t(1))), params);
auto values = call_inst.Def()->GetValues();

for (auto va : values) {
ASSERT(va.Defined());
}
hir_builder.CallDynamic(Lambda(Imm(uint64_t(1))), params);

hir_builder.Return();
CFGAnalysisPass::Run(&hir_builder);
Expand Down

0 comments on commit 1620678

Please sign in to comment.