Revert "[DWARFv5] Emit file 0 to the line table."
Caused an asan failure.

This reverts commit d54883f081186cdcce74e6f98cfc0438579ec019.
aka r326758

llvm-svn: 326762
diff --git a/llvm/test/CodeGen/Generic/dwarf-md5.ll b/llvm/test/CodeGen/Generic/dwarf-md5.ll
index 09b901e..b997720 100644
--- a/llvm/test/CodeGen/Generic/dwarf-md5.ll
+++ b/llvm/test/CodeGen/Generic/dwarf-md5.ll
@@ -8,25 +8,28 @@
 ; RUN: %llc_dwarf -dwarf-version 4 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
 ; RUN: %llc_dwarf -dwarf-version 5 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
 ; RUN: %llc_dwarf -dwarf-version 4 -filetype=obj -o %t4.o %s
-; RUN: llvm-dwarfdump -debug-line %t4.o | FileCheck %s --check-prefix=OBJ
+; RUN: llvm-dwarfdump -debug-line %t4.o | FileCheck %s --check-prefix=OBJ-4
 ; RUN: %llc_dwarf -dwarf-version 5 -filetype=obj -o %t5.o %s
-; RUN: llvm-dwarfdump -debug-line %t5.o | FileCheck %s --check-prefixes=OBJ,OBJ-5
+; RUN: llvm-dwarfdump -debug-line %t5.o | FileCheck %s --check-prefix=OBJ-5
 
-; ASM: .file 0 "[[COMPDIR:.*]]{{[/\\]}}t.c" md5 "00000000000000000000000000000000"
-; ASM: .file 1 "[[COMPDIR]]{{[/\\]}}t1.h" md5 "11111111111111111111111111111111"
-; ASM: .file 2 "[[COMPDIR]]{{[/\\]}}t2.h" md5 "22222222222222222222222222222222"
+; FIXME: Need to convey the MD5 for the primary source file.
+; ASM: .file 1 ".{{/|\\\\}}t1.h" md5 "11111111111111111111111111111111"
+; ASM: .file 2 ".{{/|\\\\}}t2.h" md5 "22222222222222222222222222222222"
+
+; OBJ-4: file_names[ 1]:
+; OBJ-4-NEXT: name: "t1.h"
+; OBJ-4-NEXT: dir_index: 1
+; OBJ-4: file_names[ 2]:
+; OBJ-4-NEXT: name: "t2.h"
+; OBJ-4-NEXT: dir_index: 1
 
 ; OBJ-5: file_names[ 0]:
-; OBJ-5-NEXT: name: "t.c"
-; OBJ-5-NEXT: dir_index: 0
-; OBJ-5-NEXT: md5_checksum: 00000000000000000000000000000000
-; OBJ: file_names[ 1]:
-; OBJ-NEXT: name: "t1.h"
-; OBJ-NEXT: dir_index: 0
+; OBJ-5-NEXT: name: "t1.h"
+; OBJ-5-NEXT: dir_index: 1
 ; OBJ-5-NEXT: md5_checksum: 11111111111111111111111111111111
-; OBJ: file_names[ 2]:
-; OBJ-NEXT: name: "t2.h"
-; OBJ-NEXT: dir_index: 0
+; OBJ-5: file_names[ 1]:
+; OBJ-5-NEXT: name: "t2.h"
+; OBJ-5-NEXT: dir_index: 1
 ; OBJ-5-NEXT: md5_checksum: 22222222222222222222222222222222
 
 ; ModuleID = 't.c'
@@ -47,9 +50,9 @@
 !5 = !{!0, !6}
 !6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())
 !7 = distinct !DIGlobalVariable(name: "t2", scope: !2, file: !8, line: 1, type: !9, isLocal: false, isDefinition: true)
