- Jan 26, 2017
-
-
Zachary Turner authored
This is not a list of pairs, it is a hash table data structure. We now correctly parse this out and dump it from llvm-pdbdump. We still need to understand the conditions that lead to a type getting an entry in the hash adjuster table. That will be done in a followup investigation / patch. Differential Revision: https://reviews.llvm.org/D29090 llvm-svn: 293090
-
Rui Ueyama authored
llvm-svn: 293089
-
Tim Northover authored
Later code expects the vector loads produced to be directly concatenable, which means we shouldn't pad anything except the last load produced with UNDEF. llvm-svn: 293088
-
Tim Northover authored
Thanks to Quentin for suggesting the refactoring. llvm-svn: 293087
-
Tim Northover authored
I think it's a hold-over from some previous iteration, but it's never set to true in LLVM as it exists now. llvm-svn: 293086
-
Daniel Berlin authored
Summary: This is the first in a series of patches to add a simple, generalized updater to MemorySSA. For MemorySSA, every def is may-def, instead of the normal must-def. (the best way to think of memoryssa is "everything is really one variable, with different versions of that variable at different points in the program). This means when updating, we end up having to do a bunch of work to touch defs below and above us. In order to support this quickly, i have ilist'd all the defs for each block. ilist supports tags, so this is quite easy. the only slightly messy part is that you can't have two iplists for the same type that differ only whether they have the ownership part enabled or not, because the traits are for the value type. The verifiers have been updated to test that the def order is correct. Reviewers: george.burgess.iv Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D29046 llvm-svn: 293085
-
Rafael Espindola authored
While at it, also remove unused command line options. llvm-svn: 293084
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D29115 llvm-svn: 293083
-
Serge Rogatch authored
Summary: This patch provides a trampoline for function tail exit tracing. Still, it's staging because code `1` is passed to the handler function (indicating a normal exit) instead of `2`, which would indicate tail exit. This is so until the logging part of XRay supports tail exits too. Related: https://reviews.llvm.org/D28947 (LLVM) Reviewers: dberris, rengolin Reviewed By: rengolin Subscribers: aemerson, llvm-commits, iid_iunknown Differential Revision: https://reviews.llvm.org/D28948 llvm-svn: 293082
-
Matt Arsenault authored
According to the documentation this is supposed to be -1 if indirect calls are not supported. llvm-svn: 293081
-
Serge Rogatch authored
Summary: This patch prepares more for tail call support in XRay. Until the logging part supports tail calls, this is just staging, so it seems LLVM part is mostly ready with this patch. Related: https://reviews.llvm.org/D28948 (compiler-rt) Reviewers: dberris, rengolin Reviewed By: dberris Subscribers: llvm-commits, iid_iunknown, aemerson Differential Revision: https://reviews.llvm.org/D28947 llvm-svn: 293080
-
Marshall Clow authored
llvm-svn: 293079
-
Michal Gorny authored
Set LLVM_LIBRARY_OUTPUT_INTDIR as expected by llvm_setup_rpath() macro when doing stand-alone builds. This is required to pass correct -rpath-link when linking shared libraries, and therefore ensure that the linker can find dependency libraries correctly during the build. Differential Revision: https://reviews.llvm.org/D29099 llvm-svn: 293078
-
Krzysztof Parzyszek authored
llvm-svn: 293077
-
Alexey Bataev authored
llvm-svn: 293076
-
Chad Rosier authored
This reverts commit r293033, per Danny's comment. In short, we require domtrees to have roots at all times. llvm-svn: 293075
-
Matthias Braun authored
Change getReservedRegs() to not mark a register as reserved and then revert that decision in some cases. Motivated by the discussion in https://reviews.llvm.org/D29056 llvm-svn: 293073
-
Mehdi Amini authored
llvm-svn: 293071
-
Arpith Chacko Jacob authored
This patch adds support for the proc_bind clause on the Spmd construct 'target parallel' on the NVPTX device. Since the parallel region is created upon kernel launch, this clause can be safely ignored on the NVPTX device at codegen time for level 0 parallelism. Reviewers: ABataev Differential Revision: https://reviews.llvm.org/D29128 llvm-svn: 293069
-
Kostya Kortchinsky authored
Summary: Adding ARM64 as a supported architecture for Scudo. The random shuffle is not yet supported for SizeClassAllocator32, which is used by the AArch64 allocator, so disable the associated test for now. Reviewers: kcc, alekseyshl, rengolin Reviewed By: rengolin Subscribers: aemerson, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D28960 llvm-svn: 293068
-
Krzysztof Parzyszek authored
Differential Revision: https://reviews.llvm.org/D28694 llvm-svn: 293067
-
Bill Seurer authored
This has not reliably worked on powerpc since r279664. Re-enable this once the problem is tracked down and fixed. llvm-svn: 293066
-
Nico Weber authored
llvm-svn: 293065
-
Artur Pilipenko authored
This patch introduces guard based loop predication optimization. The new LoopPredication pass tries to convert loop variant range checks to loop invariant by widening checks across loop iterations. For example, it will convert for (i = 0; i < n; i++) { guard(i < len); ... } to for (i = 0; i < n; i++) { guard(n - 1 < len); ... } After this transformation the condition of the guard is loop invariant, so loop-unswitch can later unswitch the loop by this condition which basically predicates the loop by the widened condition: if (n - 1 < len) for (i = 0; i < n; i++) { ... } else deoptimize This patch relies on an NFC change to make ScalarEvolution::isMonotonicPredicate public (revision 293062). Reviewed By: sanjoy Differential Revision: https://reviews.llvm.org/D29034 llvm-svn: 293064
-
- Jan 25, 2017
-
-
Chad Rosier authored
llvm-svn: 293063
-
Artur Pilipenko authored
Will be used by the upcoming LoopPredication optimization. llvm-svn: 293062
-
Artur Pilipenko authored
This is a partial fix for Bug 31520 - [guards] canonicalize guards in instcombine Reviewed By: apilipenko Differential Revision: https://reviews.llvm.org/D29075 Patch by Maxim Kazantsev. llvm-svn: 293061
-
Simon Pilgrim authored
Differential Revision: https://reviews.llvm.org/D28949 llvm-svn: 293060
-
Martin Bohme authored
Summary: Lifetime extension wasn't triggered on the result of BuildMI because the reference was non-const. However, instead of adding a const, I've removed the reference entirely as RVO should kick in anyway. Reviewers: rovka, bkramer Reviewed By: bkramer Subscribers: aemerson, rengolin, dberris, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D29124 llvm-svn: 293059
-
Artur Pilipenko authored
This is a partial fix for Bug 31520 - [guards] canonicalize guards in instcombine Reviewed By: apilipenko Differential Revision: https://reviews.llvm.org/D29074 Patch by Maxim Kazantsev. llvm-svn: 293058
-
Krzysztof Parzyszek authored
Include errno.h, and use size_t instead of std::size_t, since stddef.h was included (and not cstddef). llvm-svn: 293057
-
Artur Pilipenko authored
This is a partial fix for Bug 31520 - [guards] canonicalize guards in instcombine Reviewed By: majnemer, apilipenko Differential Revision: https://reviews.llvm.org/D29071 Patch by Maxim Kazantsev. llvm-svn: 293056
-
Krasimir Georgiev authored
Summary: This presents a version of the comment reflowing with less mutable state inside the comment breakable token subclasses. The state has been pushed into the driving breakProtrudingToken method. For this, the API of BreakableToken is enriched by the methods getSplitBefore and getLineLengthAfterSplitBefore. Reviewers: klimek Reviewed By: klimek Subscribers: djasper, klimek, mgorny, cfe-commits, ioeric Differential Revision: https://reviews.llvm.org/D28764 llvm-svn: 293055
-
George Rimar authored
These relocations are used in linux kernel. Differential revision: https://reviews.llvm.org/D28094 llvm-svn: 293054
-
Michal Gorny authored
Canonicalize HAVE_LIBZ as well to fix buildbot failures. llvm-svn: 293053
-
Michal Gorny authored
Use the new llvm_canonicalize_cmake_booleans() function to canonicalize booleans for lit tests. Replace the duplicate ENABLE_CLANG* variables used to hold canonicalized values with in-place canonicalization. Use implicit logic in Python code to avoid overrelying on exact 0/1 values. Differential Revision: https://reviews.llvm.org/D28529 llvm-svn: 293052
-
Martin Bohme authored
Summary: This enables the test to run on systems where output cannot be written. Reviewers: compnerd Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D29123 llvm-svn: 293051
-
Anastasia Stulova authored
Prior to OpenCL 2.0, image3d_t can only be used with the write_only access qualifier when the cl_khr_3d_image_writes extension is enabled, see e.g. OpenCL 1.1 s6.8b. Require the extension for write_only image3d_t types and guard uses of write_only image3d_t in the OpenCL header. Patch by Sven van Haastregt! Review: https://reviews.llvm.org/D28860 llvm-svn: 293050
-
Arpith Chacko Jacob authored
The thread_limit-clause on the combined directive applies to the 'teams' region of this construct. We modify the ThreadLimitClause class to capture the clause expression within the 'target' region. Reviewers: ABataev Differential Revision: https://reviews.llvm.org/D29087 llvm-svn: 293049
-
Arpith Chacko Jacob authored
The num_teams-clause on the combined directive applies to the 'teams' region of this construct. We modify the NumTeamsClause class to capture the clause expression within the 'target' region. Reviewers: ABataev Differential Revision: https://reviews.llvm.org/D29085 llvm-svn: 293048
-