forked from llvm-mirror/llvm
-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch amd-master into amd-common
- Loading branch information
Showing
18 changed files
with
231 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,6 @@ T: ARM, AArch64 | |
O: Linux | ||
|
||
N: Simon Dardis | ||
E: simon.dardis@imgtec.com | ||
E: simon.dardis@mips.com | ||
T: MIPS | ||
O: Linux |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
; RUN: llc -mtriple mips64-unknown-freebsd12.0 -relocation-model pic -mcpu=mips4 -target-abi n64 -O2 -o - %s | ||
|
||
; Test that the long branch pass does not crash due to the control flow | ||
; optimizer producing malformed basic block operands due to the backend | ||
; failing to handle debug information around branch instructions. | ||
|
||
define void @f() !dbg !5 { | ||
entry: | ||
%cmp = icmp eq i32 undef, 0, !dbg !16 | ||
%conv = zext i1 %cmp to i32, !dbg !16 | ||
tail call void @llvm.dbg.value(metadata i32 %conv, metadata !11, metadata !DIExpression()), !dbg !17 | ||
%tobool = icmp eq i32 undef, 0, !dbg !18 | ||
br i1 %tobool, label %if.end, label %cleanup7.critedge, !dbg !21 | ||
|
||
if.end: ; preds = %entry | ||
%call6 = call i32 bitcast (i32 (...)* @j to i32 (i32)*)(i32 signext %conv) | ||
#4, !dbg !22 | ||
br label %cleanup7, !dbg !23 | ||
|
||
cleanup7.critedge: ; preds = %entry | ||
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull undef) #4, !dbg !24 | ||
br label %cleanup7 | ||
|
||
cleanup7: ; preds = %cleanup7.critedge, | ||
ret void | ||
} | ||
|
||
declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #1 | ||
|
||
declare i32 @j(...) | ||
|
||
declare void @llvm.dbg.value(metadata, metadata, metadata) #3 | ||
attributes #1 = { argmemonly nounwind } | ||
attributes #3 = { nounwind readnone speculatable } | ||
attributes #4 = { nounwind } | ||
|
||
!llvm.dbg.cu = !{!0} | ||
!llvm.module.flags = !{!3, !4} | ||
|
||
!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang | ||
version 6.0.0", isOptimized: true, runtimeVersion: | ||
0, emissionKind: FullDebug, enums: !2) | ||
!1 = !DIFile(filename: | ||
"/tmp//<stdin>", directory: | ||
"/tmp/") | ||
!2 = !{} | ||
!3 = !{i32 2, !"Debug Info Version", i32 3} | ||
!4 = !{i32 7, !"PIC Level", i32 2} | ||
!5 = distinct !DISubprogram(name: "f", scope: !6, file: !6, line: 8, type: !7, | ||
isLocal: false, isDefinition: true, scopeLine: 8, isOptimized: true, unit: !0, | ||
variables: !10) | ||
!6 = !DIFile(filename: | ||
"/tmp/test.c", | ||
directory: "/tmp") | ||
!7 = !DISubroutineType(types: !8) | ||
!8 = !{!9} | ||
!9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) | ||
!10 = !{!11, !12, !14} | ||
!11 = !DILocalVariable(name: "e", scope: !5, file: !6, line: 9, type: !9) | ||
!12 = !DILocalVariable(name: "g", scope: !13, file: !6, line: 11, type: !9) | ||
!13 = distinct !DILexicalBlock(scope: !5, file: !6, line: 10, column: 3) | ||
!14 = !DILocalVariable(name: "d", scope: !13, file: !6, line: 12, type: !15) | ||
!15 = !DIDerivedType(tag: DW_TAG_typedef, name: "a", file: !6, line: 2, | ||
baseType: !9) | ||
!16 = !DILocation(line: 9, column: 15, scope: !5) | ||
!17 = !DILocation(line: 9, column: 7, scope: !5) | ||
!18 = !DILocation(line: 12, column: 5, scope: !19) | ||
!19 = distinct !DILexicalBlock(scope: !20, file: !6, line: 12, column: 5) | ||
!20 = distinct !DILexicalBlock(scope: !5, file: !6, line: 10, column: 3) | ||
!21 = !DILocation(line: 12, column: 5, scope: !20) | ||
!22 = !DILocation(line: 16, column: 3, scope: !5) | ||
!23 = !DILocation(line: 17, column: 1, scope: !5) | ||
!24 = !DILocation(line: 15, column: 3, scope: !5) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.