-!8 = !DIFile(filename: "t2.h", directory: "/home/probinson/projects/scratch", checksumkind: CSK_MD5, checksum: "22222222222222222222222222222222")
+!8 = !DIFile(filename: "./t2.h", directory: "/home/probinson/projects/scratch", checksumkind: CSK_MD5, checksum: "22222222222222222222222222222222")
 !9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!10 = !DIFile(filename: "t1.h", directory: "/home/probinson/projects/scratch", checksumkind: CSK_MD5, checksum: "11111111111111111111111111111111")
+!10 = !DIFile(filename: "./t1.h", directory: "/home/probinson/projects/scratch", checksumkind: CSK_MD5, checksum: "11111111111111111111111111111111")
 !11 = !{i32 2, !"Dwarf Version", i32 4}
 !12 = !{i32 2, !"Debug Info Version", i32 3}
 !13 = !{i32 1, !"wchar_size", i32 4}
diff --git a/llvm/test/CodeGen/Generic/dwarf-source.ll b/llvm/test/CodeGen/Generic/dwarf-source.ll
index e59193d..9c34fc5 100644
--- a/llvm/test/CodeGen/Generic/dwarf-source.ll
+++ b/llvm/test/CodeGen/Generic/dwarf-source.ll
@@ -8,27 +8,30 @@
 ; RUN: %llc_dwarf -dwarf-version 4 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
 ; RUN: %llc_dwarf -dwarf-version 5 -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
 ; RUN: %llc_dwarf -dwarf-version 4 -filetype=obj -o %t4.o %s
-; RUN: llvm-dwarfdump -debug-line %t4.o | FileCheck %s --check-prefixes=OBJ,OBJ-4
+; RUN: llvm-dwarfdump -debug-line %t4.o | FileCheck %s --check-prefix=OBJ-4
 ; RUN: %llc_dwarf -dwarf-version 5 -filetype=obj -o %t5.o %s
-; RUN: llvm-dwarfdump -debug-line %t5.o | FileCheck %s --check-prefixes=OBJ,OBJ-5
+; RUN: llvm-dwarfdump -debug-line %t5.o | FileCheck %s --check-prefix=OBJ-5
 
-; ASM: .file 0 "[[COMPDIR:.*]]{{[/\\]}}t.c" source "00000000000000000000000000000000"
-; ASM: .file 1 "[[COMPDIR]]{{[/\\]}}t1.h" source "11111111111111111111111111111111"
-; ASM: .file 2 "[[COMPDIR]]{{[/\\]}}t2.h" source "22222222222222222222222222222222"
+; FIXME: Need to convey the source for the primary source file.
+; ASM: .file 1 ".{{/|\\\\}}t1.h" source "11111111111111111111111111111111"
+; ASM: .file 2 ".{{/|\\\\}}t2.h" source "22222222222222222222222222222222"
+
+; OBJ-4: file_names[ 1]:
+; OBJ-4-NEXT: name: "t1.h"
+; OBJ-4-NEXT: dir_index: 1
+; OBJ-4-NOT: 11111111111111111111111111111111
+; OBJ-4: file_names[ 2]:
+; OBJ-4-NEXT: name: "t2.h"
+; OBJ-4-NEXT: dir_index: 1
+; OBJ-4-NOT: 22222222222222222222222222222222
 
 ; OBJ-5: file_names[ 0]:
-; OBJ-5-NEXT: name: "t.c"
-; OBJ-5-NEXT: dir_index: 0
-; OBJ-5-NEXT: source: "00000000000000000000000000000000"
-; OBJ: file_names[ 1]:
-; OBJ-NEXT: name: "t1.h"
-; OBJ-NEXT: dir_index: 0
-; OBJ-4-NOT: 11111111111111111111111111111111
+; OBJ-5-NEXT: name: "t1.h"
+; OBJ-5-NEXT: dir_index: 1
 ; OBJ-5-NEXT: source: "11111111111111111111111111111111"
