From owner-svn-src-all@freebsd.org Tue Feb 28 21:07:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1D5B9CF2007; Tue, 28 Feb 2017 21:07:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C89E2D84; Tue, 28 Feb 2017 21:07:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1SL7JYl039707; Tue, 28 Feb 2017 21:07:19 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1SL7IJj039692; Tue, 28 Feb 2017 21:07:18 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201702282107.v1SL7IJj039692@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 28 Feb 2017 21:07:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r314411 - in vendor/llvm/dist: docs lib/CodeGen test/CodeGen/X86 test/tools/llvm-xray/X86 test/tools/llvm-xray/X86/Inputs tools/llvm-xray X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Feb 2017 21:07:21 -0000 Author: dim Date: Tue Feb 28 21:07:18 2017 New Revision: 314411 URL: https://svnweb.freebsd.org/changeset/base/314411 Log: Vendor import of llvm release_40 branch r296509: https://llvm.org/svn/llvm-project/llvm/branches/release_40@296509 Added: vendor/llvm/dist/test/CodeGen/X86/pr30284.ll Modified: vendor/llvm/dist/docs/ReleaseNotes.rst vendor/llvm/dist/lib/CodeGen/ExecutionDepsFix.cpp vendor/llvm/dist/test/tools/llvm-xray/X86/Inputs/simple-xray-instrmap.yaml vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-case.yaml vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-sorting.yaml vendor/llvm/dist/test/tools/llvm-xray/X86/convert-roundtrip.yaml vendor/llvm/dist/test/tools/llvm-xray/X86/convert-to-yaml.txt vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-debug-syms.txt vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt vendor/llvm/dist/test/tools/llvm-xray/X86/extract-instrmap.ll vendor/llvm/dist/tools/llvm-xray/xray-converter.cc vendor/llvm/dist/tools/llvm-xray/xray-extract.cc Modified: vendor/llvm/dist/docs/ReleaseNotes.rst ============================================================================== --- vendor/llvm/dist/docs/ReleaseNotes.rst Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/docs/ReleaseNotes.rst Tue Feb 28 21:07:18 2017 (r314411) @@ -20,6 +20,14 @@ have questions or comments, the `LLVM De `_ is a good place to send them. +New Versioning Scheme +===================== +Starting with this release, LLVM is using a +`new versioning scheme `_, +increasing the major version number with each major release. Stable updates to +this release will be versioned 4.0.x, and the next major release, six months +from now, will be version 5.0.0. + Non-comprehensive list of changes in this release ================================================= * Minimum compiler version to build has been raised to GCC 4.8 and VS 2015. @@ -238,6 +246,34 @@ Most of the work behind the scenes has b assembly, and also fixing some assertions we would hit on some well-formed inputs. +Changes to the MIPS Target +----------------------------- + +**During this release the MIPS target has:** + +* IAS is now enabled by default for Debian mips64el. +* Added support for the two operand form for many instructions. +* Added the following macros: unaligned load/store, seq, double word load/store for O32. +* Improved the parsing of complex memory offset expressions. +* Enabled the integrated assembler by default for Debian mips64el. +* Added a generic scheduler based on the interAptiv CPU. +* Added support for thread local relocations. +* Added recip, rsqrt, evp, dvp, synci instructions in IAS. +* Optimized the generation of constants from some cases. + +**The following issues have been fixed:** + +* Thread local debug information is correctly recorded. +* MSA intrinsics are now range checked. +* Fixed an issue with MSA and the no-odd-spreg abi. +* Fixed some corner cases in handling forbidden slots for MIPSR6. +* Fixed an issue with jumps not being converted to relative branches for assembly. +* Fixed the handling of local symbols and jal instruction. +* N32/N64 no longer have their relocation tables sorted as per their ABIs. +* Fixed a crash when half-precision floating point conversion MSA intrinsics are used. +* Fixed several crashes involving FastISel. +* Corrected the corrected definitions for aui/daui/dahi/dati for MIPSR6. + Changes to the OCaml bindings ----------------------------- Modified: vendor/llvm/dist/lib/CodeGen/ExecutionDepsFix.cpp ============================================================================== --- vendor/llvm/dist/lib/CodeGen/ExecutionDepsFix.cpp Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/lib/CodeGen/ExecutionDepsFix.cpp Tue Feb 28 21:07:18 2017 (r314411) @@ -707,9 +707,8 @@ void ExeDepsFix::visitSoftInstr(MachineI // Kill off any remaining uses that don't match available, and build a list of // incoming DomainValues that we want to merge. - SmallVector Regs; - for (SmallVectorImpl::iterator i=used.begin(), e=used.end(); i!=e; ++i) { - int rx = *i; + SmallVector Regs; + for (int rx : used) { assert(LiveRegs && "no space allocated for live registers"); const LiveReg &LR = LiveRegs[rx]; // This useless DomainValue could have been missed above. @@ -718,16 +717,11 @@ void ExeDepsFix::visitSoftInstr(MachineI continue; } // Sorted insertion. - bool Inserted = false; - for (SmallVectorImpl::iterator i = Regs.begin(), e = Regs.end(); - i != e && !Inserted; ++i) { - if (LR.Def < i->Def) { - Inserted = true; - Regs.insert(i, LR); - } - } - if (!Inserted) - Regs.push_back(LR); + auto I = std::upper_bound(Regs.begin(), Regs.end(), &LR, + [](const LiveReg *LHS, const LiveReg *RHS) { + return LHS->Def < RHS->Def; + }); + Regs.insert(I, &LR); } // doms are now sorted in order of appearance. Try to merge them all, giving @@ -735,14 +729,14 @@ void ExeDepsFix::visitSoftInstr(MachineI DomainValue *dv = nullptr; while (!Regs.empty()) { if (!dv) { - dv = Regs.pop_back_val().Value; + dv = Regs.pop_back_val()->Value; // Force the first dv to match the current instruction. dv->AvailableDomains = dv->getCommonDomains(available); assert(dv->AvailableDomains && "Domain should have been filtered"); continue; } - DomainValue *Latest = Regs.pop_back_val().Value; + DomainValue *Latest = Regs.pop_back_val()->Value; // Skip already merged values. if (Latest == dv || Latest->Next) continue; Added: vendor/llvm/dist/test/CodeGen/X86/pr30284.ll ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/test/CodeGen/X86/pr30284.ll Tue Feb 28 21:07:18 2017 (r314411) @@ -0,0 +1,22 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -mattr=avx512dq | FileCheck %s + +define void @f_f___un_3C_unf_3E_un_3C_unf_3E_() { +; CHECK-LABEL: f_f___un_3C_unf_3E_un_3C_unf_3E_: +; CHECK: # BB#0: +; CHECK-NEXT: vmovapd 0, %zmm0 +; CHECK-NEXT: vmovapd 64, %zmm1 +; CHECK-NEXT: vmovapd {{.*#+}} zmm2 = [0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16] +; CHECK-NEXT: kshiftrw $8, %k0, %k1 +; CHECK-NEXT: vorpd %zmm2, %zmm1, %zmm1 {%k1} +; CHECK-NEXT: vorpd %zmm2, %zmm0, %zmm0 {%k1} +; CHECK-NEXT: vmovapd %zmm0, 0 +; CHECK-NEXT: vmovapd %zmm1, 64 +; CHECK-NEXT: retl + %a_load22 = load <16 x i64>, <16 x i64>* null, align 1 + %bitop = or <16 x i64> %a_load22, + %v.i = load <16 x i64>, <16 x i64>* null + %v1.i41 = select <16 x i1> undef, <16 x i64> %bitop, <16 x i64> %v.i + store <16 x i64> %v1.i41, <16 x i64>* null + ret void +} Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/Inputs/simple-xray-instrmap.yaml ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/Inputs/simple-xray-instrmap.yaml Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/Inputs/simple-xray-instrmap.yaml Tue Feb 28 21:07:18 2017 (r314411) @@ -1,14 +1,8 @@ --- -- { id: 1, address: 0x000000000041CA40, function: 0x000000000041CA40, kind: function-enter, - always-instrument: true } -- { id: 1, address: 0x000000000041CA50, function: 0x000000000041CA40, kind: tail-exit, - always-instrument: true } -- { id: 2, address: 0x000000000041CA70, function: 0x000000000041CA70, kind: function-enter, - always-instrument: true } -- { id: 2, address: 0x000000000041CA7C, function: 0x000000000041CA70, kind: tail-exit, - always-instrument: true } -- { id: 3, address: 0x000000000041CAA0, function: 0x000000000041CAA0, kind: function-enter, - always-instrument: true } -- { id: 3, address: 0x000000000041CAB4, function: 0x000000000041CAA0, kind: function-exit, - always-instrument: true } +- { id: 1, address: 0x000000000041CA40, function: 0x000000000041CA40, kind: function-enter, always-instrument: true } +- { id: 1, address: 0x000000000041CA50, function: 0x000000000041CA40, kind: tail-exit, always-instrument: true } +- { id: 2, address: 0x000000000041CA70, function: 0x000000000041CA70, kind: function-enter, always-instrument: true } +- { id: 2, address: 0x000000000041CA7C, function: 0x000000000041CA70, kind: tail-exit, always-instrument: true } +- { id: 3, address: 0x000000000041CAA0, function: 0x000000000041CAA0, kind: function-enter, always-instrument: true } +- { id: 3, address: 0x000000000041CAB4, function: 0x000000000041CAA0, kind: function-exit, always-instrument: true } ... Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-case.yaml ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-case.yaml Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-case.yaml Tue Feb 28 21:07:18 2017 (r314411) @@ -7,10 +7,8 @@ header: nonstop-tsc: true cycle-frequency: 2601000000 records: - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, - tsc: 10001 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, - tsc: 10100 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10001 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10100 } ... #CHECK: Functions with latencies: 1 Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-sorting.yaml ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-sorting.yaml Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/account-simple-sorting.yaml Tue Feb 28 21:07:18 2017 (r314411) @@ -17,27 +17,17 @@ header: cycle-frequency: 1 records: # Function id: 1 - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, - tsc: 10001 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, - tsc: 10100 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, - tsc: 10101 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, - tsc: 10200 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, - tsc: 10201 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, - tsc: 10300 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10001 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10100 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10101 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10200 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10201 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10300 } # Function id: 2 - - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-enter, - tsc: 10001 } - - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-exit, - tsc: 10002 } - - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-enter, - tsc: 10101 } - - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-exit, - tsc: 10102 } + - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-enter, tsc: 10001 } + - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-exit, tsc: 10002 } + - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-enter, tsc: 10101 } + - { type: 0, func-id: 2, cpu: 1, thread: 222, kind: function-exit, tsc: 10102 } #DEFAULT: Functions with latencies: 2 #DEFAULT-NEXT: funcid count [ min, med, 90p, 99p, max] sum function Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/convert-roundtrip.yaml ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/convert-roundtrip.yaml Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/convert-roundtrip.yaml Tue Feb 28 21:07:18 2017 (r314411) @@ -7,10 +7,8 @@ header: nonstop-tsc: true cycle-frequency: 2601000000 records: - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, - tsc: 10001 } - - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, - tsc: 10100 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10001 } + - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10100 } ... #CHECK: --- @@ -21,8 +19,6 @@ records: #CHECK-NEXT: nonstop-tsc: true #CHECK-NEXT: cycle-frequency: 2601000000 #CHECK-NEXT: records: -#CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 1, thread: 111, kind: function-enter, -#CHECK-NEXT: tsc: 10001 } -#CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 1, thread: 111, kind: function-exit, -#CHECK-NEXT: tsc: 10100 } +#CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 1, thread: 111, kind: function-enter, tsc: 10001 } +#CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 1, thread: 111, kind: function-exit, tsc: 10100 } #CHECK-NEXT: ... Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/convert-to-yaml.txt ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/convert-to-yaml.txt Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/convert-to-yaml.txt Tue Feb 28 21:07:18 2017 (r314411) @@ -8,16 +8,10 @@ ; CHECK-NEXT: nonstop-tsc: true ; CHECK-NEXT: cycle-frequency: 2601000000 ; CHECK-NEXT: records: -; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841453914 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841454542 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841454670 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841454762 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841454802 } -; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841494828 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828 } ; CHECK-NEXT: ... Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-debug-syms.txt ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-debug-syms.txt Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-debug-syms.txt Tue Feb 28 21:07:18 2017 (r314411) @@ -8,16 +8,10 @@ ; CHECK-NEXT: nonstop-tsc: true ; CHECK-NEXT: cycle-frequency: 2601000000 ; CHECK-NEXT: records: -; CHECK-NEXT: - { type: 0, func-id: 3, function: main, cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841453914 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: {{.*foo.*}}, cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841454542 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: {{.*foo.*}}, cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841454670 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: {{.*bar.*}}, cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841454762 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: {{.*bar.*}}, cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841454802 } -; CHECK-NEXT: - { type: 0, func-id: 3, function: main, cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841494828 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: main, cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: {{.*foo.*}}, cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: {{.*foo.*}}, cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: {{.*bar.*}}, cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: {{.*bar.*}}, cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: main, cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828 } ; CHECK-NEXT: ... Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-standalone-instrmap.txt Tue Feb 28 21:07:18 2017 (r314411) @@ -8,16 +8,10 @@ ; CHECK-NEXT: nonstop-tsc: true ; CHECK-NEXT: cycle-frequency: 2601000000 ; CHECK-NEXT: records: -; CHECK-NEXT: - { type: 0, func-id: 3, function: '@(41caa0)', cpu: 37, thread: 84697, -; CHECK-NEXT: kind: function-enter, tsc: 3315356841453914 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: '@(41ca70)', cpu: 37, thread: 84697, -; CHECK-NEXT: kind: function-enter, tsc: 3315356841454542 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: '@(41ca70)', cpu: 37, thread: 84697, -; CHECK-NEXT: kind: function-exit, tsc: 3315356841454670 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: '@(41ca40)', cpu: 37, thread: 84697, -; CHECK-NEXT: kind: function-enter, tsc: 3315356841454762 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: '@(41ca40)', cpu: 37, thread: 84697, -; CHECK-NEXT: kind: function-exit, tsc: 3315356841454802 } -; CHECK-NEXT: - { type: 0, func-id: 3, function: '@(41caa0)', cpu: 37, thread: 84697, -; CHECK-NEXT: kind: function-exit, tsc: 3315356841494828 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: '@(41caa0)', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: '@(41ca70)', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: '@(41ca70)', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: '@(41ca40)', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: '@(41ca40)', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: '@(41caa0)', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828 } ; CHECK-NEXT: ... Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/convert-with-yaml-instrmap.txt Tue Feb 28 21:07:18 2017 (r314411) @@ -8,16 +8,10 @@ ; CHECK-NEXT: nonstop-tsc: true ; CHECK-NEXT: cycle-frequency: 2601000000 ; CHECK-NEXT: records: -; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841453914 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841454542 } -; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841454670 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-enter, -; CHECK-NEXT: tsc: 3315356841454762 } -; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841454802 } -; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-exit, -; CHECK-NEXT: tsc: 3315356841494828 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841453914 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454542 } +; CHECK-NEXT: - { type: 0, func-id: 2, function: '2', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454670 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-enter, tsc: 3315356841454762 } +; CHECK-NEXT: - { type: 0, func-id: 1, function: '1', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841454802 } +; CHECK-NEXT: - { type: 0, func-id: 3, function: '3', cpu: 37, thread: 84697, kind: function-exit, tsc: 3315356841494828 } ; CHECK-NEXT: ... Modified: vendor/llvm/dist/test/tools/llvm-xray/X86/extract-instrmap.ll ============================================================================== --- vendor/llvm/dist/test/tools/llvm-xray/X86/extract-instrmap.ll Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/test/tools/llvm-xray/X86/extract-instrmap.ll Tue Feb 28 21:07:18 2017 (r314411) @@ -4,12 +4,8 @@ ; RUN: llvm-xray extract %S/Inputs/elf64-example.bin | FileCheck %s ; CHECK: --- -; CHECK-NEXT: - { id: 1, address: 0x000000000041C900, function: 0x000000000041C900, kind: function-enter, -; CHECK-NEXT: always-instrument: true } -; CHECK-NEXT: - { id: 1, address: 0x000000000041C912, function: 0x000000000041C900, kind: function-exit, -; CHECK-NEXT: always-instrument: true } -; CHECK-NEXT: - { id: 2, address: 0x000000000041C930, function: 0x000000000041C930, kind: function-enter, -; CHECK-NEXT: always-instrument: true } -; CHECK-NEXT: - { id: 2, address: 0x000000000041C946, function: 0x000000000041C930, kind: function-exit, -; CHECK-NEXT: always-instrument: true } +; CHECK-NEXT: - { id: 1, address: 0x000000000041C900, function: 0x000000000041C900, kind: function-enter, always-instrument: true } +; CHECK-NEXT: - { id: 1, address: 0x000000000041C912, function: 0x000000000041C900, kind: function-exit, always-instrument: true } +; CHECK-NEXT: - { id: 2, address: 0x000000000041C930, function: 0x000000000041C930, kind: function-enter, always-instrument: true } +; CHECK-NEXT: - { id: 2, address: 0x000000000041C946, function: 0x000000000041C930, kind: function-exit, always-instrument: true } ; CHECK-NEXT: ... Modified: vendor/llvm/dist/tools/llvm-xray/xray-converter.cc ============================================================================== --- vendor/llvm/dist/tools/llvm-xray/xray-converter.cc Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/tools/llvm-xray/xray-converter.cc Tue Feb 28 21:07:18 2017 (r314411) @@ -98,7 +98,7 @@ void TraceConverter::exportAsYAML(const : std::to_string(R.FuncId), R.TSC, R.TId}); } - Output Out(OS); + Output Out(OS, nullptr, 0); Out << Trace; } Modified: vendor/llvm/dist/tools/llvm-xray/xray-extract.cc ============================================================================== --- vendor/llvm/dist/tools/llvm-xray/xray-extract.cc Tue Feb 28 20:51:20 2017 (r314410) +++ vendor/llvm/dist/tools/llvm-xray/xray-extract.cc Tue Feb 28 21:07:18 2017 (r314411) @@ -270,7 +270,7 @@ void InstrumentationMapExtractor::export YAMLSleds.push_back({FunctionIds[Sled.Function], Sled.Address, Sled.Function, Sled.Kind, Sled.AlwaysInstrument}); } - Output Out(OS); + Output Out(OS, nullptr, 0); Out << YAMLSleds; }