; LLVM IR from eclipse-threadx/threadx :: ports_smp/mips32_interaptiv_smp/gnu/example_build (demo_threadx)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nounwind uwtable
define dso_local i32 @main() #0 {
  store i64 84, ptr inttoptr (i64 3204449304 to ptr), align 8, !tbaa !5
  store i64 88, ptr inttoptr (i64 3204449312 to ptr), align 8, !tbaa !5
  store i64 32, ptr inttoptr (i64 3204449320 to ptr), align 8, !tbaa !5
  store i64 69, ptr inttoptr (i64 3204449328 to ptr), align 8, !tbaa !5
  store i64 78, ptr inttoptr (i64 3204449336 to ptr), align 8, !tbaa !5
  store i64 84, ptr inttoptr (i64 3204449344 to ptr), align 8, !tbaa !5
  store i64 69, ptr inttoptr (i64 3204449352 to ptr), align 8, !tbaa !5
  store i64 82, ptr inttoptr (i64 3204449360 to ptr), align 8, !tbaa !5
  call void @_tx_initialize_kernel_enter()
  ret i32 0
}

declare void @_tx_initialize_kernel_enter() #1

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 {
  store i64 84, ptr inttoptr (i64 3204449304 to ptr), align 8, !tbaa !5
  store i64 88, ptr inttoptr (i64 3204449312 to ptr), align 32, !tbaa !5
  store i64 32, ptr inttoptr (i64 3204449320 to ptr), align 8, !tbaa !5
  store i64 69, ptr inttoptr (i64 3204449328 to ptr), align 16, !tbaa !5
  store i64 78, ptr inttoptr (i64 3204449336 to ptr), align 8, !tbaa !5
  store i64 84, ptr inttoptr (i64 3204449344 to ptr), align 64, !tbaa !5
  store i64 69, ptr inttoptr (i64 3204449352 to ptr), align 8, !tbaa !5
  store i64 82, ptr inttoptr (i64 3204449360 to ptr), align 16, !tbaa !5
  tail call void @_tx_initialize_kernel_enter() #2
  ret i32 0
}

declare void @_tx_initialize_kernel_enter() local_unnamed_addr #1

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}


; Effective O3 passes: GlobalOptPass,InferAlignmentPass,InstCombinePass,PostOrderFunctionAttrsPass,TailCallElimPass