-; OBJ: file_names[ 2]:
-; OBJ-NEXT: name: "t2.h"
-; OBJ-NEXT: dir_index: 0
-; OBJ-4-NOT: 22222222222222222222222222222222
+; OBJ-5: file_names[ 1]:
+; OBJ-5-NEXT: name: "t2.h"
+; OBJ-5-NEXT: dir_index: 1
 ; OBJ-5-NEXT: source: "22222222222222222222222222222222"
 
 ; ModuleID = 't.c'
@@ -49,9 +52,9 @@
 !5 = !{!0, !6}
 !6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())
 !7 = distinct !DIGlobalVariable(name: "t2", scope: !2, file: !8, line: 1, type: !9, isLocal: false, isDefinition: true)
-!8 = !DIFile(filename: "t2.h", directory: "/test", source: "22222222222222222222222222222222")
+!8 = !DIFile(filename: "./t2.h", directory: "/test", source: "22222222222222222222222222222222")
 !9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!10 = !DIFile(filename: "t1.h", directory: "/test", source: "11111111111111111111111111111111")
+!10 = !DIFile(filename: "./t1.h", directory: "/test", source: "11111111111111111111111111111111")
 !11 = !{i32 2, !"Dwarf Version", i32 4}
 !12 = !{i32 2, !"Debug Info Version", i32 3}
 !13 = !{i32 1, !"wchar_size", i32 4}
diff --git a/llvm/test/DebugInfo/X86/dbg-file-name.ll b/llvm/test/DebugInfo/X86/dbg-file-name.ll
index 633b9c0..251952d 100644
--- a/llvm/test/DebugInfo/X86/dbg-file-name.ll
+++ b/llvm/test/DebugInfo/X86/dbg-file-name.ll
@@ -2,7 +2,7 @@
 
 ; Verify that the file name is relative to the directory.
 ; rdar://problem/8884898
-; CHECK: file	1 "/Users/manav/one/two" "simple.c"
+; CHECK: file	1 "simple.c"
 
 declare i32 @printf(i8*, ...) nounwind
 
diff --git a/llvm/test/DebugInfo/X86/inline-asm-locs.ll b/llvm/test/DebugInfo/X86/inline-asm-locs.ll
index 9dad6dd..632aa0b 100644
--- a/llvm/test/DebugInfo/X86/inline-asm-locs.ll
+++ b/llvm/test/DebugInfo/X86/inline-asm-locs.ll
@@ -22,7 +22,7 @@
 ; CHECK: .file 2 "B.asm"
 ; CHECK: .loc  1 111
 ; CHECK: .loc  2 222
-; CHECK: .file 3 "/{{.*}}/test.c"
+; CHECK: .file 3 "test.c"
 ; CHECK: .loc  3 14 0  
 
 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
diff --git a/llvm/test/MC/ARM/dwarf-asm-multiple-sections.s b/llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
index cff8f00..4c099ac 100644
--- a/llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
+++ b/llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
@@ -54,9 +54,9 @@
 // DWARF-DL: .debug_line contents:
 // DWARF-DL: version: [[DWVER]]
 // DWARF-DL-5:    address_size: 4
-// DWARF-DL-5:    include_directories[  0] = "/tmp"
+// DWARF-DL-5:    include_directories[  0] = ""
 // DWARF-DL:      file_names[  [[DWFILE]]]:
-// DWARF-DL:      name: "{{(<stdin>|-)}}"
+// DWARF-DL:      name: "<stdin>"
 // DWARF-DL:      0x0000000000000000     17      0      1   0   0  is_stmt
 // DWARF-DL-NEXT: 0x0000000000000004     17      0      1   0   0  is_stmt end_sequence
 // DWARF-DL-NEXT: 0x0000000000000000     21      0      1   0   0  is_stmt
diff --git a/llvm/test/MC/ELF/debug-file-options.s b/llvm/test/MC/ELF/debug-file-options.s
index 5029d12..3bcd131 100644
--- a/llvm/test/MC/ELF/debug-file-options.s
+++ b/llvm/test/MC/ELF/debug-file-options.s
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o -| llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s -DFILE0NAME=%s
+// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o -| llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s
 
 // Test combinations of options to the .file directive.
 
