forked from OSchip/llvm-project
[AVR] Fix 14 Generic CodeGen tests by making address space explicit or optional
This fixes the vast majority of remaining failing AVR Generic CodeGen tests.
This commit is contained in:
parent
c8e6cde95c
commit
85e8e6246e
|
@ -13,4 +13,4 @@ blat:
|
|||
ret i32 0
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; RUN: llc < %s
|
||||
; RUN: llc < %s
|
||||
; PR1228
|
||||
|
||||
%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" = type { i8* }
|
||||
|
@ -60,4 +60,4 @@ declare void @_ZNSs7reserveEj()
|
|||
|
||||
declare void @_ZNSs6appendEPKcj()
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
; RUN: llc -no-integrated-as < %s
|
||||
|
||||
; XFAIL: avr
|
||||
|
||||
define fastcc void @bc__support__high_resolution_time__initialize_clock_rate() personality i32 (...)* @__gxx_personality_v0 {
|
||||
entry:
|
||||
invoke void asm "rdtsc\0A\09movl %eax, $0\0A\09movl %edx, $1", "=*imr,=*imr,~{dirflag},~{fpsr},~{flags},~{dx},~{ax}"( i32* null, i32* null )
|
||||
|
@ -16,4 +14,4 @@ cleanup144: ; preds = %entry
|
|||
resume { i8*, i32 } %exn
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
|
|
|
@ -32,4 +32,4 @@ declare void @__cxa_throw(i8*, i8*, void (i8*)*) noreturn
|
|||
|
||||
declare void @__cxa_end_catch()
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
|
|
|
@ -63,58 +63,58 @@ bb47: ; preds = %bb46, %bb44
|
|||
br label %bb44
|
||||
}
|
||||
|
||||
define i32 @pthread_once(i32*, void ()*) {
|
||||
define i32 @pthread_once(i32*, void ()*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i8* @pthread_getspecific(i32) {
|
||||
define i8* @pthread_getspecific(i32) addrspace(0) {
|
||||
ret i8* null
|
||||
}
|
||||
|
||||
define i32 @pthread_setspecific(i32, i8*) {
|
||||
define i32 @pthread_setspecific(i32, i8*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_create(i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*) {
|
||||
define i32 @pthread_create(i64*, %struct.pthread_attr_t*, i8* (i8*)*, i8*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_cancel(i64) {
|
||||
define i32 @pthread_cancel(i64) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutex_lock(%struct.pthread_mutex_t*) {
|
||||
define i32 @pthread_mutex_lock(%struct.pthread_mutex_t*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutex_trylock(%struct.pthread_mutex_t*) {
|
||||
define i32 @pthread_mutex_trylock(%struct.pthread_mutex_t*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutex_unlock(%struct.pthread_mutex_t*) {
|
||||
define i32 @pthread_mutex_unlock(%struct.pthread_mutex_t*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutex_init(%struct.pthread_mutex_t*, %struct.Alignment*) {
|
||||
define i32 @pthread_mutex_init(%struct.pthread_mutex_t*, %struct.Alignment*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_key_create(i32*, void (i8*)*) {
|
||||
define i32 @pthread_key_create(i32*, void (i8*)*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_key_delete(i32) {
|
||||
define i32 @pthread_key_delete(i32) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutexattr_init(%struct.Alignment*) {
|
||||
define i32 @pthread_mutexattr_init(%struct.Alignment*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutexattr_settype(%struct.Alignment*, i32) {
|
||||
define i32 @pthread_mutexattr_settype(%struct.Alignment*, i32) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
define i32 @pthread_mutexattr_destroy(%struct.Alignment*) {
|
||||
define i32 @pthread_mutexattr_destroy(%struct.Alignment*) addrspace(0) {
|
||||
ret i32 0
|
||||
}
|
||||
|
|
|
@ -74,4 +74,4 @@ lpad74: ; preds = %entry
|
|||
unreachable
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
--- |
|
||||
; ModuleID = 'loc-only.ll'
|
||||
source_filename = "loc-only.ll"
|
||||
|
||||
|
||||
; ALL-LABEL: @test
|
||||
define i32 @test(i32 %a, i32 %b) {
|
||||
%add = add i32 %a, 2
|
||||
; ALL-NEXT: %add = add i32 %a, 2, !dbg [[L1:![0-9]+]]
|
||||
; VALUE-NEXT: call void @llvm.dbg.value(metadata i32 %add, metadata [[add:![0-9]+]], metadata !DIExpression()), !dbg [[L1]]
|
||||
; VALUE-NEXT: call {{(addrspace\([0-9]+\))?}} void @llvm.dbg.value(metadata i32 %add, metadata [[add:![0-9]+]], metadata !DIExpression()), !dbg [[L1]]
|
||||
%sub = sub i32 %add, %b
|
||||
; ALL-NEXT: %sub = sub i32 %add, %b, !dbg [[L2:![0-9]+]]
|
||||
; VALUE-NEXT: call void @llvm.dbg.value(metadata i32 %sub, metadata [[sub:![0-9]+]], metadata !DIExpression()), !dbg [[L2]]
|
||||
; VALUE-NEXT: call {{(addrspace\([0-9]+\))?}} void @llvm.dbg.value(metadata i32 %sub, metadata [[sub:![0-9]+]], metadata !DIExpression()), !dbg [[L2]]
|
||||
; ALL-NEXT: ret i32 %sub, !dbg [[L3:![0-9]+]]
|
||||
ret i32 %sub
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
call void @llvm.dbg.value(metadata i32 %sub, metadata !11, metadata !DIExpression()), !dbg !13
|
||||
ret i32 %sub, !dbg !14
|
||||
}
|
||||
; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {
|
||||
; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {{(addrspace\([0-9]+\))?}} {
|
||||
; CHECK-NEXT: %add = add i32 %a, 2
|
||||
; CHECK-NEXT: %sub = sub i32 %add, %b
|
||||
; CHECK-NEXT: ret i32 %sub
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
call void @llvm.dbg.value(metadata i32 %sub, metadata !9, metadata !DIExpression()), !dbg !11
|
||||
ret i32 %sub, !dbg !12
|
||||
}
|
||||
; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) !dbg !4 {
|
||||
; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {{(addrspace\([0-9]+\))?}} !dbg !4 {
|
||||
; CHECK-NEXT: %add = add i32 %a, 2, !dbg !10
|
||||
; CHECK-NEXT: call void @llvm.dbg.value(metadata i32 %add, metadata !7, metadata !DIExpression()), !dbg !10
|
||||
; CHECK-NEXT: call {{(addrspace\([0-9]+\))?}} void @llvm.dbg.value(metadata i32 %add, metadata !7, metadata !DIExpression()), !dbg !10
|
||||
; CHECK-NEXT: %sub = sub i32 %add, %b, !dbg !11
|
||||
; CHECK-NEXT: call void @llvm.dbg.value(metadata i32 %sub, metadata !9, metadata !DIExpression()), !dbg !11
|
||||
; CHECK-NEXT: call {{(addrspace\([0-9]+\))?}} void @llvm.dbg.value(metadata i32 %sub, metadata !9, metadata !DIExpression()), !dbg !11
|
||||
; CHECK-NEXT: ret i32 %sub, !dbg !12
|
||||
; CHECK-NEXT: }
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
call void @llvm.dbg.value(metadata i32 %sub, metadata !11, metadata !DIExpression()), !dbg !13
|
||||
ret i32 %sub, !dbg !14
|
||||
}
|
||||
; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {
|
||||
; CHECK-LABEL: define i32 @test(i32 %a, i32 %b) {{(addrspace\([0-9]+\))?}} {
|
||||
; CHECK-NEXT: %add = add i32 %a, 2
|
||||
; CHECK-NEXT: %sub = sub i32 %add, %b
|
||||
; CHECK-NEXT: ret i32 %sub
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
; RUN: llc < %s | FileCheck %s
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
declare void @__cxa_call_unexpected(i8*)
|
||||
declare void @llvm.donothing() readnone
|
||||
|
||||
|
|
|
@ -26,4 +26,4 @@ lpad27: ; preds = %"10", %"9"
|
|||
|
||||
declare void @_ZNK14gIndexOdometer9NoIndicesEv()
|
||||
|
||||
declare i32 @__gxx_personality_v0(i32, i64, i8*, i8*)
|
||||
declare i32 @__gxx_personality_v0(i32, i64, i8*, i8*) addrspace(0)
|
||||
|
|
|
@ -17,4 +17,4 @@ handler:
|
|||
ret void
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
declare i32 @__gxx_personality_v0(...) addrspace(0)
|
||||
|
|
|
@ -19,18 +19,18 @@ entry:
|
|||
|
||||
if.end:
|
||||
%tobool = icmp eq i32 0, 0
|
||||
%a = select i1 %tobool, void (i32)* @f1, void (i32)* null, !dbg !8
|
||||
%b = select i1 %tobool, void (i32)* @f2, void (i32)* null, !dbg !8
|
||||
call void %a(i32 %x)
|
||||
call void %b(i32 %x)
|
||||
%a = select i1 %tobool, void (i32) addrspace(0)* @f1, void (i32)* null, !dbg !8
|
||||
%b = select i1 %tobool, void (i32) addrspace(0)* @f2, void (i32)* null, !dbg !8
|
||||
call addrspace(0) void %a(i32 %x)
|
||||
call addrspace(0) void %b(i32 %x)
|
||||
unreachable
|
||||
|
||||
cleanup:
|
||||
ret void
|
||||
}
|
||||
|
||||
declare void @f1(i32)
|
||||
declare void @f2(i32)
|
||||
declare void @f1(i32) addrspace(0)
|
||||
declare void @f2(i32) addrspace(0)
|
||||
|
||||
declare void @llvm.dbg.value(metadata, metadata, metadata)
|
||||
|
||||
|
|
Loading…
Reference in New Issue