; LLVM IR from zeux/meshoptimizer :: demo/tests.ll (Z8runTestsv)

; 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: mustprogress uwtable
define dso_local void @_Z8runTestsv() #0 {
  %1 = alloca i32, align 4
  call void @_ZL13decodeIndexV0v()
  call void @_ZL13decodeIndexV1v()
  call void @_ZL17decodeIndexV1Morev()
  call void @_ZL23decodeIndexV1ThreeEdgesv()
  call void @_ZL13decodeIndex16v()
  call void @_ZL21encodeIndexMemorySafev()
  call void @_ZL21decodeIndexMemorySafev()
  call void @_ZL27decodeIndexRejectExtraBytesv()
  call void @_ZL33decodeIndexRejectMalformedHeadersv()
  call void @_ZL31decodeIndexRejectInvalidVersionv()
  call void @_ZL25decodeIndexMalformedVBytev()
  call void @_ZL20roundtripIndexTrickyv()
  call void @_ZL16encodeIndexEmptyv()
  call void @_ZL19decodeIndexSequencev()
  call void @_ZL21decodeIndexSequence16v()
  call void @_ZL29encodeIndexSequenceMemorySafev()
  call void @_ZL29decodeIndexSequenceMemorySafev()
  call void @_ZL35decodeIndexSequenceRejectExtraBytesv()
  call void @_ZL41decodeIndexSequenceRejectMalformedHeadersv()
  call void @_ZL39decodeIndexSequenceRejectInvalidVersionv()
  call void @_ZL24encodeIndexSequenceEmptyv()
  call void @_ZL14decodeVertexV0v()
  call void @_ZL18decodeVertexV0Morev()
  call void @_ZL19decodeVertexV0Mode2v()
  call void @_ZL14decodeVertexV1v()
  call void @_ZL20decodeVertexV1Customv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %1) #3
  store i32 0, ptr %1, align 4, !tbaa !5
  br label %2

2:                                                ; preds = %8, %0
  %3 = load i32, ptr %1, align 4, !tbaa !5
  %4 = icmp sle i32 %3, 1
  br i1 %4, label %6, label %5

5:                                                ; preds = %2
  call void @llvm.lifetime.end.p0(i64 4, ptr %1) #3
  br label %11

6:                                                ; preds = %2
  %7 = load i32, ptr %1, align 4, !tbaa !5
  call void @meshopt_encodeVertexVersion(i32 noundef %7)
  call void @_ZL22decodeVertexMemorySafev()
  call void @_ZL28decodeVertexRejectExtraBytesv()
  call void @_ZL34decodeVertexRejectMalformedHeadersv()
  call void @_ZL21decodeVertexBitGroupsv()
  call void @_ZL29decodeVertexBitGroupSentinelsv()
  call void @_ZL18decodeVertexDeltasv()
  call void @_ZL18decodeVertexBitXorv()
  call void @_ZL17decodeVertexLargev()
  call void @_ZL17decodeVertexSmallv()
  call void @_ZL17encodeVertexEmptyv()
  call void @_ZL22encodeVertexMemorySafev()
  br label %8

8:                                                ; preds = %6
  %9 = load i32, ptr %1, align 4, !tbaa !5
  %10 = add nsw i32 %9, 1
  store i32 %10, ptr %1, align 4, !tbaa !5
  br label %2, !llvm.loop !9