@@ -11,32 +11,25 @@
 
 # CHECK: debug_line[0x00000000]
 # CHECK: version: 5
-# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "{{.*}}"
+# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = ""
 # CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
 # CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
 # CHECK-NOT: include_directories
 # CHECK: file_names[ 0]:
-# CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "[[FILE0NAME]]"
-# CHECK-NEXT: dir_index: 0
-# CHECK-NEXT: md5_checksum:
-# CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC:[0-9a-f]+]]] = ""
-# CHECK: file_names[ 1]:
 # CHECK-NEXT: name: .debug_line_str[0x[[FILE1:[0-9a-f]+]]] = "foo"
 # CHECK-NEXT: dir_index: 1
 # CHECK-NEXT: md5_checksum: ee87e05688663173cd6043a3a15bba6e
 # CHECK-NEXT: source: .debug_line_str[0x[[FILE1SRC:[0-9a-f]+]]] = "void foo() {}"
-# CHECK: file_names[ 2]:
+# CHECK: file_names[ 1]:
 # CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
 # CHECK-NEXT: dir_index: 2
 # CHECK-NEXT: md5_checksum: 816225a0c90ca8948b70eb58be4d522f
 # CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar() {}"
 
 # CHECK: .debug_line_str contents:
-# CHECK-NEXT: 0x[[DIR0]]: "{{.*}}"
+# CHECK-NEXT: 0x[[DIR0]]: ""
 # CHECK-NEXT: 0x[[DIR1]]: "dir1"
 # CHECK-NEXT: 0x[[DIR2]]: "dir2"
-# CHECK-NEXT: 0x[[FILE0]]: "[[FILE0NAME]]"
-# CHECK-NEXT: 0x[[FILE0SRC]]: ""
 # CHECK-NEXT: 0x[[FILE1]]: "foo"
 # CHECK-NEXT: 0x[[FILE1SRC]]: "void foo() {}"
 # CHECK-NEXT: 0x[[FILE2]]: "bar"
diff --git a/llvm/test/MC/ELF/debug-md5.s b/llvm/test/MC/ELF/debug-md5.s
index 0e5ac1ed..f8f3bc1 100644
--- a/llvm/test/MC/ELF/debug-md5.s
+++ b/llvm/test/MC/ELF/debug-md5.s
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -fdebug-compilation-dir=/tmp -filetype=obj %s -o - | llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s -DROOTFILE=%s
+// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o - | llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s
 
         .file 1 "dir1/foo"   md5 "00112233445566778899aabbccddeeff"
         .file 2 "dir2" "bar" md5 "ffeeddccbbaa99887766554433221100"
@@ -9,26 +9,22 @@
 
 # CHECK: debug_line[0x00000000]
 # CHECK: version: 5
-# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "/tmp"
+# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = ""
 # CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
 # CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
 # CHECK-NOT: include_directories
 # CHECK: file_names[ 0]:
-# CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "[[ROOTFILE]]"
-# CHECK-NEXT: dir_index: 0
-# CHECK: file_names[ 1]:
 # CHECK-NEXT: name: .debug_line_str[0x[[FILE1:[0-9a-f]+]]] = "foo"
 # CHECK-NEXT: dir_index: 1
 # CHECK-NEXT: md5_checksum: 00112233445566778899aabbccddeeff
-# CHECK: file_names[ 2]:
+# CHECK: file_names[ 1]:
 # CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
 # CHECK-NEXT: dir_index: 2
 # CHECK-NEXT: md5_checksum: ffeeddccbbaa99887766554433221100
 
 # CHECK: .debug_line_str contents:
-# CHECK-NEXT: 0x[[DIR0]]: "/tmp"
+# CHECK-NEXT: 0x[[DIR0]]: ""
 # CHECK-NEXT: 0x[[DIR1]]: "dir1"
 # CHECK-NEXT: 0x[[DIR2]]: "dir2"
