Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ plc_ast = { path = "./compiler/plc_ast" }
plc_util = { path = "./compiler/plc_util" }
plc_diagnostics = { path = "./compiler/plc_diagnostics" }
plc_index = { path = "./compiler/plc_index" }
section_mangler = { path = "./compiler/section_mangler" }
logos = "0.12.0"
thiserror = "1.0"
clap = { version = "3.0", features = ["derive"] }
Expand Down Expand Up @@ -72,6 +73,7 @@ members = [
"compiler/plc_xml",
"compiler/plc_derive",
"compiler/plc_index",
"compiler/section_mangler",
]
default-members = [".", "compiler/plc_driver", "compiler/plc_xml"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ expression: "results.join(\"\\n\")"
; ModuleID = 'main.st'
source_filename = "main.st"

define i16 @main() {
define i16 @main() section "fn-main:i16" {
entry:
%main = alloca i16, align 2
store i16 0, i16* %main, align 2
Expand All @@ -14,10 +14,9 @@ entry:
ret i16 %main_ret
}

declare i16 @external()
declare i16 @external() section "fn-external:i16"

; ModuleID = 'external.st'
source_filename = "external.st"

declare i16 @external()

declare i16 @external() section "fn-external:i16"
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ source_filename = "main.st"
@x = external global i16
@y = external global i16

define i16 @main() {
define i16 @main() section "fn-main:i16" {
entry:
%main = alloca i16, align 2
store i16 0, i16* %main, align 2
Expand All @@ -19,13 +19,12 @@ entry:
ret i16 %main_ret
}

declare i16 @external()
declare i16 @external() section "fn-external:i16"

; ModuleID = 'external.st'
source_filename = "external.st"

@x = external global i16
@y = external global i16

declare i16 @external()

declare i16 @external() section "fn-external:i16"
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ source_filename = "app/file1.st"

@mainProg_instance = external global %mainProg, !dbg !0

define i16 @main() !dbg !10 {
define i16 @main() section "fn-main:i16" !dbg !10 {
entry:
%main = alloca i16, align 2, !dbg !14
call void @llvm.dbg.declare(metadata i16* %main, metadata !15, metadata !DIExpression()), !dbg !17
Expand All @@ -19,7 +19,7 @@ entry:
ret i16 %main_ret, !dbg !14
}

declare !dbg !18 void @mainProg(%mainProg*)
declare !dbg !18 void @mainProg(%mainProg*) section "fn-mainProg:v"

; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
Expand Down Expand Up @@ -56,7 +56,7 @@ source_filename = "lib/file2.st"

@mainProg_instance = global %mainProg zeroinitializer, !dbg !0

define void @mainProg(%mainProg* %0) !dbg !10 {
define void @mainProg(%mainProg* %0) section "fn-mainProg:v" !dbg !10 {
entry:
call void @llvm.dbg.declare(metadata %mainProg* %0, metadata !13, metadata !DIExpression()), !dbg !14
ret void, !dbg !14
Expand Down Expand Up @@ -85,4 +85,3 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn }
!12 = !{null}
!13 = !DILocalVariable(name: "mainProg", scope: !10, file: !2, line: 2, type: !3)
!14 = !DILocation(line: 5, column: 4, scope: !10)

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ source_filename = "file1.st"

@mainProg_instance = external global %mainProg, !dbg !0

define i16 @main() !dbg !10 {
define i16 @main() section "fn-main:i16" !dbg !10 {
entry:
%main = alloca i16, align 2, !dbg !14
call void @llvm.dbg.declare(metadata i16* %main, metadata !15, metadata !DIExpression()), !dbg !17
Expand All @@ -19,7 +19,7 @@ entry:
ret i16 %main_ret, !dbg !14
}

declare !dbg !18 void @mainProg(%mainProg*)
declare !dbg !18 void @mainProg(%mainProg*) section "fn-mainProg:v"

; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
Expand Down Expand Up @@ -56,7 +56,7 @@ source_filename = "file2.st"

@mainProg_instance = global %mainProg zeroinitializer, !dbg !0

define void @mainProg(%mainProg* %0) !dbg !10 {
define void @mainProg(%mainProg* %0) section "fn-mainProg:v" !dbg !10 {
entry:
call void @llvm.dbg.declare(metadata %mainProg* %0, metadata !13, metadata !DIExpression()), !dbg !14
ret void, !dbg !14
Expand Down Expand Up @@ -85,4 +85,3 @@ attributes #0 = { nofree nosync nounwind readnone speculatable willreturn }
!12 = !{null}
!13 = !DILocalVariable(name: "mainProg", scope: !10, file: !2, line: 2, type: !3)
!14 = !DILocation(line: 5, column: 4, scope: !10)

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ source_filename = "external_file1.st"

@mainProg_instance = external global %mainProg

define i16 @main() {
define i16 @main() section "fn-main:i16" {
entry:
%main = alloca i16, align 2
store i16 0, i16* %main, align 2
Expand All @@ -18,7 +18,7 @@ entry:
ret i16 %main_ret
}

declare void @mainProg(%mainProg*)
declare void @mainProg(%mainProg*) section "fn-mainProg:v"

; ModuleID = 'external_file2.st'
source_filename = "external_file2.st"
Expand All @@ -27,8 +27,7 @@ source_filename = "external_file2.st"

@mainProg_instance = global %mainProg zeroinitializer

define void @mainProg(%mainProg* %0) {
define void @mainProg(%mainProg* %0) section "fn-mainProg:v" {
entry:
ret void
}

6 changes: 6 additions & 0 deletions compiler/section_mangler/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[package]
name = "section_mangler"
version = "0.0.1"
edition = "2021"

[dependencies]
Loading