11:                                               ; preds = %5
  call void @_ZL13decodeVersionv()
  call void @_ZL16decodeFilterOct8v()
  call void @_ZL17decodeFilterOct12v()
  call void @_ZL18decodeFilterQuat12v()
  call void @_ZL15decodeFilterExpv()
  call void @_ZL16encodeFilterOct8v()
  call void @_ZL17encodeFilterOct12v()
  call void @_ZL18encodeFilterQuat12v()
  call void @_ZL15encodeFilterExpv()
  call void @_ZL19encodeFilterExpZerov()
  call void @_ZL20encodeFilterExpAliasv()
  call void @_ZL20encodeFilterExpClampv()
  call void @_ZL23clusterBoundsDegeneratev()
  call void @_ZL12sphereBoundsv()
  call void @_ZL13meshletsEmptyv()
  call void @_ZL13meshletsDensev()
  call void @_ZL14meshletsSparsev()
  call void @_ZL12meshletsFlexv()
  call void @_ZL11meshletsMaxv()
  call void @_ZL13meshletsSplitv()
  call void @_ZL17meshletsSplitDeepv()
  call void @_ZL14partitionBasicv()
  call void @_ZL11remapCustomv()
  call void @_ZL15customAllocatorv()
  call void @_ZL9emptyMeshv()
  call void @_ZL8simplifyv()
  call void @_ZL13simplifyStuckv()
  call void @_ZL19simplifySloppyStuckv()
  call void @_ZL19simplifyPointsStuckv()
  call void @_ZL12simplifyFlipv()
  call void @_ZL13simplifyScalev()
  call void @_ZL18simplifyDegeneratev()
  call void @_ZL18simplifyLockBorderv()
  call void @_ZL12simplifyAttrb(i1 noundef zeroext false)
  call void @_ZL12simplifyAttrb(i1 noundef zeroext true)
  call void @_ZL17simplifyLockFlagsv()
  call void @_ZL21simplifyLockFlagsSeamv()
  call void @_ZL14simplifySparsev()
  call void @_ZL21simplifyErrorAbsolutev()
  call void @_ZL12simplifySeamv()
  call void @_ZL16simplifySeamFakev()
  call void @_ZL16simplifySeamAttrv()
  call void @_ZL13simplifyDebugv()
  call void @_ZL13simplifyPrunev()
  call void @_ZL20simplifyPruneCleanupv()
  call void @_ZL17simplifyPruneFuncv()
  call void @_ZL9adjacencyv()
  call void @_ZL12tessellationv()
  call void @_ZL9provokingv()
  call void @_ZL13quantizeFloatv()
  call void @_ZL12quantizeHalfv()
  call void @_ZL14dequantizeHalfv()
  ret void
}

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeIndexV0v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeIndexV1v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeIndexV1Morev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL23decodeIndexV1ThreeEdgesv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeIndex16v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21encodeIndexMemorySafev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21decodeIndexMemorySafev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL27decodeIndexRejectExtraBytesv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL33decodeIndexRejectMalformedHeadersv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL31decodeIndexRejectInvalidVersionv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL25decodeIndexMalformedVBytev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20roundtripIndexTrickyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16encodeIndexEmptyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19decodeIndexSequencev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21decodeIndexSequence16v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29encodeIndexSequenceMemorySafev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29decodeIndexSequenceMemorySafev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL35decodeIndexSequenceRejectExtraBytesv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL41decodeIndexSequenceRejectMalformedHeadersv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL39decodeIndexSequenceRejectInvalidVersionv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL24encodeIndexSequenceEmptyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14decodeVertexV0v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeVertexV0Morev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19decodeVertexV0Mode2v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14decodeVertexV1v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20decodeVertexV1Customv() #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

declare void @meshopt_encodeVertexVersion(i32 noundef) #2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL22decodeVertexMemorySafev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL28decodeVertexRejectExtraBytesv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL34decodeVertexRejectMalformedHeadersv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21decodeVertexBitGroupsv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29decodeVertexBitGroupSentinelsv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeVertexDeltasv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeVertexBitXorv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeVertexLargev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeVertexSmallv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17encodeVertexEmptyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL22encodeVertexMemorySafev() #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeVersionv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16decodeFilterOct8v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeFilterOct12v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeFilterQuat12v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15decodeFilterExpv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16encodeFilterOct8v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17encodeFilterOct12v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18encodeFilterQuat12v() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15encodeFilterExpv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19encodeFilterExpZerov() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20encodeFilterExpAliasv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20encodeFilterExpClampv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL23clusterBoundsDegeneratev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12sphereBoundsv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13meshletsEmptyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13meshletsDensev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14meshletsSparsev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12meshletsFlexv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL11meshletsMaxv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13meshletsSplitv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17meshletsSplitDeepv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14partitionBasicv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL11remapCustomv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15customAllocatorv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL9emptyMeshv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL8simplifyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyStuckv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19simplifySloppyStuckv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19simplifyPointsStuckv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12simplifyFlipv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyScalev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18simplifyDegeneratev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18simplifyLockBorderv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12simplifyAttrb(i1 noundef zeroext) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17simplifyLockFlagsv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21simplifyLockFlagsSeamv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14simplifySparsev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21simplifyErrorAbsolutev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12simplifySeamv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16simplifySeamFakev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16simplifySeamAttrv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyDebugv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyPrunev() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20simplifyPruneCleanupv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17simplifyPruneFuncv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL9adjacencyv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12tessellationv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL9provokingv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13quantizeFloatv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12quantizeHalfv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14dequantizeHalfv() #0

attributes #0 = { mustprogress 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 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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 #3 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}