-# CHECK-NEXT: 0x[[FILE0]]: "[[ROOTFILE]]"
 # CHECK-NEXT: 0x[[FILE1]]: "foo"
 # CHECK-NEXT: 0x[[FILE2]]: "bar"
diff --git a/llvm/test/MC/ELF/debug-source.s b/llvm/test/MC/ELF/debug-source.s
index b3a4247..0b919e1 100644
--- a/llvm/test/MC/ELF/debug-source.s
+++ b/llvm/test/MC/ELF/debug-source.s
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o -| llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s -DFILE0NAME=%s
+// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o -| llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s
 
         .file 1 "dir1/foo"   source "void foo() {}"
         .file 2 "dir2" "bar" source "void bar()\n{\n}"
@@ -9,29 +9,23 @@
 
 # CHECK: debug_line[0x00000000]
 # CHECK: version: 5
-# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "{{.*}}"
+# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = ""
 # CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
 # CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
 # CHECK-NOT: include_directories
 # CHECK: file_names[ 0]:
-# CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "[[FILE0NAME]]"
-# CHECK-NEXT: dir_index: 0
-# CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC:[0-9a-f]+]]] = ""
-# CHECK: file_names[ 1]:
 # CHECK-NEXT: name: .debug_line_str[0x[[FILE1:[0-9a-f]+]]] = "foo"
 # CHECK-NEXT: dir_index: 1
 # CHECK-NEXT: source: .debug_line_str[0x[[FILE1SRC:[0-9a-f]+]]] = "void foo() {}"
-# CHECK: file_names[ 2]:
+# CHECK: file_names[ 1]:
 # CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
 # CHECK-NEXT: dir_index: 2
 # CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar()\n{\n}"
 
 # CHECK: .debug_line_str contents:
-# CHECK-NEXT: 0x[[DIR0]]: "{{.*}}"
+# CHECK-NEXT: 0x[[DIR0]]: ""
 # CHECK-NEXT: 0x[[DIR1]]: "dir1"
 # CHECK-NEXT: 0x[[DIR2]]: "dir2"
-# CHECK-NEXT: 0x[[FILE0]]: "[[FILE0NAME]]"
-# CHECK-NEXT: 0x[[FILE0SRC]]: ""
 # CHECK-NEXT: 0x[[FILE1]]: "foo"
 # CHECK-NEXT: 0x[[FILE1SRC]]: "void foo() {}"
 # CHECK-NEXT: 0x[[FILE2]]: "bar"
diff --git a/llvm/test/MC/ELF/dwarf-file0.s b/llvm/test/MC/ELF/dwarf-file0.s
deleted file mode 100644
index 1c87284..0000000
--- a/llvm/test/MC/ELF/dwarf-file0.s
+++ /dev/null
@@ -1,17 +0,0 @@
-# RUN: llvm-mc -dwarf-version 4 %s -filetype=obj -o - | llvm-dwarfdump -debug-line - | FileCheck %s --check-prefixes=CHECK,CHECK-4
-# RUN: llvm-mc -dwarf-version 5 %s -filetype=obj -o - | llvm-dwarfdump -debug-line - | FileCheck %s --check-prefixes=CHECK,CHECK-5
-        .file 0 "root.cpp"
-        .file 1 "header.h"
-        .file 2 "root.cpp"
-# CHECK-5:     include_directories[ 0] = ""
-# CHECK-4-NOT: include_directories
-# CHECK-4-NOT: file_names[ 0]
-# CHECK-5:     file_names[ 0]:
-# CHECK-5-NEXT: name: "root.cpp"
-# CHECK-5-NEXT: dir_index: 0
-# CHECK:       file_names[ 1]:
-# CHECK-NEXT:  name: "header.h"
-# CHECK-NEXT:  dir_index: 0
-# CHECK:       file_names[ 2]:
-# CHECK-NEXT:  name: "root.cpp"
-# CHECK-NEXT:  dir_index: 0