This prevents the instructions being invalid for the subtarget.
; Function Attrs: nounwind
declare void @llvm.stackprotector(i8*, i8**) #0
- attributes #0 = { nounwind }
+ attributes #0 = { nounwind "target-features"="+v8m" }
attributes #1 = { nounwind readnone speculatable }
attributes #2 = { nounwind readnone }
declare void @llvm.dbg.value(metadata, metadata, metadata)
declare void @llvm.stackprotector(i8*, i8**)
- attributes #0 = { "disable-tail-calls"="false" "frame-pointer"="all" }
+ attributes #0 = { "disable-tail-calls"="false" "frame-pointer"="all" "target-features"="+thumb-mode,+vfp2" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!10, !11, !12, !13, !14}
declare void @llvm.dbg.value(metadata, metadata, metadata)
declare void @llvm.stackprotector(i8*, i8**)
- attributes #0 = { "disable-tail-calls"="false" "frame-pointer"="all" }
+ attributes #0 = { "disable-tail-calls"="false" "frame-pointer"="all" "target-features"="+thumb-mode,+vfp2" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!10, !11, !12, !13, !14}
; Function Attrs: nounwind
declare void @llvm.stackprotector(i8*, i8**)
- attributes #0 = { "frame-pointer"="all"}
+ attributes #0 = { "frame-pointer"="all" "target-features"="+armv7-a" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!9, !10, !11, !12}