mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Use references to attribute groups on the call/invoke instructions.
Listing all of the attributes for the callee of a call/invoke instruction is way too much and makes the IR unreadable. Use references to attributes instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175877 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
@g = global i8 0
|
||||
|
||||
; CHECK: define internal void @foo(i8 signext %y) #0
|
||||
; CHECK: define internal void @foo(i8 signext %y) [[NUW:#[0-9]+]]
|
||||
|
||||
define internal zeroext i8 @foo(i8* inreg %p, i8 signext %y, ... ) nounwind {
|
||||
store i8 %y, i8* @g
|
||||
@@ -12,9 +12,9 @@ define internal zeroext i8 @foo(i8* inreg %p, i8 signext %y, ... ) nounwind {
|
||||
}
|
||||
|
||||
define i32 @bar() {
|
||||
; CHECK: call void @foo(i8 signext 1) nounwind
|
||||
; CHECK: call void @foo(i8 signext 1) [[NUW]]
|
||||
%A = call zeroext i8(i8*, i8, ...)* @foo(i8* inreg null, i8 signext 1, %struct* byval null ) nounwind
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
; CHECK: attributes #0 = { nounwind }
|
||||
; CHECK: attributes [[NUW]] = { nounwind }
|
||||
|
@@ -8,7 +8,7 @@ entry:
|
||||
call void @llvm.dbg.value(metadata !{i32 %len}, i64 0, metadata !10)
|
||||
call void @llvm.dbg.value(metadata !{i32 %hash}, i64 0, metadata !11)
|
||||
call void @llvm.dbg.value(metadata !{i32 %flags}, i64 0, metadata !12)
|
||||
; CHECK: call fastcc i8* @add_name_internal(i8* %name, i32 %hash) nounwind, !dbg !13
|
||||
; CHECK: call fastcc i8* @add_name_internal(i8* %name, i32 %hash) [[NUW:#[0-9]+]], !dbg !13
|
||||
%0 = call fastcc i8* @add_name_internal(i8* %name, i32 %len, i32 %hash, i8 zeroext 0, i32 %flags) nounwind, !dbg !13 ; <i8*> [#uses=1]
|
||||
ret i8* %0, !dbg !13
|
||||
}
|
||||
@@ -41,6 +41,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
|
||||
; CHECK: attributes #0 = { nounwind ssp }
|
||||
; CHECK: attributes #1 = { nounwind readnone }
|
||||
; CHECK: attributes #2 = { noinline nounwind ssp }
|
||||
; CHECK: attributes [[NUW]] = { nounwind }
|
||||
|
||||
!0 = metadata !{i32 524545, metadata !1, metadata !"name", metadata !2, i32 8, metadata !6} ; [ DW_TAG_arg_variable ]
|
||||
!1 = metadata !{i32 524334, i32 0, metadata !2, metadata !"vfs_addname", metadata !"vfs_addname", metadata !"vfs_addname", metadata !2, i32 12, metadata !4, i1 false, i1 true, i32 0, i32 0, null, i1 false} ; [ DW_TAG_subprogram ]
|
||||
|
Reference in New Issue
Block a user