; 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: mustprogress uwtable
define dso_local void @_Z8runTestsv() local_unnamed_addr #0 {
  tail call void @_ZL13decodeIndexV0v()
  tail call void @_ZL13decodeIndexV1v()
  tail call void @_ZL17decodeIndexV1Morev()
  tail call void @_ZL23decodeIndexV1ThreeEdgesv()
  tail call void @_ZL13decodeIndex16v()
  tail call void @_ZL21encodeIndexMemorySafev()
  tail call void @_ZL21decodeIndexMemorySafev()
  tail call void @_ZL27decodeIndexRejectExtraBytesv()
  tail call void @_ZL33decodeIndexRejectMalformedHeadersv()
  tail call void @_ZL31decodeIndexRejectInvalidVersionv()
  tail call void @_ZL25decodeIndexMalformedVBytev()
  tail call void @_ZL20roundtripIndexTrickyv()
  tail call void @_ZL16encodeIndexEmptyv()
  tail call void @_ZL19decodeIndexSequencev()
  tail call void @_ZL21decodeIndexSequence16v()
  tail call void @_ZL29encodeIndexSequenceMemorySafev()
  tail call void @_ZL29decodeIndexSequenceMemorySafev()
  tail call void @_ZL35decodeIndexSequenceRejectExtraBytesv()
  tail call void @_ZL41decodeIndexSequenceRejectMalformedHeadersv()
  tail call void @_ZL39decodeIndexSequenceRejectInvalidVersionv()
  tail call void @_ZL24encodeIndexSequenceEmptyv()
  tail call void @_ZL14decodeVertexV0v()
  tail call void @_ZL18decodeVertexV0Morev()
  tail call void @_ZL19decodeVertexV0Mode2v()
  tail call void @_ZL14decodeVertexV1v()
  tail call void @_ZL20decodeVertexV1Customv()
  tail call void @meshopt_encodeVertexVersion(i32 noundef 0)
  tail call void @_ZL22decodeVertexMemorySafev()
  tail call void @_ZL28decodeVertexRejectExtraBytesv()
  tail call void @_ZL34decodeVertexRejectMalformedHeadersv()
  tail call void @_ZL21decodeVertexBitGroupsv()
  tail call void @_ZL29decodeVertexBitGroupSentinelsv()
  tail call void @_ZL18decodeVertexDeltasv()
  tail call void @_ZL18decodeVertexBitXorv()
  tail call void @_ZL17decodeVertexLargev()
  tail call void @_ZL17decodeVertexSmallv()
  tail call void @_ZL17encodeVertexEmptyv()
  tail call void @_ZL22encodeVertexMemorySafev()
  tail call void @meshopt_encodeVertexVersion(i32 noundef 1)
  tail call void @_ZL22decodeVertexMemorySafev()
  tail call void @_ZL28decodeVertexRejectExtraBytesv()
  tail call void @_ZL34decodeVertexRejectMalformedHeadersv()
  tail call void @_ZL21decodeVertexBitGroupsv()
  tail call void @_ZL29decodeVertexBitGroupSentinelsv()
  tail call void @_ZL18decodeVertexDeltasv()
  tail call void @_ZL18decodeVertexBitXorv()
  tail call void @_ZL17decodeVertexLargev()
  tail call void @_ZL17decodeVertexSmallv()
  tail call void @_ZL17encodeVertexEmptyv()
  tail call void @_ZL22encodeVertexMemorySafev()
  tail call void @_ZL13decodeVersionv()
  tail call void @_ZL16decodeFilterOct8v()
  tail call void @_ZL17decodeFilterOct12v()
  tail call void @_ZL18decodeFilterQuat12v()
  tail call void @_ZL15decodeFilterExpv()
  tail call void @_ZL16encodeFilterOct8v()
  tail call void @_ZL17encodeFilterOct12v()
  tail call void @_ZL18encodeFilterQuat12v()
  tail call void @_ZL15encodeFilterExpv()
  tail call void @_ZL19encodeFilterExpZerov()
  tail call void @_ZL20encodeFilterExpAliasv()
  tail call void @_ZL20encodeFilterExpClampv()
  tail call void @_ZL23clusterBoundsDegeneratev()
  tail call void @_ZL12sphereBoundsv()
  tail call void @_ZL13meshletsEmptyv()
  tail call void @_ZL13meshletsDensev()
  tail call void @_ZL14meshletsSparsev()
  tail call void @_ZL12meshletsFlexv()
  tail call void @_ZL11meshletsMaxv()
  tail call void @_ZL13meshletsSplitv()
  tail call void @_ZL17meshletsSplitDeepv()
  tail call void @_ZL14partitionBasicv()
  tail call void @_ZL11remapCustomv()
  tail call void @_ZL15customAllocatorv()
  tail call void @_ZL9emptyMeshv()
  tail call void @_ZL8simplifyv()
  tail call void @_ZL13simplifyStuckv()
  tail call void @_ZL19simplifySloppyStuckv()
  tail call void @_ZL19simplifyPointsStuckv()
  tail call void @_ZL12simplifyFlipv()
  tail call void @_ZL13simplifyScalev()
  tail call void @_ZL18simplifyDegeneratev()
  tail call void @_ZL18simplifyLockBorderv()
  tail call void @_ZL12simplifyAttrb(i1 noundef zeroext false)
  tail call void @_ZL12simplifyAttrb(i1 noundef zeroext true)
  tail call void @_ZL17simplifyLockFlagsv()
  tail call void @_ZL21simplifyLockFlagsSeamv()
  tail call void @_ZL14simplifySparsev()
  tail call void @_ZL21simplifyErrorAbsolutev()
  tail call void @_ZL12simplifySeamv()
  tail call void @_ZL16simplifySeamFakev()
  tail call void @_ZL16simplifySeamAttrv()
  tail call void @_ZL13simplifyDebugv()
  tail call void @_ZL13simplifyPrunev()
  tail call void @_ZL20simplifyPruneCleanupv()
  tail call void @_ZL17simplifyPruneFuncv()
  tail call void @_ZL9adjacencyv()
  tail call void @_ZL12tessellationv()
  tail call void @_ZL9provokingv()
  tail call void @_ZL13quantizeFloatv()
  tail call void @_ZL12quantizeHalfv()
  tail call void @_ZL14dequantizeHalfv()
  ret void
}

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeIndexV0v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeIndexV1v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeIndexV1Morev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL23decodeIndexV1ThreeEdgesv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeIndex16v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21encodeIndexMemorySafev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21decodeIndexMemorySafev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL27decodeIndexRejectExtraBytesv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL33decodeIndexRejectMalformedHeadersv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL31decodeIndexRejectInvalidVersionv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL25decodeIndexMalformedVBytev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20roundtripIndexTrickyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16encodeIndexEmptyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19decodeIndexSequencev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21decodeIndexSequence16v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29encodeIndexSequenceMemorySafev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29decodeIndexSequenceMemorySafev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL35decodeIndexSequenceRejectExtraBytesv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL41decodeIndexSequenceRejectMalformedHeadersv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL39decodeIndexSequenceRejectInvalidVersionv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL24encodeIndexSequenceEmptyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14decodeVertexV0v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeVertexV0Morev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19decodeVertexV0Mode2v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14decodeVertexV1v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20decodeVertexV1Customv() local_unnamed_addr #0

