[PATCH] D36495: [llvm] Get rid of "%T" expansions

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 8 16:57:32 PDT 2017


"Kuba (Brecka) Mracek via Phabricator via llvm-commits"
<llvm-commits at lists.llvm.org> writes:
> kubamracek created this revision.
> Herald added subscribers: kbarton, eraman, javed.absar, nemanjai,
> sdardis, mehdi_amini.
>
> The `%T` lit expansion expands to a common directory shared between
> all the tests in the same directory, which is unexpected and
> unintuitive, and more importantly, it's been a source of subtle race
> conditions and flaky tests.  In https://reviews.llvm.org/D35396, it
> was agreed that it would be best to simply ban `%T` and only keep
> `%t`, which is unique to each test.  When a test needs a temporary
> directory, it can just create one using `mkdir %t`.
>
> This patch removes `%T` in llvm.

The patch itself (and the equivalent ones for the other repos) is
obvious enough to commit without review if we're all agreed to get rid
of %T.

Please send a note to llvm-dev about getting rid of %T though, just in
case someone opposes for some reason and to avoid surprising out-of-tree
folks.

>
> Repository:
>   rL LLVM
>
> https://reviews.llvm.org/D36495
>
> Files:
>   test/Bindings/OCaml/analysis.ml
>   test/Bindings/OCaml/bitreader.ml
>   test/Bindings/OCaml/bitwriter.ml
>   test/Bindings/OCaml/core.ml
>   test/Bindings/OCaml/diagnostic_handler.ml
>   test/Bindings/OCaml/executionengine.ml
>   test/Bindings/OCaml/ext_exc.ml
>   test/Bindings/OCaml/ipo.ml
>   test/Bindings/OCaml/irreader.ml
>   test/Bindings/OCaml/linker.ml
>   test/Bindings/OCaml/passmgr_builder.ml
>   test/Bindings/OCaml/scalar_opts.ml
>   test/Bindings/OCaml/target.ml
>   test/Bindings/OCaml/transform_utils.ml
>   test/Bindings/OCaml/vectorize.ml
>   test/DebugInfo/PDB/pdbdump-objfilename.yaml
>   test/DebugInfo/PDB/pdbdump-source-names.test
>   test/DebugInfo/X86/split-dwarf-multiple-cu-hash.ll
>   test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test
>   test/DebugInfo/llvm-symbolizer.test
>   test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_BE-relocations.s
>   test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_PIC_relocations.s
>   test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_local_branch.s
>   test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_relocations.s
>   test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s
>   test/ExecutionEngine/RuntimeDyld/ARM/ELF_ARM_EXIDX_relocations.s
>   test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s
>   test/ExecutionEngine/RuntimeDyld/Mips/ELF_Mips64r2N64_PIC_relocations.s
>   test/ExecutionEngine/RuntimeDyld/Mips/ELF_N32_relocations.s
>   test/ExecutionEngine/RuntimeDyld/Mips/ELF_N64R6_relocations.s
>   test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32R6_relocations.s
>   test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32_PIC_relocations.s
>   test/ExecutionEngine/RuntimeDyld/PowerPC/ppc32_elf_rel_addr16.s
>   test/ExecutionEngine/RuntimeDyld/SystemZ/cfi-relo-pc64.s
>   test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF-relaxed.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF_STT_FILE.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PC8_relocations.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PIC_relocations.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_PIC-small-relocations.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_debug_frame.s
>   test/ExecutionEngine/RuntimeDyld/X86/ELF_x86_64_StubBuf.s
>   test/ExecutionEngine/RuntimeDyld/X86/MachO_empty_ehframe.s
>   test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s
>   test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s
>   test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
>   test/LTO/X86/bcsection.ll
>   test/LTO/X86/list-symbols.ll
>   test/LibDriver/infer-output-path.test
>   test/LibDriver/libpath.test
>   test/Object/archive-delete.test
>   test/Object/archive-extract.test
>   test/Object/archive-move.test
>   test/Object/archive-thin-paths.test
>   test/Object/archive-update.test
>   test/Object/directory.ll
>   test/Other/can-execute.txt
>   test/Other/lit-globbing.ll
>   test/ThinLTO/X86/prefix_replace.ll
>   test/Transforms/GCOVProfiling/function-numbering.ll
>   test/Transforms/GCOVProfiling/global-ctor.ll
>   test/Transforms/GCOVProfiling/linezero.ll
>   test/Transforms/GCOVProfiling/linkagename.ll
>   test/Transforms/GCOVProfiling/return-block.ll
>   test/Transforms/GCOVProfiling/three-element-mdnode.ll
>   test/Transforms/GCOVProfiling/version.ll
>   test/tools/dsymutil/X86/basic-linking-bundle.test
>   test/tools/dsymutil/X86/multiple-inputs.test
>   test/tools/gold/X86/bcsection.ll
>   test/tools/gold/X86/error-unopenable.ll
>   test/tools/gold/X86/thinlto_prefix_replace.ll
>   test/tools/llvm-dwp/X86/type_dedup.test
>   test/tools/llvm-strings/archive-filename.test
>   test/tools/llvm-strings/nested-archives.test
>
> Index: test/tools/llvm-strings/nested-archives.test
> ===================================================================
> --- test/tools/llvm-strings/nested-archives.test
> +++ test/tools/llvm-strings/nested-archives.test
> @@ -1,8 +1,7 @@
> -RUN: rm -f %T/inner.ar
> -RUN: llvm-ar -format gnu crs %T/inner.a %S/Inputs/abcd
> -RUN: rm -f %T/outer.ar
> -RUN: llvm-ar -format gnu crs %T/outer.a %T/inner.a
> -RUN: llvm-strings %T/outer.a | FileCheck %s
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: llvm-ar -format gnu crs %t/inner.a %S/Inputs/abcd
> +RUN: llvm-ar -format gnu crs %t/outer.a %t/inner.a
> +RUN: llvm-strings %t/outer.a | FileCheck %s
>  
>  CHECK: !<arch>
>  CHECK: inner.a/        0           0     0     644     72        `
> Index: test/tools/llvm-strings/archive-filename.test
> ===================================================================
> --- test/tools/llvm-strings/archive-filename.test
> +++ test/tools/llvm-strings/archive-filename.test
> @@ -1,7 +1,7 @@
> -RUN: rm -f %T/archive.a
> -RUN: llvm-ar -format gnu crs %T/archive.a %S/Inputs/abcd
> -RUN: llvm-strings -f %T/archive.a | FileCheck %s
> -RUN: llvm-strings --print-file-name %T/archive.a | FileCheck %s
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: llvm-ar -format gnu crs %t/archive.a %S/Inputs/abcd
> +RUN: llvm-strings -f %t/archive.a | FileCheck %s
> +RUN: llvm-strings --print-file-name %t/archive.a | FileCheck %s
>  
>  CHECK: archive.a: !<arch>
>  CHECK: archive.a: abcd/           0           0     0     644     4         `
> Index: test/tools/llvm-dwp/X86/type_dedup.test
> ===================================================================
> --- test/tools/llvm-dwp/X86/type_dedup.test
> +++ test/tools/llvm-dwp/X86/type_dedup.test
> @@ -1,7 +1,7 @@
>  RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %p/../Inputs/type_dedup/b.dwo -o %t
>  RUN: llvm-dwarfdump %t | FileCheck %s
> -RUN: llvm-dwp %p/../Inputs/type_dedup/b.dwo -o %T/b.dwp
> -RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %T/b.dwp -o %t
> +RUN: llvm-dwp %p/../Inputs/type_dedup/b.dwo -o %tb.dwp
> +RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %tb.dwp -o %t
>  RUN: llvm-dwarfdump %t | FileCheck %s
>  
>  a.cpp:
> Index: test/tools/gold/X86/thinlto_prefix_replace.ll
> ===================================================================
> --- test/tools/gold/X86/thinlto_prefix_replace.ll
> +++ test/tools/gold/X86/thinlto_prefix_replace.ll
> @@ -1,15 +1,15 @@
>  ; Check that changing the output path via thinlto-prefix-replace works
> -; RUN: mkdir -p %T/oldpath
> -; RUN: opt -module-summary %s -o %T/oldpath/thinlto_prefix_replace.o
> +; RUN: mkdir -p %t/oldpath
> +; RUN: opt -module-summary %s -o %t/oldpath/thinlto_prefix_replace.o
>  ; Ensure that there is no existing file at the new path, so we properly
>  ; test the creation of the new file there.
> -; RUN: rm -f %T/newpath/thinlto_prefix_replace.o.thinlto.bc
> +; RUN: rm -f %t/newpath/thinlto_prefix_replace.o.thinlto.bc
>  ; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
>  ; RUN:    --plugin-opt=thinlto \
>  ; RUN:    --plugin-opt=thinlto-index-only \
> -; RUN:    --plugin-opt=thinlto-prefix-replace="%T/oldpath/;%T/newpath/" \
> -; RUN:    -shared %T/oldpath/thinlto_prefix_replace.o -o %T/thinlto_prefix_replace
> -; RUN: ls %T/newpath/thinlto_prefix_replace.o.thinlto.bc
> +; RUN:    --plugin-opt=thinlto-prefix-replace="%t/oldpath/;%t/newpath/" \
> +; RUN:    -shared %t/oldpath/thinlto_prefix_replace.o -o %t/thinlto_prefix_replace
> +; RUN: ls %t/newpath/thinlto_prefix_replace.o.thinlto.bc
>  
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  
> Index: test/tools/gold/X86/error-unopenable.ll
> ===================================================================
> --- test/tools/gold/X86/error-unopenable.ll
> +++ test/tools/gold/X86/error-unopenable.ll
> @@ -1,6 +1,6 @@
>  ; RUN: llvm-as -o %t %s
>  ; RUN: not %gold -plugin %llvmshlibdir/LLVMgold.so \
> -; RUN:    --plugin-opt=obj-path=%T/nonexistent-dir/foo.o \
> +; RUN:    --plugin-opt=obj-path=%t/nonexistent-dir/foo.o \
>  ; RUN:    %t -o %t2 2>&1 | FileCheck %s
>  
>  ; CHECK: Could not open file {{.*}}nonexistent-dir
> Index: test/tools/gold/X86/bcsection.ll
> ===================================================================
> --- test/tools/gold/X86/bcsection.ll
> +++ test/tools/gold/X86/bcsection.ll
> @@ -1,9 +1,10 @@
> -; RUN: llvm-as -o %T/bcsection.bc %s
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: llvm-as -o %t/bcsection.bc %s
>  
> -; RUN: llvm-mc -I=%T -filetype=obj -triple=x86_64-unknown-unknown -o %T/bcsection.bco %p/Inputs/bcsection.s
> -; RUN: llvm-nm -no-llvm-bc %T/bcsection.bco | count 0
> -; RUN: %gold -r -o %T/bcsection.o -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold.so %T/bcsection.bco
> -; RUN: llvm-nm -no-llvm-bc %T/bcsection.o | FileCheck %s
> +; RUN: llvm-mc -I=%t -filetype=obj -triple=x86_64-unknown-unknown -o %t/bcsection.bco %p/Inputs/bcsection.s
> +; RUN: llvm-nm -no-llvm-bc %t/bcsection.bco | count 0
> +; RUN: %gold -r -o %t/bcsection.o -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold.so %t/bcsection.bco
> +; RUN: llvm-nm -no-llvm-bc %t/bcsection.o | FileCheck %s
>  
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-unknown-unknown"
> Index: test/tools/dsymutil/X86/multiple-inputs.test
> ===================================================================
> --- test/tools/dsymutil/X86/multiple-inputs.test
> +++ test/tools/dsymutil/X86/multiple-inputs.test
> @@ -1,31 +1,31 @@
> -RUN: rm -rf %T/multiple-inputs
> -RUN: mkdir -p %T/multiple-inputs
> +RUN: rm -rf %t
> +RUN: mkdir -p %t
>  
> -RUN: cat %p/../Inputs/basic.macho.x86_64 > %T/multiple-inputs/basic.macho.x86_64
> -RUN: cat %p/../Inputs/basic-archive.macho.x86_64 > %T/multiple-inputs/basic-archive.macho.x86_64
> -RUN: cat %p/../Inputs/basic-lto.macho.x86_64 > %T/multiple-inputs/basic-lto.macho.x86_64
> -RUN: cat %p/../Inputs/basic-lto-dw4.macho.x86_64 > %T/multiple-inputs/basic-lto-dw4.macho.x86_64
> +RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64
> +RUN: cat %p/../Inputs/basic-archive.macho.x86_64 > %t/basic-archive.macho.x86_64
> +RUN: cat %p/../Inputs/basic-lto.macho.x86_64 > %t/basic-lto.macho.x86_64
> +RUN: cat %p/../Inputs/basic-lto-dw4.macho.x86_64 > %t/basic-lto-dw4.macho.x86_64
>  
>  # Multiple inputs in flat mode
> -RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %T/multiple-inputs/basic.macho.x86_64 %T/multiple-inputs/basic-archive.macho.x86_64 %T/multiple-inputs/basic-lto.macho.x86_64 %T/multiple-inputs/basic-lto-dw4.macho.x86_64
> -RUN: llvm-dwarfdump %T/multiple-inputs/basic.macho.x86_64.dwarf \
> +RUN: llvm-dsymutil -f -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64
> +RUN: llvm-dwarfdump %t/basic.macho.x86_64.dwarf \
>  RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
> -RUN: llvm-dwarfdump %T/multiple-inputs/basic-archive.macho.x86_64.dwarf \
> +RUN: llvm-dwarfdump %t/basic-archive.macho.x86_64.dwarf \
>  RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=ARCHIVE
> -RUN: llvm-dwarfdump %T/multiple-inputs/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linking-x86.test
> -RUN: llvm-dwarfdump %T/multiple-inputs/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-linking-x86.test
> +RUN: llvm-dwarfdump %t/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linking-x86.test
> +RUN: llvm-dwarfdump %t/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw4-linking-x86.test
>  
>  # Multiple inputs that end up in the same named bundle
> -RUN: llvm-dsymutil -oso-prepend-path=%p/.. %T/multiple-inputs/basic.macho.x86_64 %T/multiple-inputs/basic-archive.macho.x86_64 %T/multiple-inputs/basic-lto.macho.x86_64 %T/multiple-inputs/basic-lto-dw4.macho.x86_64 -o %t.dSYM
> +RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64 -o %t.dSYM
>  RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 \
>  RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=BASIC
>  RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-archive.macho.x86_64 \
>  RUN: | FileCheck %S/basic-linking-x86.test --check-prefix=CHECK --check-prefix=ARCHIVE
>  RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 | FileCheck %S/basic-lto-linking-x86.test
>  RUN: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-lto-dw4.macho.x86_64 | FileCheck %S/basic-lto-dw4-linking-x86.test
>  
>  # Multiple inputs in a named bundle in flat mode... impossible.
> -RUN: not llvm-dsymutil -f -oso-prepend-path=%p/.. %T/multiple-inputs/basic.macho.x86_64 %T/multiple-inputs/basic-archive.macho.x86_64 %T/multiple-inputs/basic-lto.macho.x86_64 %T/multiple-inputs/basic-lto-dw4.macho.x86_64 -o %t.dSYM 2>&1 | FileCheck %s
> +RUN: not llvm-dsymutil -f -oso-prepend-path=%p/.. %t/basic.macho.x86_64 %t/basic-archive.macho.x86_64 %t/basic-lto.macho.x86_64 %t/basic-lto-dw4.macho.x86_64 -o %t.dSYM 2>&1 | FileCheck %s
>  
>  CHECK: error: cannot use -o with multiple inputs in flat mode
>  
> Index: test/tools/dsymutil/X86/basic-linking-bundle.test
> ===================================================================
> --- test/tools/dsymutil/X86/basic-linking-bundle.test
> +++ test/tools/dsymutil/X86/basic-linking-bundle.test
> @@ -1,20 +1,20 @@
> -RUN: rm -rf %T/basic-linking-bundle
> -RUN: mkdir -p %T/basic-linking-bundle/dsymdest
> -RUN: cat %p/../Inputs/basic.macho.x86_64 > %T/basic-linking-bundle/basic.macho.x86_64
> +RUN: rm -rf %t
> +RUN: mkdir -p %t/dsymdest
> +RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64
>  
> -RUN: llvm-dsymutil -oso-prepend-path=%p/.. %T/basic-linking-bundle/basic.macho.x86_64
> +RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64
>  
>  Check that the object file in the bundle exists and is sane:
> -RUN: llvm-dwarfdump %T/basic-linking-bundle/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
> +RUN: llvm-dwarfdump %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
>  
>  Check that llvm-dwarfdump recognizes the bundle as a dSYM:
> -RUN: llvm-dwarfdump %T/basic-linking-bundle/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test
> +RUN: llvm-dwarfdump %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test
>  
> -RUN: FileCheck %s --input-file %T/basic-linking-bundle/basic.macho.x86_64.dSYM/Contents/Info.plist
> +RUN: FileCheck %s --input-file %t/basic.macho.x86_64.dSYM/Contents/Info.plist
>  
> -RUN: llvm-dsymutil -oso-prepend-path=%p/.. %T/basic-linking-bundle/basic.macho.x86_64 -o %T/basic-linking-bundle/dsymdest/basic.macho.x86_64.dSYM
> -RUN: llvm-dwarfdump %T/basic-linking-bundle/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
> -RUN: FileCheck %s --input-file %T/basic-linking-bundle/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist
> +RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
> +RUN: llvm-dwarfdump %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
> +RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist
>  
>  CHECK: <?xml version="1.0" encoding="UTF-8"?>
>  CHECK-NEXT: <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
> Index: test/Transforms/GCOVProfiling/version.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/version.ll
> +++ test/Transforms/GCOVProfiling/version.ll
> @@ -1,20 +1,21 @@
> -; RUN: echo '!9 = !{!"%/T/version.ll", !0}' > %t1
> -; RUN: cat %s %t1 > %t2
> -; RUN: opt -insert-gcov-profiling -disable-output < %t2
> -; RUN: head -c8 %T/version.gcno | grep '^oncg.204'
> -; RUN: rm %T/version.gcno
> -; RUN: not opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t2
> -; RUN: opt -insert-gcov-profiling -default-gcov-version=407* -disable-output < %t2
> -; RUN: head -c8 %T/version.gcno | grep '^oncg.704'
> -; RUN: rm %T/version.gcno
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: echo '!9 = !{!"%/t/version.ll", !0}' > %t/1
> +; RUN: cat %s %t/1 > %t/2
> +; RUN: opt -insert-gcov-profiling -disable-output < %t/2
> +; RUN: head -c8 %t/version.gcno | grep '^oncg.204'
> +; RUN: rm %t/version.gcno
> +; RUN: not opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2
> +; RUN: opt -insert-gcov-profiling -default-gcov-version=407* -disable-output < %t/2
> +; RUN: head -c8 %t/version.gcno | grep '^oncg.704'
> +; RUN: rm %t/version.gcno
>  
> -; RUN: opt -passes=insert-gcov-profiling -disable-output < %t2
> -; RUN: head -c8 %T/version.gcno | grep '^oncg.204'
> -; RUN: rm %T/version.gcno
> -; RUN: not opt -passes=insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t2
> -; RUN: opt -passes=insert-gcov-profiling -default-gcov-version=407* -disable-output < %t2
> -; RUN: head -c8 %T/version.gcno | grep '^oncg.704'
> -; RUN: rm %T/version.gcno
> +; RUN: opt -passes=insert-gcov-profiling -disable-output < %t/2
> +; RUN: head -c8 %t/version.gcno | grep '^oncg.204'
> +; RUN: rm %t/version.gcno
> +; RUN: not opt -passes=insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2
> +; RUN: opt -passes=insert-gcov-profiling -default-gcov-version=407* -disable-output < %t/2
> +; RUN: head -c8 %t/version.gcno | grep '^oncg.704'
> +; RUN: rm %t/version.gcno
>  
>  define void @test() !dbg !5 {
>    ret void, !dbg !8
> Index: test/Transforms/GCOVProfiling/three-element-mdnode.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/three-element-mdnode.ll
> +++ test/Transforms/GCOVProfiling/three-element-mdnode.ll
> @@ -1,9 +1,10 @@
> -; RUN: echo '!10 = !{!"%/T/aaa.gcno", !"%/T/bbb.gcda", !0}' > %t1
> -; RUN: cat %s %t1 > %t2
> -; RUN: opt -insert-gcov-profiling -S -o %t3 < %t2
> -; RUN: grep _Z3foov %T/aaa.gcno
> -; RUN: grep bbb.gcda %t3
> -; RUN: rm %T/aaa.gcno
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: echo '!10 = !{!"%/t/aaa.gcno", !"%/t/bbb.gcda", !0}' > %t/1
> +; RUN: cat %s %t/1 > %t/2
> +; RUN: opt -insert-gcov-profiling -S -o %t/3 < %t/2
> +; RUN: grep _Z3foov %t/aaa.gcno
> +; RUN: grep bbb.gcda %t/3
> +; RUN: rm %t/aaa.gcno
>  
>  define void @_Z3foov() !dbg !5 {
>  entry:
> Index: test/Transforms/GCOVProfiling/return-block.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/return-block.ll
> +++ test/Transforms/GCOVProfiling/return-block.ll
> @@ -1,23 +1,24 @@
>  ; Inject metadata to set the .gcno file location
> -; RUN: echo '!19 = !{!"%/T/return-block.ll", !0}' > %t1
> -; RUN: cat %s %t1 > %t2
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: echo '!19 = !{!"%/t/return-block.ll", !0}' > %t/1
> +; RUN: cat %s %t/1 > %t/2
>  
>  ; By default, the return block is last.
> -; RUN: opt -insert-gcov-profiling -disable-output %t2
> -; RUN: llvm-cov gcov -n -dump %T/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-LAST %s
> +; RUN: opt -insert-gcov-profiling -disable-output %t/2
> +; RUN: llvm-cov gcov -n -dump %t/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-LAST %s
>  
>  ; But we can optionally emit it second, to match newer gcc versions.
> -; RUN: opt -insert-gcov-profiling -gcov-exit-block-before-body -disable-output %t2
> -; RUN: llvm-cov gcov -n -dump %T/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-SECOND %s
> -; RUN: rm  %T/return-block.gcno
> +; RUN: opt -insert-gcov-profiling -gcov-exit-block-before-body -disable-output %t/2
> +; RUN: llvm-cov gcov -n -dump %t/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-SECOND %s
> +; RUN: rm  %t/return-block.gcno
>  
>  ; By default, the return block is last.
> -; RUN: opt -passes=insert-gcov-profiling -disable-output %t2
> -; RUN: llvm-cov gcov -n -dump %T/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-LAST %s
> +; RUN: opt -passes=insert-gcov-profiling -disable-output %t/2
> +; RUN: llvm-cov gcov -n -dump %t/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-LAST %s
>  
>  ; But we can optionally emit it second, to match newer gcc versions.
> -; RUN: opt -passes=insert-gcov-profiling -gcov-exit-block-before-body -disable-output %t2
> -; RUN: llvm-cov gcov -n -dump %T/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-SECOND %s
> +; RUN: opt -passes=insert-gcov-profiling -gcov-exit-block-before-body -disable-output %t/2
> +; RUN: llvm-cov gcov -n -dump %t/return-block.gcno 2>&1 | FileCheck -check-prefix=CHECK -check-prefix=RETURN-SECOND %s
>  
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-unknown-linux-gnu"
> Index: test/Transforms/GCOVProfiling/linkagename.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/linkagename.ll
> +++ test/Transforms/GCOVProfiling/linkagename.ll
> @@ -1,12 +1,13 @@
> -; RUN: echo '!9 = !{!"%/T/linkagename.ll", !0}' > %t1
> -; RUN: cat %s %t1 > %t2
> -; RUN: opt -insert-gcov-profiling -disable-output < %t2
> -; RUN: grep _Z3foov %T/linkagename.gcno
> -; RUN: rm %T/linkagename.gcno
> -
> -; RUN: opt -passes=insert-gcov-profiling -disable-output < %t2
> -; RUN: grep _Z3foov %T/linkagename.gcno
> -; RUN: rm %T/linkagename.gcno
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: echo '!9 = !{!"%/t/linkagename.ll", !0}' > %t/1
> +; RUN: cat %s %t/1 > %t/2
> +; RUN: opt -insert-gcov-profiling -disable-output < %t/2
> +; RUN: grep _Z3foov %t/linkagename.gcno
> +; RUN: rm %t/linkagename.gcno
> +
> +; RUN: opt -passes=insert-gcov-profiling -disable-output < %t/2
> +; RUN: grep _Z3foov %t/linkagename.gcno
> +; RUN: rm %t/linkagename.gcno
>  
>  define void @_Z3foov() !dbg !5 {
>  entry:
> Index: test/Transforms/GCOVProfiling/linezero.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/linezero.ll
> +++ test/Transforms/GCOVProfiling/linezero.ll
> @@ -1,8 +1,10 @@
> -; RUN: sed -e 's|PATTERN|%/T|g' %s | opt -insert-gcov-profiling -disable-output
> -; RUN: rm %T/linezero.gcno
> +; RUN: rm -rf %t && mkdir -p %t
>  
> -; RUN: sed -e 's|PATTERN|%/T|g' %s | opt -passes=insert-gcov-profiling -disable-output
> -; RUN: rm %T/linezero.gcno
> +; RUN: sed -e 's|PATTERN|%/t|g' %s | opt -insert-gcov-profiling -disable-output
> +; RUN: rm %t/linezero.gcno
> +
> +; RUN: sed -e 's|PATTERN|%/t|g' %s | opt -passes=insert-gcov-profiling -disable-output
> +; RUN: rm %t/linezero.gcno
>  
>  ; This is a crash test.
>  
> Index: test/Transforms/GCOVProfiling/global-ctor.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/global-ctor.ll
> +++ test/Transforms/GCOVProfiling/global-ctor.ll
> @@ -1,12 +1,13 @@
> -; RUN: echo '!16 = !{!"%/T/global-ctor.ll", !0}' > %t1
> -; RUN: cat %s %t1 > %t2
> -; RUN: opt -insert-gcov-profiling -disable-output < %t2
> -; RUN: not grep '_GLOBAL__sub_I_global-ctor' %T/global-ctor.gcno
> -; RUN: rm %T/global-ctor.gcno
> -
> -; RUN: opt -passes=insert-gcov-profiling -disable-output < %t2
> -; RUN: not grep '_GLOBAL__sub_I_global-ctor' %T/global-ctor.gcno
> -; RUN: rm %T/global-ctor.gcno
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: echo '!16 = !{!"%/t/global-ctor.ll", !0}' > %t/1
> +; RUN: cat %s %t/1 > %t/2
> +; RUN: opt -insert-gcov-profiling -disable-output < %t/2
> +; RUN: not grep '_GLOBAL__sub_I_global-ctor' %t/global-ctor.gcno
> +; RUN: rm %t/global-ctor.gcno
> +
> +; RUN: opt -passes=insert-gcov-profiling -disable-output < %t/2
> +; RUN: not grep '_GLOBAL__sub_I_global-ctor' %t/global-ctor.gcno
> +; RUN: rm %t/global-ctor.gcno
>  
>  @x = global i32 0, align 4
>  @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_global-ctor.ll, i8* null }]
> Index: test/Transforms/GCOVProfiling/function-numbering.ll
> ===================================================================
> --- test/Transforms/GCOVProfiling/function-numbering.ll
> +++ test/Transforms/GCOVProfiling/function-numbering.ll
> @@ -2,15 +2,16 @@
>  ; functions aren't emitted.
>  
>  ; Inject metadata to set the .gcno file location
> -; RUN: echo '!14 = !{!"%/T/function-numbering.ll", !0}' > %t1
> -; RUN: cat %s %t1 > %t2
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: echo '!14 = !{!"%/t/function-numbering.ll", !0}' > %t/1
> +; RUN: cat %s %t/1 > %t/2
> +
> +; RUN: opt -insert-gcov-profiling -S < %t/2 | FileCheck --check-prefix GCDA %s
> +; RUN: llvm-cov gcov -n -dump %t/function-numbering.gcno 2>&1 | FileCheck --check-prefix GCNO %s
> +; RUNN: rm %t/function-numbering.gcno
>  
> -; RUN: opt -insert-gcov-profiling -S < %t2 | FileCheck --check-prefix GCDA %s
> -; RUN: llvm-cov gcov -n -dump %T/function-numbering.gcno 2>&1 | FileCheck --check-prefix GCNO %s
> -; RUNN: rm %T/function-numbering.gcno
> -
> -; RUN: opt -passes=insert-gcov-profiling -S < %t2 | FileCheck --check-prefix GCDA %s
> -; RUN: llvm-cov gcov -n -dump %T/function-numbering.gcno 2>&1 | FileCheck --check-prefix GCNO %s
> +; RUN: opt -passes=insert-gcov-profiling -S < %t/2 | FileCheck --check-prefix GCDA %s
> +; RUN: llvm-cov gcov -n -dump %t/function-numbering.gcno 2>&1 | FileCheck --check-prefix GCNO %s
>  
>  target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-apple-macosx10.10.0"
> Index: test/ThinLTO/X86/prefix_replace.ll
> ===================================================================
> --- test/ThinLTO/X86/prefix_replace.ll
> +++ test/ThinLTO/X86/prefix_replace.ll
> @@ -1,15 +1,15 @@
>  ; Check that changing the output path via prefix-replace works
>  ; Use of '/' in paths created here make this unsuitable for Windows.
> -; RUN: mkdir -p %T/oldpath
> -; RUN: opt -module-summary %s -o %T/oldpath/prefix_replace.o
> +; RUN: mkdir -p %t/oldpath
> +; RUN: opt -module-summary %s -o %t/oldpath/prefix_replace.o
>  ; Ensure that there is no existing file at the new path, so we properly
>  ; test the creation of the new file there.
> -; RUN: rm -f %T/newpath/prefix_replace.o.thinlto.bc
> +; RUN: rm -f %t/newpath/prefix_replace.o.thinlto.bc
>  
> -; RUN: llvm-lto -thinlto-action=thinlink -o %t.index.bc %T/oldpath/prefix_replace.o
> -; RUN: llvm-lto -thinlto-action=distributedindexes -thinlto-prefix-replace="%T/oldpath/;%T/newpath/" -thinlto-index %t.index.bc %T/oldpath/prefix_replace.o
> +; RUN: llvm-lto -thinlto-action=thinlink -o %t.index.bc %t/oldpath/prefix_replace.o
> +; RUN: llvm-lto -thinlto-action=distributedindexes -thinlto-prefix-replace="%t/oldpath/;%t/newpath/" -thinlto-index %t.index.bc %t/oldpath/prefix_replace.o
>  
> -; RUN: ls %T/newpath/prefix_replace.o.thinlto.bc
> +; RUN: ls %t/newpath/prefix_replace.o.thinlto.bc
>  
>  define void @f() {
>  entry:
> Index: test/Other/lit-globbing.ll
> ===================================================================
> --- test/Other/lit-globbing.ll
> +++ test/Other/lit-globbing.ll
> @@ -1,16 +1,17 @@
> -RUN: echo TA > %T/TA.txt
> -RUN: echo TB > %T/TB.txt
> -RUN: echo TAB > %T/TAB.txt
> -
> -RUN: echo %T/TA* | FileCheck -check-prefix=STAR %s
> -RUN: echo %T/'TA'* | FileCheck -check-prefix=STAR %s
> -RUN: echo %T/T'A'* | FileCheck -check-prefix=STAR %s
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: echo TA > %t/TA.txt
> +RUN: echo TB > %t/TB.txt
> +RUN: echo TAB > %t/TAB.txt
> +
> +RUN: echo %t/TA* | FileCheck -check-prefix=STAR %s
> +RUN: echo %t/'TA'* | FileCheck -check-prefix=STAR %s
> +RUN: echo %t/T'A'* | FileCheck -check-prefix=STAR %s
>  
> -RUN: echo %T/T?.txt | FileCheck -check-prefix=QUESTION %s
> -RUN: echo %T/'T'?.txt | FileCheck -check-prefix=QUESTION %s
> +RUN: echo %t/T?.txt | FileCheck -check-prefix=QUESTION %s
> +RUN: echo %t/'T'?.txt | FileCheck -check-prefix=QUESTION %s
>  
> -RUN: echo %T/T??.txt | FileCheck -check-prefix=QUESTION2 %s
> -RUN: echo %T/'T'??.txt | FileCheck -check-prefix=QUESTION2 %s
> +RUN: echo %t/T??.txt | FileCheck -check-prefix=QUESTION2 %s
> +RUN: echo %t/'T'??.txt | FileCheck -check-prefix=QUESTION2 %s
>  
>  RUN: echo 'T*' 'T?.txt' 'T??.txt' | FileCheck -check-prefix=QUOTEDARGS %s
>  
> Index: test/Other/can-execute.txt
> ===================================================================
> --- test/Other/can-execute.txt
> +++ test/Other/can-execute.txt
> @@ -14,7 +14,8 @@
>  test, but for now this test serves as a reminder to audit all the callers if
>  we do that.
>  
> -RUN: cp -f %S/Inputs/TestProg/TestProg %T/TestProg
> -RUN: chmod 111 %T/TestProg
> -RUN: export PATH=%S/Inputs:%T:%S/Inputs/TestProg:$PATH
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: cp -f %S/Inputs/TestProg/TestProg %t/TestProg
> +RUN: chmod 111 %t/TestProg
> +RUN: export PATH=%S/Inputs:%t:%S/Inputs/TestProg:$PATH
>  RUN: not TestProg
> Index: test/Object/directory.ll
> ===================================================================
> --- test/Object/directory.ll
> +++ test/Object/directory.ll
> @@ -1,12 +1,12 @@
> -;RUN: rm -f %T/test.a
> -;RUN: not llvm-ar r %T/test.a . 2>&1 | FileCheck %s
> +;RUN: rm -rf %t && mkdir -p %t
> +;RUN: not llvm-ar r %t/test.a . 2>&1 | FileCheck %s
>  ;CHECK: .: {{I|i}}s a directory
>  
> -;RUN: rm -f %T/test.a
> -;RUN: touch %T/a-very-long-file-name
> -;RUN: llvm-ar r %T/test.a %s %T/a-very-long-file-name
> -;RUN: llvm-ar r %T/test.a %T/a-very-long-file-name
> -;RUN: llvm-ar t %T/test.a | FileCheck -check-prefix=MEMBERS %s
> +;RUN: rm -f %t/test.a
> +;RUN: touch %t/a-very-long-file-name
> +;RUN: llvm-ar r %t/test.a %s %t/a-very-long-file-name
> +;RUN: llvm-ar r %t/test.a %t/a-very-long-file-name
> +;RUN: llvm-ar t %t/test.a | FileCheck -check-prefix=MEMBERS %s
>  ;MEMBERS-NOT: /
>  ;MEMBERS: directory.ll
>  ;MEMBERS: a-very-long-file-name
> Index: test/Object/archive-update.test
> ===================================================================
> --- test/Object/archive-update.test
> +++ test/Object/archive-update.test
> @@ -1,6 +1,6 @@
>  Test the 'u' option of llvm-ar
>  
> -RUN: cd %T
> +RUN: cd `dirname %t`
>  RUN: rm -f %t.a
>  
>  Create a file named evenlen that is newer than the evenlen on the source dir.
> Index: test/Object/archive-thin-paths.test
> ===================================================================
> --- test/Object/archive-thin-paths.test
> +++ test/Object/archive-thin-paths.test
> @@ -1,6 +1,6 @@
>  REQUIRES: system-windows
>  
> -RUN: cd %T
> +RUN: cd `dirname %t`
>  RUN: mkdir -p archive-thin-paths.dir
>  RUN: echo foo > archive-thin-paths.dir/foo.o
>  
> Index: test/Object/archive-move.test
> ===================================================================
> --- test/Object/archive-move.test
> +++ test/Object/archive-move.test
> @@ -1,6 +1,6 @@
>  Test the 'm' operation in llvm-ar
>  
> -RUN: cd %T
> +RUN: cd `dirname %t`
>  
>  RUN: rm -f %t.a
>  RUN: cp %p/Inputs/GNU.a %t.a
> Index: test/Object/archive-extract.test
> ===================================================================
> --- test/Object/archive-extract.test
> +++ test/Object/archive-extract.test
> @@ -1,7 +1,7 @@
>  ; This test just makes sure that llvm-ar can extract bytecode members
>  ; from various style archives.
>  
> -; RUN: cd %T
> +; RUN: cd `dirname %t`
>  
>  ; RUN: rm -f very_long_bytecode_file_name.bc
>  ; RUN: llvm-ar p %p/Inputs/GNU.a very_long_bytecode_file_name.bc | \
> Index: test/Object/archive-delete.test
> ===================================================================
> --- test/Object/archive-delete.test
> +++ test/Object/archive-delete.test
> @@ -1,6 +1,6 @@
>  Test the 'd' operation in llvm-ar
>  
> -RUN: cd %T
> +RUN: cd `dirname %t`
>  
>  RUN: rm -f %t.a
>  RUN: cp %p/Inputs/GNU.a %t.a
> Index: test/LibDriver/libpath.test
> ===================================================================
> --- test/LibDriver/libpath.test
> +++ test/LibDriver/libpath.test
> @@ -1,14 +1,14 @@
> -RUN: mkdir -p %T/a %T/b
> -RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/a/foo.obj %S/Inputs/a.s
> -RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/b/foo.obj %S/Inputs/b.s
> +RUN: mkdir -p %t/a %t/b
> +RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/a/foo.obj %S/Inputs/a.s
> +RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/b/foo.obj %S/Inputs/b.s
>  
> -RUN: env "LIB=%T/a;%T/b" llvm-lib /out:%t1.lib foo.obj
> +RUN: env "LIB=%t/a;%t/b" llvm-lib /out:%t1.lib foo.obj
>  RUN: llvm-nm %t1.lib | FileCheck --check-prefix=A %s
>  
> -RUN: llvm-lib /out:%t2.lib /libpath:%T/a /libpath:%T/b foo.obj
> +RUN: llvm-lib /out:%t2.lib /libpath:%t/a /libpath:%t/b foo.obj
>  RUN: llvm-nm %t2.lib | FileCheck --check-prefix=A %s
>  
> -RUN: env LIB=%T/a llvm-lib /libpath:%T/b /out:%t3.lib foo.obj
> +RUN: env LIB=%t/a llvm-lib /libpath:%t/b /out:%t3.lib foo.obj
>  RUN: llvm-nm %t3.lib | FileCheck --check-prefix=B %s
>  
>  A: T a
> Index: test/LibDriver/infer-output-path.test
> ===================================================================
> --- test/LibDriver/infer-output-path.test
> +++ test/LibDriver/infer-output-path.test
> @@ -1,15 +1,16 @@
> -RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/a.obj %S/Inputs/a.s
> -RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/b.o %S/Inputs/b.s
> -RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/c %S/Inputs/b.s
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/a.obj %S/Inputs/a.s
> +RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/b.o %S/Inputs/b.s
> +RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/c %S/Inputs/b.s
>  
> -RUN: rm -f %T/a.lib
> -RUN: llvm-lib %T/a.obj
> -RUN: test -e %T/a.lib
> +RUN: rm -f %t/a.lib
> +RUN: llvm-lib %t/a.obj
> +RUN: test -e %t/a.lib
>  
> -RUN: rm -f %T/b.lib
> -RUN: llvm-lib /libpath:%T b.o
> -RUN: test -e %T/b.lib
> +RUN: rm -f %t/b.lib
> +RUN: llvm-lib /libpath:%t b.o
> +RUN: test -e %t/b.lib
>  
> -RUN: rm -f %T/c.lib
> -RUN: llvm-lib /libpath:%T c
> -RUN: test -e %T/c.lib
> +RUN: rm -f %t/c.lib
> +RUN: llvm-lib /libpath:%t c
> +RUN: test -e %t/c.lib
> Index: test/LTO/X86/list-symbols.ll
> ===================================================================
> --- test/LTO/X86/list-symbols.ll
> +++ test/LTO/X86/list-symbols.ll
> @@ -1,6 +1,7 @@
> -; RUN: llvm-as -o %T/1.bc %s
> -; RUN: llvm-as -o %T/2.bc %S/Inputs/list-symbols.ll
> -; RUN: llvm-lto -list-symbols-only %T/1.bc %T/2.bc | FileCheck %s
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: llvm-as -o %t/1.bc %s
> +; RUN: llvm-as -o %t/2.bc %S/Inputs/list-symbols.ll
> +; RUN: llvm-lto -list-symbols-only %t/1.bc %t/2.bc | FileCheck %s
>  ; REQUIRES: default_triple
>  
>  ; CHECK-LABEL: 1.bc:
> Index: test/LTO/X86/bcsection.ll
> ===================================================================
> --- test/LTO/X86/bcsection.ll
> +++ test/LTO/X86/bcsection.ll
> @@ -1,19 +1,20 @@
> -; RUN: llvm-as -o %T/bcsection.bc %s
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: llvm-as -o %t/bcsection.bc %s
>  
> -; RUN: llvm-mc -I=%T -filetype=obj -triple=x86_64-pc-win32 -o %T/bcsection.coff.bco %p/Inputs/bcsection.s
> -; RUN: llvm-nm %T/bcsection.coff.bco | FileCheck %s
> -; RUN: llvm-lto -exported-symbol=main -exported-symbol=_main -o %T/bcsection.coff.o %T/bcsection.coff.bco
> -; RUN: llvm-nm %T/bcsection.coff.o | FileCheck %s
> +; RUN: llvm-mc -I=%t -filetype=obj -triple=x86_64-pc-win32 -o %t/bcsection.coff.bco %p/Inputs/bcsection.s
> +; RUN: llvm-nm %t/bcsection.coff.bco | FileCheck %s
> +; RUN: llvm-lto -exported-symbol=main -exported-symbol=_main -o %t/bcsection.coff.o %t/bcsection.coff.bco
> +; RUN: llvm-nm %t/bcsection.coff.o | FileCheck %s
>  
> -; RUN: llvm-mc -I=%T -filetype=obj -triple=x86_64-unknown-linux-gnu -o %T/bcsection.elf.bco %p/Inputs/bcsection.s
> -; RUN: llvm-nm %T/bcsection.elf.bco | FileCheck %s
> -; RUN: llvm-lto -exported-symbol=main -exported-symbol=_main -o %T/bcsection.elf.o %T/bcsection.elf.bco
> -; RUN: llvm-nm %T/bcsection.elf.o | FileCheck %s
> +; RUN: llvm-mc -I=%t -filetype=obj -triple=x86_64-unknown-linux-gnu -o %t/bcsection.elf.bco %p/Inputs/bcsection.s
> +; RUN: llvm-nm %t/bcsection.elf.bco | FileCheck %s
> +; RUN: llvm-lto -exported-symbol=main -exported-symbol=_main -o %t/bcsection.elf.o %t/bcsection.elf.bco
> +; RUN: llvm-nm %t/bcsection.elf.o | FileCheck %s
>  
> -; RUN: llvm-mc -I=%T -filetype=obj -triple=x86_64-apple-darwin11 -o %T/bcsection.macho.bco %p/Inputs/bcsection.macho.s
> -; RUN: llvm-nm %T/bcsection.macho.bco | FileCheck %s
> -; RUN: llvm-lto -exported-symbol=main -exported-symbol=_main -o %T/bcsection.macho.o %T/bcsection.macho.bco
> -; RUN: llvm-nm %T/bcsection.macho.o | FileCheck %s
> +; RUN: llvm-mc -I=%t -filetype=obj -triple=x86_64-apple-darwin11 -o %t/bcsection.macho.bco %p/Inputs/bcsection.macho.s
> +; RUN: llvm-nm %t/bcsection.macho.bco | FileCheck %s
> +; RUN: llvm-lto -exported-symbol=main -exported-symbol=_main -o %t/bcsection.macho.o %t/bcsection.macho.bco
> +; RUN: llvm-nm %t/bcsection.macho.o | FileCheck %s
>  
>  ; REQUIRES: default_triple
>  
> Index: test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o %T/test_x86-64.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -dummy-extern ds1=0xfffffffffffffffe -dummy-extern ds2=0xffffffffffffffff -verify -check=%s %/T/test_x86-64.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o %t/test_x86-64.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -dummy-extern ds1=0xfffffffffffffffe -dummy-extern ds2=0xffffffffffffffff -verify -check=%s %t/test_x86-64.o
>  
>          .section	__TEXT,__text,regular,pure_instructions
>  	.globl	foo
> Index: test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_eh_frame.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=i386-apple-macosx10.4 -filetype=obj -o %T/MachO_i386_eh_frame.o %s
> -# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -map-section MachO_i386_eh_frame.o,__text=0x2000 -check=%s %/T/MachO_i386_eh_frame.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=i386-apple-macosx10.4 -filetype=obj -o %t/MachO_i386_eh_frame.o %s
> +# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -map-section MachO_i386_eh_frame.o,__text=0x2000 -check=%s %t/MachO_i386_eh_frame.o
>  
>  # rtdyld-check: *{4}(section_addr(MachO_i386_eh_frame.o, __eh_frame) + 0x20) = (main - (section_addr(MachO_i386_eh_frame.o, __eh_frame) + 0x20))[31:0]
>  # rtdyld-check: *{4}(section_addr(MachO_i386_eh_frame.o, __eh_frame) + 0x24) = 0x9
> Index: test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=i386-apple-macosx10.4 -filetype=obj -o %T/test_i386.o %s
> -# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -check=%s %/T/test_i386.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=i386-apple-macosx10.4 -filetype=obj -o %t/test_i386.o %s
> +# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -check=%s %t/test_i386.o
>  
>  // Put the section used in the test at a non zero address.
>  	.long 4
> Index: test/ExecutionEngine/RuntimeDyld/X86/MachO_empty_ehframe.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/MachO_empty_ehframe.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/MachO_empty_ehframe.s
> @@ -1,5 +1,5 @@
> -# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o %T/empty_eh_frame.o %s
> -# RUN: llvm-rtdyld -verify -triple=x86_64-apple-macosx10.9 %T/empty_eh_frame.o
> +# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o %t %s
> +# RUN: llvm-rtdyld -verify -triple=x86_64-apple-macosx10.9 %t
>  
>          .section        __TEXT,__eh_frame
>  	.macosx_version_min 10, 10
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF_x86_64_StubBuf.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF_x86_64_StubBuf.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF_x86_64_StubBuf.s
> @@ -1,5 +1,5 @@
> -# RUN: llvm-mc -triple=x86_64-apple-macosx10.10.0 -filetype=obj -o %T/test_ELF_x86_64_StubBuf.o %s
> -# RUN: llvm-rtdyld -print-alloc-requests -triple=x86_64-pc-linux -dummy-extern _g=196608 -verify %T/test_ELF_x86_64_StubBuf.o
> +# RUN: llvm-mc -triple=x86_64-apple-macosx10.10.0 -filetype=obj -o %t %s
> +# RUN: llvm-rtdyld -print-alloc-requests -triple=x86_64-pc-linux -dummy-extern _g=196608 -verify %t
>  
>  # Compiled from Inputs/ELF/ELF_x86_64_StubBuf.ll
>  
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_debug_frame.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_debug_frame.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_debug_frame.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/ELF_x86-64_debug_frame.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -check=%s %T/ELF_x86-64_debug_frame.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/ELF_x86-64_debug_frame.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -check=%s %t/ELF_x86-64_debug_frame.o
>  
>          .text
>          .file   "debug_frame_test.c"
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_PIC-small-relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_PIC-small-relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_PIC-small-relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=x86_64-unknown-freebsd -code-model=small -filetype=obj -o %T/testsmall_x86-64.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-unknown-freebsd -verify -check=%s %/T/testsmall_x86-64.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-unknown-freebsd -code-model=small -filetype=obj -o %t/testsmall_x86-64.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-unknown-freebsd -verify -check=%s %t/testsmall_x86-64.o
>  
>  	.globl	foo
>  	.align	4, 0x90
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PIC_relocations.s
> @@ -1,9 +1,10 @@
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/test_ELF1_x86-64.o %s
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/test_ELF2_x86-64.o %s
> -# RUN: llc -mtriple=x86_64-pc-linux -filetype=obj -o %T/test_ELF_ExternalGlobal_x86-64.o %S/Inputs/ExternalGlobal.ll
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %T/test_ELF1_x86-64.o  %T/test_ELF_ExternalGlobal_x86-64.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/test_ELF1_x86-64.o %s
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/test_ELF2_x86-64.o %s
> +# RUN: llc -mtriple=x86_64-pc-linux -filetype=obj -o %t/test_ELF_ExternalGlobal_x86-64.o %S/Inputs/ExternalGlobal.ll
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %t/test_ELF1_x86-64.o  %t/test_ELF_ExternalGlobal_x86-64.o
>  # Test that we can load this code twice at memory locations more than 2GB apart
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -map-section test_ELF1_x86-64.o,.got=0x10000 -map-section test_ELF2_x86-64.o,.text=0x100000000 -map-section test_ELF2_x86-64.o,.got=0x100010000 %T/test_ELF1_x86-64.o %T/test_ELF2_x86-64.o %T/test_ELF_ExternalGlobal_x86-64.o
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -map-section test_ELF1_x86-64.o,.got=0x10000 -map-section test_ELF2_x86-64.o,.text=0x100000000 -map-section test_ELF2_x86-64.o,.got=0x100010000 %t/test_ELF1_x86-64.o %t/test_ELF2_x86-64.o %t/test_ELF_ExternalGlobal_x86-64.o
>  
>  # Assembly obtained by compiling the following and adding checks:
>  # @G = external global i8*
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PC8_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PC8_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF_x64-64_PC8_relocations.s
> @@ -1,6 +1,7 @@
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/test_ELF_x86-64_PC8.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -map-section test_ELF_x86-64_PC8.o,.text.bar=0x10000 -map-section test_ELF_x86-64_PC8.o,.text.baz=0x10040 %T/test_ELF_x86-64_PC8.o
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -map-section test_ELF_x86-64_PC8.o,.text.baz=0x10000 -map-section test_ELF_x86-64_PC8.o,.text.bar=0x10040 %T/test_ELF_x86-64_PC8.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/test_ELF_x86-64_PC8.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -map-section test_ELF_x86-64_PC8.o,.text.bar=0x10000 -map-section test_ELF_x86-64_PC8.o,.text.baz=0x10040 %t/test_ELF_x86-64_PC8.o
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify -map-section test_ELF_x86-64_PC8.o,.text.baz=0x10000 -map-section test_ELF_x86-64_PC8.o,.text.bar=0x10040 %t/test_ELF_x86-64_PC8.o
>  
>  # Test that R_X86_64_PC8 relocation works.
>  
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF_STT_FILE.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF_STT_FILE.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF_STT_FILE.s
> @@ -1,7 +1,8 @@
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/test_ELF_STT_FILE_FILE_x86-64.o %p/Inputs/ELF_STT_FILE_FILE.s
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/test_ELF_STT_FILE_GLOBAL_x86-64.o %p/Inputs/ELF_STT_FILE_GLOBAL.s
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/test_ELF_STT_FILE_x86-64.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %T/test_ELF_STT_FILE_GLOBAL_x86-64.o %T/test_ELF_STT_FILE_FILE_x86-64.o %T/test_ELF_STT_FILE_x86-64.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/test_ELF_STT_FILE_FILE_x86-64.o %p/Inputs/ELF_STT_FILE_FILE.s
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/test_ELF_STT_FILE_GLOBAL_x86-64.o %p/Inputs/ELF_STT_FILE_GLOBAL.s
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/test_ELF_STT_FILE_x86-64.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %t/test_ELF_STT_FILE_GLOBAL_x86-64.o %t/test_ELF_STT_FILE_FILE_x86-64.o %t/test_ELF_STT_FILE_x86-64.o
>  
>  # Test that RTDyldELF ignores STT_FILE symbols, and in particular does
>  # crash if we are relocating against a symbol that happens to have the
> Index: test/ExecutionEngine/RuntimeDyld/X86/ELF-relaxed.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/ELF-relaxed.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/ELF-relaxed.s
> @@ -1,6 +1,7 @@
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/file.o %p/Inputs/ELF_STT_FILE_GLOBAL.s
> -# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/relaxed.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %T/file.o %T/relaxed.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/file.o %p/Inputs/ELF_STT_FILE_GLOBAL.s
> +# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %t/relaxed.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %t/file.o %t/relaxed.o
>  
>  # Test that RTDyldELF does not crash with 'unimplemented relocation'
>  
> Index: test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s
> +++ test/ExecutionEngine/RuntimeDyld/X86/COFF_x86_64.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=x86_64-pc-win32 -filetype=obj -o %T/COFF_x86_64.o %s
> -# RUN: llvm-rtdyld -triple=x86_64-pc-win32 -verify -check=%s %/T/COFF_x86_64.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=x86_64-pc-win32 -filetype=obj -o %t/COFF_x86_64.o %s
> +# RUN: llvm-rtdyld -triple=x86_64-pc-win32 -verify -check=%s %t/COFF_x86_64.o
>          	.text
>  	.def	 F;
>  	.scl	2;
> Index: test/ExecutionEngine/RuntimeDyld/SystemZ/cfi-relo-pc64.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/SystemZ/cfi-relo-pc64.s
> +++ test/ExecutionEngine/RuntimeDyld/SystemZ/cfi-relo-pc64.s
> @@ -2,9 +2,10 @@
>  // RUN: llvm-mc -triple s390x-linux-gnu -filetype=obj %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
>  
>  // Test that RuntimeDyld can fix up such relocations.
> -// RUN: llvm-mc -triple s390x-linux-gnu  -filetype=obj %s -o %T/test-s390x-cfi-relo-pc64.o
> -// RUN: llc -mtriple=s390x-linux-gnu -filetype=obj %S/Inputs/rtdyld-globals.ll -o %T/test-s390x-rtdyld-globals.o
> -// RUN: llvm-rtdyld -triple=s390x-linux-gnu -verify %T/test-s390x-cfi-relo-pc64.o %T/test-s390x-rtdyld-globals.o
> +// RUN: rm -rf %t && mkdir -p %t
> +// RUN: llvm-mc -triple s390x-linux-gnu  -filetype=obj %s -o %t/test-s390x-cfi-relo-pc64.o
> +// RUN: llc -mtriple=s390x-linux-gnu -filetype=obj %S/Inputs/rtdyld-globals.ll -o %t/test-s390x-rtdyld-globals.o
> +// RUN: llvm-rtdyld -triple=s390x-linux-gnu -verify %t/test-s390x-cfi-relo-pc64.o %t/test-s390x-rtdyld-globals.o
>  
>  f1:
>      .cfi_startproc
> Index: test/ExecutionEngine/RuntimeDyld/PowerPC/ppc32_elf_rel_addr16.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/PowerPC/ppc32_elf_rel_addr16.s
> +++ test/ExecutionEngine/RuntimeDyld/PowerPC/ppc32_elf_rel_addr16.s
> @@ -1,5 +1,5 @@
> -# RUN: llvm-mc -triple=powerpc-unknown-linux-gnu -filetype=obj -o %T/ppc32_elf_rel_addr16.o %s
> -# RUN: llvm-rtdyld -triple=powerpc-unknown-linux-gnu -verify -check=%s %T/ppc32_elf_rel_addr16.o
> +# RUN: llvm-mc -triple=powerpc-unknown-linux-gnu -filetype=obj -o %t %s
> +# RUN: llvm-rtdyld -triple=powerpc-unknown-linux-gnu -verify -check=%s %t
>  	.text
>  	.file	"ppc32_elf_rel_addr16.ll"
>  	.globl	lookup
> Index: test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32_PIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32_PIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32_PIC_relocations.s
> @@ -1,10 +1,11 @@
> -# RUN: llvm-mc -triple=mipsel-unknown-linux -code-model=small -filetype=obj -o %T/test_ELF_O32.o %s
> -# RUN: llc -mtriple=mipsel-unknown-linux -filetype=obj -o %T/test_ELF_ExternalFunction_O32.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mipsel-unknown-linux -verify -map-section test_ELF_O32.o,"<common symbols>"=0x7FF8 -map-section test_ELF_O32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32.o,.text=0x10000 -check=%s %T/test_ELF_O32.o %T/test_ELF_ExternalFunction_O32.o
> -
> -# RUN: llvm-mc -triple=mips-unknown-linux -code-model=small -filetype=obj -o %T/test_ELF_O32.o %s
> -# RUN: llc -mtriple=mips-unknown-linux -filetype=obj -o %/T/test_ELF_ExternalFunction_O32.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips-unknown-linux -verify -map-section test_ELF_O32.o,"<common symbols>"=0x7FF8 -map-section test_ELF_O32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32.o,.text=0x10000 -check=%s %T/test_ELF_O32.o %T/test_ELF_ExternalFunction_O32.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=mipsel-unknown-linux -code-model=small -filetype=obj -o %t/test_ELF_O32.o %s
> +# RUN: llc -mtriple=mipsel-unknown-linux -filetype=obj -o %t/test_ELF_ExternalFunction_O32.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mipsel-unknown-linux -verify -map-section test_ELF_O32.o,"<common symbols>"=0x7FF8 -map-section test_ELF_O32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32.o,.text=0x10000 -check=%s %t/test_ELF_O32.o %t/test_ELF_ExternalFunction_O32.o
> +
> +# RUN: llvm-mc -triple=mips-unknown-linux -code-model=small -filetype=obj -o %t/test_ELF_O32.o %s
> +# RUN: llc -mtriple=mips-unknown-linux -filetype=obj -o %t/test_ELF_ExternalFunction_O32.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips-unknown-linux -verify -map-section test_ELF_O32.o,"<common symbols>"=0x7FF8 -map-section test_ELF_O32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32.o,.text=0x10000 -check=%s %t/test_ELF_O32.o %t/test_ELF_ExternalFunction_O32.o
>  
>          .data
>  # rtdyld-check: *{4}R_MIPS_32 = foo[31:0]
> Index: test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32R6_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32R6_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32R6_relocations.s
> @@ -1,10 +1,11 @@
> -# RUN: llvm-mc -triple=mipsel-unknown-linux -mcpu=mips32r6 -code-model=small -filetype=obj -o %T/test_ELF_O32R6.o %s
> -# RUN: llc -mtriple=mipsel-unknown-linux -mcpu=mips32r6 -filetype=obj -o %T/test_ELF_ExternalFunction_O32R6.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mipsel-unknown-linux -mcpu=mips32r6 -verify -map-section test_ELF_O32R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32R6.o,.text=0x10000 -check=%s %/T/test_ELF_O32R6.o %T/test_ELF_ExternalFunction_O32R6.o
> -
> -# RUN: llvm-mc -triple=mips-unknown-linux -mcpu=mips32r6 -code-model=small -filetype=obj -o %T/test_ELF_O32R6.o %s
> -# RUN: llc -mtriple=mips-unknown-linux -mcpu=mips32r6 -filetype=obj -o %T/test_ELF_ExternalFunction_O32R6.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips-unknown-linux -mcpu=mips32r6 -verify -map-section test_ELF_O32R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32R6.o,.text=0x10000 -check=%s %/T/test_ELF_O32R6.o %T/test_ELF_ExternalFunction_O32R6.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=mipsel-unknown-linux -mcpu=mips32r6 -code-model=small -filetype=obj -o %t/test_ELF_O32R6.o %s
> +# RUN: llc -mtriple=mipsel-unknown-linux -mcpu=mips32r6 -filetype=obj -o %t/test_ELF_ExternalFunction_O32R6.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mipsel-unknown-linux -mcpu=mips32r6 -verify -map-section test_ELF_O32R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32R6.o,.text=0x10000 -check=%s %t/test_ELF_O32R6.o %t/test_ELF_ExternalFunction_O32R6.o
> +
> +# RUN: llvm-mc -triple=mips-unknown-linux -mcpu=mips32r6 -code-model=small -filetype=obj -o %t/test_ELF_O32R6.o %s
> +# RUN: llc -mtriple=mips-unknown-linux -mcpu=mips32r6 -filetype=obj -o %t/test_ELF_ExternalFunction_O32R6.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips-unknown-linux -mcpu=mips32r6 -verify -map-section test_ELF_O32R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_O32R6.o,.text=0x10000 -check=%s %t/test_ELF_O32R6.o %t/test_ELF_ExternalFunction_O32R6.o
>  
>  	.text
>  	.abicalls
> Index: test/ExecutionEngine/RuntimeDyld/Mips/ELF_N64R6_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/Mips/ELF_N64R6_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/Mips/ELF_N64R6_relocations.s
> @@ -1,10 +1,11 @@
> -# RUN: llvm-mc -triple=mips64el-unknown-linux -mcpu=mips64r6 -code-model=small -filetype=obj -o %T/test_ELF_N64R6.o %s
> -# RUN: llc -mtriple=mips64el-unknown-linux -mcpu=mips64r6 -filetype=obj -o %T/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -mcpu=mips64r6 -verify -map-section test_ELF_N64R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N64R6.o,.text=0x10000 -check=%s %/T/test_ELF_N64R6.o %T/test_ELF_ExternalFunction_N64R6.o
> -
> -# RUN: llvm-mc -triple=mips64-unknown-linux -mcpu=mips64r6 -code-model=small -filetype=obj -o %T/test_ELF_N64R6.o %s
> -# RUN: llc -mtriple=mips64-unknown-linux -mcpu=mips64r6 -filetype=obj -o %T/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips64-unknown-linux -mcpu=mips64r6 -verify -map-section test_ELF_N64R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N64R6.o,.text=0x10000 -check=%s %/T/test_ELF_N64R6.o %T/test_ELF_ExternalFunction_N64R6.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=mips64el-unknown-linux -mcpu=mips64r6 -code-model=small -filetype=obj -o %t/test_ELF_N64R6.o %s
> +# RUN: llc -mtriple=mips64el-unknown-linux -mcpu=mips64r6 -filetype=obj -o %t/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -mcpu=mips64r6 -verify -map-section test_ELF_N64R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N64R6.o,.text=0x10000 -check=%s %t/test_ELF_N64R6.o %t/test_ELF_ExternalFunction_N64R6.o
> +
> +# RUN: llvm-mc -triple=mips64-unknown-linux -mcpu=mips64r6 -code-model=small -filetype=obj -o %t/test_ELF_N64R6.o %s
> +# RUN: llc -mtriple=mips64-unknown-linux -mcpu=mips64r6 -filetype=obj -o %t/test_ELF_ExternalFunction_N64R6.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips64-unknown-linux -mcpu=mips64r6 -verify -map-section test_ELF_N64R6.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N64R6.o,.text=0x10000 -check=%s %t/test_ELF_N64R6.o %t/test_ELF_ExternalFunction_N64R6.o
>  
>  	.text
>  	.abicalls
> Index: test/ExecutionEngine/RuntimeDyld/Mips/ELF_N32_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/Mips/ELF_N32_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/Mips/ELF_N32_relocations.s
> @@ -1,10 +1,11 @@
> -# RUN: llvm-mc -triple=mips64el-unknown-linux -target-abi n32 -code-model=small -filetype=obj -o %T/test_ELF_N32.o %s
> -# RUN: llc -mtriple=mips64el-unknown-linux -target-abi n32 -filetype=obj -o %T/test_ELF_ExternalFunction_N32.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -verify -map-section test_ELF_N32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N32.o,.text=0x10000 -check=%s %/T/test_ELF_N32.o %T/test_ELF_ExternalFunction_N32.o
> -
> -# RUN: llvm-mc -triple=mips64-unknown-linux -target-abi n32 -code-model=small -filetype=obj -o %T/test_ELF_N32.o %s
> -# RUN: llc -mtriple=mips64-unknown-linux -target-abi n32 -filetype=obj -o %T/test_ELF_ExternalFunction_N32.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips64-unknown-linux -verify -map-section test_ELF_N32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N32.o,.text=0x10000 -check=%s %/T/test_ELF_N32.o %T/test_ELF_ExternalFunction_N32.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=mips64el-unknown-linux -target-abi n32 -code-model=small -filetype=obj -o %t/test_ELF_N32.o %s
> +# RUN: llc -mtriple=mips64el-unknown-linux -target-abi n32 -filetype=obj -o %t/test_ELF_ExternalFunction_N32.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -verify -map-section test_ELF_N32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N32.o,.text=0x10000 -check=%s %t/test_ELF_N32.o %t/test_ELF_ExternalFunction_N32.o
> +
> +# RUN: llvm-mc -triple=mips64-unknown-linux -target-abi n32 -code-model=small -filetype=obj -o %t/test_ELF_N32.o %s
> +# RUN: llc -mtriple=mips64-unknown-linux -target-abi n32 -filetype=obj -o %t/test_ELF_ExternalFunction_N32.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips64-unknown-linux -verify -map-section test_ELF_N32.o,.text=0x1000 -map-section test_ELF_ExternalFunction_N32.o,.text=0x10000 -check=%s %t/test_ELF_N32.o %t/test_ELF_ExternalFunction_N32.o
>  
>  	.data
>  # Test R_MIPS_PC32 relocation.
> Index: test/ExecutionEngine/RuntimeDyld/Mips/ELF_Mips64r2N64_PIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/Mips/ELF_Mips64r2N64_PIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/Mips/ELF_Mips64r2N64_PIC_relocations.s
> @@ -1,10 +1,11 @@
> -# RUN: llvm-mc -triple=mips64el-unknown-linux -code-model=small -filetype=obj -o %T/test_ELF_Mips64N64.o %s
> -# RUN: llc -mtriple=mips64el-unknown-linux -filetype=obj -o %T/test_ELF_ExternalFunction_Mips64N64.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -verify -map-section test_ELF_Mips64N64.o,.text=0x1000 -map-section test_ELF_ExternalFunction_Mips64N64.o,.text=0x10000 -check=%s %/T/test_ELF_Mips64N64.o %T/test_ELF_ExternalFunction_Mips64N64.o
> -
> -# RUN: llvm-mc -triple=mips64-unknown-linux -code-model=small -filetype=obj -o %T/test_ELF_Mips64N64.o %s
> -# RUN: llc -mtriple=mips64-unknown-linux -filetype=obj -o %T/test_ELF_ExternalFunction_Mips64N64.o %S/Inputs/ExternalFunction.ll
> -# RUN: llvm-rtdyld -triple=mips64-unknown-linux -verify -map-section test_ELF_Mips64N64.o,.text=0x1000 -map-section test_ELF_ExternalFunction_Mips64N64.o,.text=0x10000 -check=%s %/T/test_ELF_Mips64N64.o %T/test_ELF_ExternalFunction_Mips64N64.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=mips64el-unknown-linux -code-model=small -filetype=obj -o %t/test_ELF_Mips64N64.o %s
> +# RUN: llc -mtriple=mips64el-unknown-linux -filetype=obj -o %t/test_ELF_ExternalFunction_Mips64N64.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips64el-unknown-linux -verify -map-section test_ELF_Mips64N64.o,.text=0x1000 -map-section test_ELF_ExternalFunction_Mips64N64.o,.text=0x10000 -check=%s %t/test_ELF_Mips64N64.o %t/test_ELF_ExternalFunction_Mips64N64.o
> +
> +# RUN: llvm-mc -triple=mips64-unknown-linux -code-model=small -filetype=obj -o %t/test_ELF_Mips64N64.o %s
> +# RUN: llc -mtriple=mips64-unknown-linux -filetype=obj -o %t/test_ELF_ExternalFunction_Mips64N64.o %S/Inputs/ExternalFunction.ll
> +# RUN: llvm-rtdyld -triple=mips64-unknown-linux -verify -map-section test_ELF_Mips64N64.o,.text=0x1000 -map-section test_ELF_ExternalFunction_Mips64N64.o,.text=0x10000 -check=%s %t/test_ELF_Mips64N64.o %t/test_ELF_ExternalFunction_Mips64N64.o
>  
>  	.data
>  # Test R_MIPS_PC32 relocation.
> Index: test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=armv7s-apple-ios7.0.0 -filetype=obj -o %T/foo.o %s
> -# RUN: llvm-rtdyld -triple=armv7s-apple-ios7.0.0 -verify -check=%s %/T/foo.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=armv7s-apple-ios7.0.0 -filetype=obj -o %t/foo.o %s
> +# RUN: llvm-rtdyld -triple=armv7s-apple-ios7.0.0 -verify -check=%s %t/foo.o
>  
>          .syntax unified
>          .section        __TEXT,__text,regular,pure_instructions
> Index: test/ExecutionEngine/RuntimeDyld/ARM/ELF_ARM_EXIDX_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/ARM/ELF_ARM_EXIDX_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/ARM/ELF_ARM_EXIDX_relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=arm-linux-gnueabihf -filetype=obj -o %T/reloc.o %s
> -# RUN: llvm-rtdyld -triple=arm-linux-gnueabihf -verify -map-section reloc.o,.ARM.exidx=0x6000 -map-section reloc.o,.text=0x4000  -dummy-extern __aeabi_unwind_cpp_pr0=0x1234 -check=%s %T/reloc.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=arm-linux-gnueabihf -filetype=obj -o %t/reloc.o %s
> +# RUN: llvm-rtdyld -triple=arm-linux-gnueabihf -verify -map-section reloc.o,.ARM.exidx=0x6000 -map-section reloc.o,.text=0x4000  -dummy-extern __aeabi_unwind_cpp_pr0=0x1234 -check=%s %t/reloc.o
>  
>          .text
>          .syntax unified
> Index: test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/AArch64/MachO_ARM64_relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=arm64-apple-ios7.0.0 -code-model=small -filetype=obj -o %T/foo.o %s
> -# RUN: llvm-rtdyld -triple=arm64-apple-ios7.0.0 -map-section foo.o,__text=0x10bc0 -verify -check=%s %/T/foo.o
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=arm64-apple-ios7.0.0 -code-model=small -filetype=obj -o %t/foo.o %s
> +# RUN: llvm-rtdyld -triple=arm64-apple-ios7.0.0 -map-section foo.o,__text=0x10bc0 -verify -check=%s %t/foo.o
>  
>      .section  __TEXT,__text,regular,pure_instructions
>      .ios_version_min 7, 0
> Index: test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_relocations.s
> @@ -1,5 +1,5 @@
> -# RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -o %T/reloc.o %s
> -# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu -verify -dummy-extern f=0x0123456789abcdef -check=%s %T/reloc.o
> +# RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -o %t %s
> +# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu -verify -dummy-extern f=0x0123456789abcdef -check=%s %t
>          
>          .globl Q
>          .section .dummy, "ax"
> Index: test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_local_branch.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_local_branch.s
> +++ test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_local_branch.s
> @@ -1,5 +1,5 @@
> -# RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -o %T/branch.o %s
> -# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu -verify -check=%s %T/branch.o
> +# RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -o %t %s
> +# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu -verify -check=%s %t
>  
>  .globl _main
>  .weak _label1
> Index: test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_PIC_relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_PIC_relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_PIC_relocations.s
> @@ -1,5 +1,6 @@
> -# RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -o %T/pic-reloc.o %s
> -# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu -verify  -check=%s %T/pic-reloc.o \
> +# RUN: rm -rf %t && mkdir -p %t
> +# RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj -o %t/pic-reloc.o %s
> +# RUN: llvm-rtdyld -triple=arm64-none-linux-gnu -verify  -check=%s %t/pic-reloc.o \
>  # RUN:    -map-section pic-reloc.o,.got=0x20000 -dummy-extern f=0x1234 -dummy-extern g=0x5678
>  
>  _s:
> Index: test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_BE-relocations.s
> ===================================================================
> --- test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_BE-relocations.s
> +++ test/ExecutionEngine/RuntimeDyld/AArch64/ELF_ARM64_BE-relocations.s
> @@ -1,5 +1,5 @@
> -# RUN: llvm-mc -triple=aarch64_be-none-linux-gnu -filetype=obj -o %T/be-reloc.o %s
> -# RUN: llvm-rtdyld -triple=aarch64_be-none-linux-gnu -verify -dummy-extern f=0x0123456789abcdef -check=%s %T/be-reloc.o
> +# RUN: llvm-mc -triple=aarch64_be-none-linux-gnu -filetype=obj -o %t %s
> +# RUN: llvm-rtdyld -triple=aarch64_be-none-linux-gnu -verify -dummy-extern f=0x0123456789abcdef -check=%s %t
>  
>          .globl Q
>          .section .dummy, "ax"
> Index: test/DebugInfo/llvm-symbolizer.test
> ===================================================================
> --- test/DebugInfo/llvm-symbolizer.test
> +++ test/DebugInfo/llvm-symbolizer.test
> @@ -1,54 +1,55 @@
> -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400559" > %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64.debuglink 0x400559" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400436" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400528" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400586" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004e8" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004f4" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x8dc" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0xa05" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x987" >> %t.input
> -RUN: echo "%p/Inputs/dwarfdump-inl-test.high_pc.elf-x86-64 0x568" >> %t.input
> -RUN: cp "%p/Inputs/dwarfdump-test3.elf-x86-64-space" "%T/dwarfdump-test3.elf-x86-64 space"
> -RUN: echo "\"%T/dwarfdump-test3.elf-x86-64 space\" 0x640" >> %t.input
> -RUN: echo "\"%T/dwarfdump-test3.elf-x86-64 space\" 0x633" >> %t.input
> -RUN: echo "\"%T/dwarfdump-test3.elf-x86-64 space\" 0x62d" >> %t.input
> -RUN: echo "%p/Inputs/macho-universal 0x1f84" >> %t.input
> -RUN: echo "%p/Inputs/macho-universal:i386 0x1f67" >> %t.input
> -RUN: echo "%p/Inputs/macho-universal:x86_64 0x100000f05" >> %t.input
> -RUN: echo "%p/Inputs/llvm-symbolizer-dwo-test 0x400514" >> %t.input
> -RUN: echo "%p/Inputs/fission-ranges.elf-x86_64 0x720" >> %t.input
> -RUN: echo "%p/Inputs/arange-overlap.elf-x86_64 0x714" >> %t.input
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400559" > %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64.debuglink 0x400559" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400436" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400528" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400586" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004e8" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004f4" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x8dc" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0xa05" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x987" >> %t/input
> +RUN: echo "%p/Inputs/dwarfdump-inl-test.high_pc.elf-x86-64 0x568" >> %t/input
> +RUN: cp "%p/Inputs/dwarfdump-test3.elf-x86-64-space" "%t/dwarfdump-test3.elf-x86-64 space"
> +RUN: echo "\"%t/dwarfdump-test3.elf-x86-64 space\" 0x640" >> %t/input
> +RUN: echo "\"%t/dwarfdump-test3.elf-x86-64 space\" 0x633" >> %t/input
> +RUN: echo "\"%t/dwarfdump-test3.elf-x86-64 space\" 0x62d" >> %t/input
> +RUN: echo "%p/Inputs/macho-universal 0x1f84" >> %t/input
> +RUN: echo "%p/Inputs/macho-universal:i386 0x1f67" >> %t/input
> +RUN: echo "%p/Inputs/macho-universal:x86_64 0x100000f05" >> %t/input
> +RUN: echo "%p/Inputs/llvm-symbolizer-dwo-test 0x400514" >> %t/input
> +RUN: echo "%p/Inputs/fission-ranges.elf-x86_64 0x720" >> %t/input
> +RUN: echo "%p/Inputs/arange-overlap.elf-x86_64 0x714" >> %t/input
>  RUN: cp %p/Inputs/split-dwarf-test.dwo %T
> -RUN: echo "%p/Inputs/split-dwarf-test 0x4005d4" >> %t.input
> -RUN: echo "%p/Inputs/split-dwarf-test 0x4005c4" >> %t.input
> -RUN: echo "%p/Inputs/cross-cu-inlining.x86_64-macho.o 0x17" >> %t.input
> +RUN: echo "%p/Inputs/split-dwarf-test 0x4005d4" >> %t/input
> +RUN: echo "%p/Inputs/split-dwarf-test 0x4005c4" >> %t/input
> +RUN: echo "%p/Inputs/cross-cu-inlining.x86_64-macho.o 0x17" >> %t/input
>  RUN: cp %p/Inputs/split-dwarf-multiple-cu.dwo %T
> -RUN: echo "%p/Inputs/split-dwarf-multiple-cu.o 0x4" >> %t.input
> +RUN: echo "%p/Inputs/split-dwarf-multiple-cu.o 0x4" >> %t/input
>  RUN: cp %p/Inputs/split-dwarf-addr-object-relocation.dwo %T
> -RUN: echo "%p/Inputs/split-dwarf-addr-object-relocation.o 0x14" >> %t.input
> +RUN: echo "%p/Inputs/split-dwarf-addr-object-relocation.o 0x14" >> %t/input
>  RUN: cp %p/Inputs/split-dwarf-dwp.o %T
>  RUN: cp %p/Inputs/split-dwarf-dwp.o.dwp %T
> -RUN: echo "%T/split-dwarf-dwp.o 0x4" >> %t.input
> +RUN: echo "%T/split-dwarf-dwp.o 0x4" >> %t/input
>  
>  RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
> -RUN:    --default-arch=i386 < %t.input | FileCheck --check-prefix=CHECK --check-prefix=SPLIT --check-prefix=DWO %s
> +RUN:    --default-arch=i386 < %t/input | FileCheck --check-prefix=CHECK --check-prefix=SPLIT --check-prefix=DWO %s
>  
>  Ensure we get the same results in the absence of gmlt-like data in the executable but the presence of a .dwo file
>  
> -RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4005d4" >> %t.input
> -RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4005c4" >> %t.input
> +RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4005d4" >> %t/input
> +RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4005c4" >> %t/input
>  RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
> -RUN:    --default-arch=i386 < %t.input | FileCheck --check-prefix=SPLIT --check-prefix=DWO %s
> +RUN:    --default-arch=i386 < %t/input | FileCheck --check-prefix=SPLIT --check-prefix=DWO %s
>  
>  Ensure we get gmlt like results in the absence of a .dwo file but the presence of gmlt-like data in the executable
>  
>  RUN: rm %T/split-dwarf-test.dwo
> -RUN: echo "%p/Inputs/split-dwarf-test 0x4005d4" >> %t.input
> -RUN: echo "%p/Inputs/split-dwarf-test 0x4005c4" >> %t.input
> +RUN: echo "%p/Inputs/split-dwarf-test 0x4005d4" >> %t/input
> +RUN: echo "%p/Inputs/split-dwarf-test 0x4005c4" >> %t/input
>  RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
> -RUN:    --default-arch=i386 < %t.input | FileCheck --check-prefix=SPLIT --check-prefix=NODWO %s
> +RUN:    --default-arch=i386 < %t/input | FileCheck --check-prefix=SPLIT --check-prefix=NODWO %s
>  
>  CHECK:       main
>  CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16
> @@ -156,46 +157,46 @@
>  CHECK-NEXT: f3
>  CHECK-NEXT: split-dwarf-dwp.cpp:6:0
>  
> -RUN: echo "unexisting-file 0x1234" > %t.input2
> -RUN: llvm-symbolizer < %t.input2 2>&1 | FileCheck %s --check-prefix=MISSING-FILE
> +RUN: echo "unexisting-file 0x1234" > %t/input2
> +RUN: llvm-symbolizer < %t/input2 2>&1 | FileCheck %s --check-prefix=MISSING-FILE
>  
>  MISSING-FILE: LLVMSymbolizer: error reading file: {{[Nn]}}o such file or directory
>  
> -RUN: echo "%p/Inputs/macho-universal 0x1f84" > %t.input3
> -RUN: llvm-symbolizer < %t.input3 | FileCheck %s --check-prefix=UNKNOWN-ARCH
> +RUN: echo "%p/Inputs/macho-universal 0x1f84" > %t/input3
> +RUN: llvm-symbolizer < %t/input3 | FileCheck %s --check-prefix=UNKNOWN-ARCH
>  
>  UNKNOWN-ARCH-NOT: main
>  UNKNOWN-ARCH: ??
>  UNKNOWN-ARCH-NOT: main
>  
> -RUN: echo "0x400559" > %t.input4
> -RUN: echo "0x400436" >> %t.input4
> -RUN: llvm-symbolizer --obj %p/Inputs/dwarfdump-test.elf-x86-64 < %t.input4 \
> +RUN: echo "0x400559" > %t/input4
> +RUN: echo "0x400436" >> %t/input4
> +RUN: llvm-symbolizer --obj %p/Inputs/dwarfdump-test.elf-x86-64 < %t/input4 \
>  RUN:   | FileCheck %s --check-prefix=BINARY
>  
>  BINARY:       main
>  BINARY-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16
>  BINARY:      _start
>  
> -RUN: echo "0x400720" > %t.input5
> -RUN: echo "0x4004a0" >> %t.input5
> -RUN: echo "0x4006f0" >> %t.input5
> -RUN: llvm-symbolizer --obj %p/Inputs/llvm-symbolizer-test.elf-x86-64 < %t.input5 \
> +RUN: echo "0x400720" > %t/input5
> +RUN: echo "0x4004a0" >> %t/input5
> +RUN: echo "0x4006f0" >> %t/input5
> +RUN: llvm-symbolizer --obj %p/Inputs/llvm-symbolizer-test.elf-x86-64 < %t/input5 \
>  RUN:   | FileCheck %s --check-prefix=BINARY_C
>  
>  BINARY_C:       main
>  BINARY_C-NEXT: /tmp/dbginfo{{[/\\]}}llvm-symbolizer-test.c:10
>  BINARY_C:      _start
>  BINARY_C:      {{g$}}
>  
> -RUN: echo "0x1f1" > %t.input6
> -RUN: llvm-symbolizer --obj %p/Inputs/shared-object-stripped.elf-i386 < %t.input6 \
> +RUN: echo "0x1f1" > %t/input6
> +RUN: llvm-symbolizer --obj %p/Inputs/shared-object-stripped.elf-i386 < %t/input6 \
>  RUN:   | FileCheck %s --check-prefix=STRIPPED
>  
>  STRIPPED:  global_func
>  
> -RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" > %t.input7
> -RUN: llvm-symbolizer --functions=short --demangle=false < %t.input7 \
> +RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" > %t/input7
> +RUN: llvm-symbolizer --functions=short --demangle=false < %t/input7 \
>  RUN:    | FileCheck %s --check-prefix=SHORT_FUNCTION_NAME
>  
>  SHORT_FUNCTION_NAME-NOT: _Z1cv
> Index: test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test
> ===================================================================
> --- test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test
> +++ test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test
> @@ -1,6 +1,7 @@
>  REQUIRES: shell
> -RUN: cd %T
> -RUN: cp %p/Inputs/split-dwarf-empty.dwo %T
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: cd %t
> +RUN: cp %p/Inputs/split-dwarf-empty.dwo %t
>  RUN: echo "%p/Inputs/split-dwarf-empty.o 0xdeadbeef" > %t.input
>  
>  RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
> Index: test/DebugInfo/X86/split-dwarf-multiple-cu-hash.ll
> ===================================================================
> --- test/DebugInfo/X86/split-dwarf-multiple-cu-hash.ll
> +++ test/DebugInfo/X86/split-dwarf-multiple-cu-hash.ll
> @@ -1,6 +1,7 @@
> -; RUN: %llc_dwarf -split-dwarf-file=foo.dwo  %s -filetype=obj -o %T/a.o
> -; RUN: %llc_dwarf -split-dwarf-file=bar.dwo  %s -filetype=obj -o %T/b.o
> -; RUN: llvm-dwarfdump -debug-dump=info %T/a.o %T/b.o | FileCheck %s
> +; RUN: rm -rf %t && mkdir -p %t
> +; RUN: %llc_dwarf -split-dwarf-file=foo.dwo  %s -filetype=obj -o %t/a.o
> +; RUN: %llc_dwarf -split-dwarf-file=bar.dwo  %s -filetype=obj -o %t/b.o
> +; RUN: llvm-dwarfdump -debug-dump=info %t/a.o %t/b.o | FileCheck %s
>  
>  ; CHECK: dwo_id {{.*}}([[HASH:.*]])
>  ; CHECK-NOT: dwo_id {{.*}}([[HASH]])
> Index: test/DebugInfo/PDB/pdbdump-source-names.test
> ===================================================================
> --- test/DebugInfo/PDB/pdbdump-source-names.test
> +++ test/DebugInfo/PDB/pdbdump-source-names.test
> @@ -6,11 +6,12 @@
>  # that differ by one byte, so that at least one of those will only
>  # pass if alignment is implemented correctly.
>  
> -RUN: llvm-pdbutil yaml2pdb -pdb=%T/source-names-1.pdb %p/Inputs/source-names-1.yaml
> -RUN: llvm-pdbutil pdb2yaml -module-files %T/source-names-1.pdb \
> +RUN: rm -rf %t && mkdir -p %t
> +RUN: llvm-pdbutil yaml2pdb -pdb=%t/source-names-1.pdb %p/Inputs/source-names-1.yaml
> +RUN: llvm-pdbutil pdb2yaml -module-files %t/source-names-1.pdb \
>  RUN:     | FileCheck -check-prefix=CHECK1 %s
> -RUN: llvm-pdbutil yaml2pdb -pdb=%T/source-names-2.pdb %p/Inputs/source-names-2.yaml
> -RUN: llvm-pdbutil pdb2yaml -module-files %T/source-names-2.pdb \
> +RUN: llvm-pdbutil yaml2pdb -pdb=%t/source-names-2.pdb %p/Inputs/source-names-2.yaml
> +RUN: llvm-pdbutil pdb2yaml -module-files %t/source-names-2.pdb \
>  RUN:     | FileCheck -check-prefix=CHECK2 %s
>  
>  CHECK1: SourceFiles:
> Index: test/DebugInfo/PDB/pdbdump-objfilename.yaml
> ===================================================================
> --- test/DebugInfo/PDB/pdbdump-objfilename.yaml
> +++ test/DebugInfo/PDB/pdbdump-objfilename.yaml
> @@ -1,5 +1,5 @@
> -# RUN: llvm-pdbdump yaml2pdb -pdb=%T/objfilename.pdb %s
> -# RUN: llvm-pdbdump pdb2yaml -dbi-module-info %T/objfilename.pdb \
> +# RUN: llvm-pdbdump yaml2pdb -pdb=%t %s
> +# RUN: llvm-pdbdump pdb2yaml -dbi-module-info %t \
>  # RUN:     | FileCheck %s
>  #
>  # CHECK: DbiStream:
> Index: test/Bindings/OCaml/vectorize.ml
> ===================================================================
> --- test/Bindings/OCaml/vectorize.ml
> +++ test/Bindings/OCaml/vectorize.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/vectorize_opts.ml
> - * RUN: %ocamlc -g -w +A -package llvm.vectorize -linkpkg %T/vectorize_opts.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w +A -package llvm.vectorize -linkpkg %T/vectorize_opts.ml -o %t
> - * RUN: %t %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/vectorize_opts.ml
> + * RUN: %ocamlc -g -w +A -package llvm.vectorize -linkpkg %t/vectorize_opts.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w +A -package llvm.vectorize -linkpkg %t/vectorize_opts.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/transform_utils.ml
> ===================================================================
> --- test/Bindings/OCaml/transform_utils.ml
> +++ test/Bindings/OCaml/transform_utils.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/transform_utils.ml
> - * RUN: %ocamlc -g -w +A -package llvm.transform_utils -linkpkg %T/transform_utils.ml -o %t
> - * RUN: %t
> - * RUN: %ocamlopt -g -w +A -package llvm.transform_utils -linkpkg %T/transform_utils.ml -o %t
> - * RUN: %t
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/transform_utils.ml
> + * RUN: %ocamlc -g -w +A -package llvm.transform_utils -linkpkg %t/transform_utils.ml -o %t/executable
> + * RUN: %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.transform_utils -linkpkg %t/transform_utils.ml -o %t/executable
> + * RUN: %t/executable
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/target.ml
> ===================================================================
> --- test/Bindings/OCaml/target.ml
> +++ test/Bindings/OCaml/target.ml
> @@ -1,7 +1,7 @@
> -(* RUN: cp %s %T/target.ml
> - * RUN: %ocamlc -g -w +A -package llvm.target -package llvm.all_backends -linkpkg %T/target.ml -o %t
> - * RUN: %ocamlopt -g -w +A -package llvm.target -package llvm.all_backends -linkpkg %T/target.ml -o %t
> - * RUN: %t %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/target.ml
> + * RUN: %ocamlc -g -w +A -package llvm.target -package llvm.all_backends -linkpkg %t/target.ml -o %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.target -package llvm.all_backends -linkpkg %t/target.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/scalar_opts.ml
> ===================================================================
> --- test/Bindings/OCaml/scalar_opts.ml
> +++ test/Bindings/OCaml/scalar_opts.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/scalar_opts.ml
> - * RUN: %ocamlc -g -w +A -package llvm.scalar_opts -linkpkg %T/scalar_opts.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w +A -package llvm.scalar_opts -linkpkg %T/scalar_opts.ml -o %t
> - * RUN: %t %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/scalar_opts.ml
> + * RUN: %ocamlc -g -w +A -package llvm.scalar_opts -linkpkg %t/scalar_opts.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w +A -package llvm.scalar_opts -linkpkg %t/scalar_opts.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/passmgr_builder.ml
> ===================================================================
> --- test/Bindings/OCaml/passmgr_builder.ml
> +++ test/Bindings/OCaml/passmgr_builder.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/passmgr_builder.ml
> - * RUN: %ocamlc -g -w +A -package llvm.passmgr_builder -linkpkg %T/passmgr_builder.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w +A -package llvm.passmgr_builder -linkpkg %T/passmgr_builder.ml -o %t
> - * RUN: %t %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/passmgr_builder.ml
> + * RUN: %ocamlc -g -w +A -package llvm.passmgr_builder -linkpkg %t/passmgr_builder.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w +A -package llvm.passmgr_builder -linkpkg %t/passmgr_builder.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/linker.ml
> ===================================================================
> --- test/Bindings/OCaml/linker.ml
> +++ test/Bindings/OCaml/linker.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/linker.ml
> - * RUN: %ocamlc -g -w +A -package llvm.linker -linkpkg %T/linker.ml -o %t
> - * RUN: %t
> - * RUN: %ocamlopt -g -w +A -package llvm.linker -linkpkg %T/linker.ml -o %t
> - * RUN: %t
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/linker.ml
> + * RUN: %ocamlc -g -w +A -package llvm.linker -linkpkg %t/linker.ml -o %t/executable
> + * RUN: %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.linker -linkpkg %t/linker.ml -o %t/executable
> + * RUN: %t/executable
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/irreader.ml
> ===================================================================
> --- test/Bindings/OCaml/irreader.ml
> +++ test/Bindings/OCaml/irreader.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/irreader.ml
> - * RUN: %ocamlc -g -w +A -package llvm.irreader -linkpkg %T/irreader.ml -o %t
> - * RUN: %t
> - * RUN: %ocamlopt -g -w +A -package llvm.irreader -linkpkg %T/irreader.ml -o %t
> - * RUN: %t
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/irreader.ml
> + * RUN: %ocamlc -g -w +A -package llvm.irreader -linkpkg %t/irreader.ml -o %t/executable
> + * RUN: %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.irreader -linkpkg %t/irreader.ml -o %t/executable
> + * RUN: %t/executable
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/ipo.ml
> ===================================================================
> --- test/Bindings/OCaml/ipo.ml
> +++ test/Bindings/OCaml/ipo.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/ipo_opts.ml
> - * RUN: %ocamlc -g -w +A -package llvm.ipo -linkpkg %T/ipo_opts.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w +A -package llvm.ipo -linkpkg %T/ipo_opts.ml -o %t
> - * RUN: %t %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/ipo_opts.ml
> + * RUN: %ocamlc -g -w +A -package llvm.ipo -linkpkg %t/ipo_opts.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w +A -package llvm.ipo -linkpkg %t/ipo_opts.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/ext_exc.ml
> ===================================================================
> --- test/Bindings/OCaml/ext_exc.ml
> +++ test/Bindings/OCaml/ext_exc.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/ext_exc.ml
> - * RUN: %ocamlc -g -w +A -package llvm.bitreader -linkpkg %T/ext_exc.ml -o %t
> - * RUN: %t
> - * RUN: %ocamlopt -g -w +A -package llvm.bitreader -linkpkg %T/ext_exc.ml -o %t
> - * RUN: %t
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/ext_exc.ml
> + * RUN: %ocamlc -g -w +A -package llvm.bitreader -linkpkg %t/ext_exc.ml -o %t/executable
> + * RUN: %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.bitreader -linkpkg %t/ext_exc.ml -o %t/executable
> + * RUN: %t/executable
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/executionengine.ml
> ===================================================================
> --- test/Bindings/OCaml/executionengine.ml
> +++ test/Bindings/OCaml/executionengine.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/executionengine.ml
> - * RUN: %ocamlc -g -w +A -package llvm.executionengine -linkpkg %T/executionengine.ml -o %t
> - * RUN: %t
> - * RUN: %ocamlopt -g -w +A -package llvm.executionengine -linkpkg %T/executionengine.ml -o %t
> - * RUN: %t
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/executionengine.ml
> + * RUN: %ocamlc -g -w +A -package llvm.executionengine -linkpkg %t/executionengine.ml -o %t/executable
> + * RUN: %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.executionengine -linkpkg %t/executionengine.ml -o %t/executable
> + * RUN: %t/executable
>   * REQUIRES: native, object-emission
>   * XFAIL: vg_leak
>   *)
> Index: test/Bindings/OCaml/diagnostic_handler.ml
> ===================================================================
> --- test/Bindings/OCaml/diagnostic_handler.ml
> +++ test/Bindings/OCaml/diagnostic_handler.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/diagnostic_handler.ml
> - * RUN: %ocamlc -g -w +A -package llvm.bitreader -linkpkg %T/diagnostic_handler.ml -o %t
> - * RUN: %t %t.bc | FileCheck %s
> - * RUN: %ocamlopt -g -w +A -package llvm.bitreader -linkpkg %T/diagnostic_handler.ml -o %t
> - * RUN: %t %t.bc | FileCheck %s
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/diagnostic_handler.ml
> + * RUN: %ocamlc -g -w +A -package llvm.bitreader -linkpkg %t/diagnostic_handler.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc | FileCheck %s
> + * RUN: %ocamlopt -g -w +A -package llvm.bitreader -linkpkg %t/diagnostic_handler.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc | FileCheck %s
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/core.ml
> ===================================================================
> --- test/Bindings/OCaml/core.ml
> +++ test/Bindings/OCaml/core.ml
> @@ -1,12 +1,12 @@
> -(* RUN: cp %s %T/core.ml
> - * RUN: %ocamlc -g -w +A -package llvm.analysis -package llvm.bitwriter -linkpkg %T/core.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w +A -package llvm.analysis -package llvm.bitwriter -linkpkg %T/core.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: llvm-dis < %t.bc > %t.ll
> - * RUN: FileCheck %s < %t.ll
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/core.ml
> + * RUN: %ocamlc -g -w +A -package llvm.analysis -package llvm.bitwriter -linkpkg %t/core.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w +A -package llvm.analysis -package llvm.bitwriter -linkpkg %t/core.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: llvm-dis < %t/bitcode.bc > %t/dis.ll
> + * RUN: FileCheck %s < %t/dis.ll
>   * Do a second pass for things that shouldn't be anywhere.
> - * RUN: FileCheck -check-prefix=CHECK-NOWHERE %s < %t.ll
> + * RUN: FileCheck -check-prefix=CHECK-NOWHERE %s < %t/dis.ll
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/bitwriter.ml
> ===================================================================
> --- test/Bindings/OCaml/bitwriter.ml
> +++ test/Bindings/OCaml/bitwriter.ml
> @@ -1,9 +1,9 @@
> -(* RUN: cp %s %T/bitwriter.ml
> - * RUN: %ocamlc -g -w -3 -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %T/bitwriter.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w -3 -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %T/bitwriter.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: llvm-dis < %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/bitwriter.ml
> + * RUN: %ocamlc -g -w -3 -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %t/bitwriter.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w -3 -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %t/bitwriter.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: llvm-dis < %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/bitreader.ml
> ===================================================================
> --- test/Bindings/OCaml/bitreader.ml
> +++ test/Bindings/OCaml/bitreader.ml
> @@ -1,9 +1,9 @@
> -(* RUN: cp %s %T/bitreader.ml
> - * RUN: %ocamlc -g -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %T/bitreader.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: %ocamlopt -g -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %T/bitreader.ml -o %t
> - * RUN: %t %t.bc
> - * RUN: llvm-dis < %t.bc
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/bitreader.ml
> + * RUN: %ocamlc -g -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %t/bitreader.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: %ocamlopt -g -w +A -package llvm.bitreader -package llvm.bitwriter -linkpkg %t/bitreader.ml -o %t/executable
> + * RUN: %t/executable %t/bitcode.bc
> + * RUN: llvm-dis < %t/bitcode.bc
>   * XFAIL: vg_leak
>   *)
>  
> Index: test/Bindings/OCaml/analysis.ml
> ===================================================================
> --- test/Bindings/OCaml/analysis.ml
> +++ test/Bindings/OCaml/analysis.ml
> @@ -1,8 +1,8 @@
> -(* RUN: cp %s %T/analysis.ml
> - * RUN: %ocamlc -g -w +A -package llvm.analysis -linkpkg %T/analysis.ml -o %t
> - * RUN: %t
> - * RUN: %ocamlopt -g -w +A -package llvm.analysis -linkpkg %T/analysis.ml -o %t
> - * RUN: %t
> +(* RUN: rm -rf %t && mkdir -p %t && cp %s %t/analysis.ml
> + * RUN: %ocamlc -g -w +A -package llvm.analysis -linkpkg %t/analysis.ml -o %t/executable
> + * RUN: %t/executable
> + * RUN: %ocamlopt -g -w +A -package llvm.analysis -linkpkg %t/analysis.ml -o %t/executable
> + * RUN: %t/executable
>   * XFAIL: vg_leak
>   *)
>  
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list