declare void @meshopt_encodeVertexVersion(i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL22decodeVertexMemorySafev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL28decodeVertexRejectExtraBytesv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL34decodeVertexRejectMalformedHeadersv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21decodeVertexBitGroupsv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29decodeVertexBitGroupSentinelsv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeVertexDeltasv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeVertexBitXorv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeVertexLargev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeVertexSmallv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17encodeVertexEmptyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL22encodeVertexMemorySafev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13decodeVersionv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16decodeFilterOct8v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17decodeFilterOct12v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18decodeFilterQuat12v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15decodeFilterExpv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16encodeFilterOct8v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17encodeFilterOct12v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18encodeFilterQuat12v() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15encodeFilterExpv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19encodeFilterExpZerov() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20encodeFilterExpAliasv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20encodeFilterExpClampv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL23clusterBoundsDegeneratev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12sphereBoundsv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13meshletsEmptyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13meshletsDensev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14meshletsSparsev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12meshletsFlexv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL11meshletsMaxv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13meshletsSplitv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17meshletsSplitDeepv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14partitionBasicv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL11remapCustomv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15customAllocatorv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL9emptyMeshv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL8simplifyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyStuckv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19simplifySloppyStuckv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19simplifyPointsStuckv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12simplifyFlipv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyScalev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18simplifyDegeneratev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL18simplifyLockBorderv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12simplifyAttrb(i1 noundef zeroext) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17simplifyLockFlagsv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21simplifyLockFlagsSeamv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14simplifySparsev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21simplifyErrorAbsolutev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12simplifySeamv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16simplifySeamFakev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL16simplifySeamAttrv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyDebugv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13simplifyPrunev() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20simplifyPruneCleanupv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17simplifyPruneFuncv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL9adjacencyv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12tessellationv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL9provokingv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL13quantizeFloatv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12quantizeHalfv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14dequantizeHalfv() local_unnamed_addr #0

attributes #0 = { mustprogress 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)"}


; Effective O3 passes: GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,LoopRotatePass,SROAPass,SimplifyCFGPass,TailCallElimPass