- Mar 31, 2015
-
-
Daniel Jasper authored
llvm-svn: 233698
-
Samuel Benzaquen authored
Summary: Force braces on the else branch if they are being added to the if branch. This ensures consistency in the transformed code. Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8708 llvm-svn: 233697
-
Krzysztof Parzyszek authored
This time with all files included. llvm-svn: 233696
-
Krzysztof Parzyszek authored
llvm-svn: 233695
-
Krzysztof Parzyszek authored
llvm-svn: 233694
-
Vladimir Sukharev authored
Reviewers: t.p.northover, jmolloy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8502 llvm-svn: 233693
-
Simon Atanasyan authored
No functional changes. llvm-svn: 233692
-
Simon Atanasyan authored
No functional changes. llvm-svn: 233691
-
Ulrich Weigand authored
So far, we do not yet support any instruction specific to zEC12. Most of the facilities added with zEC12 are indeed not very useful to compiler code generation, but there is one exception: the miscellaneous-extensions facility provides the RISBGN instruction, which is a variant of RISBG that does not set the condition code. Add support for this facility, MC support for RISBGN, and CodeGen support for prefering RISBGN over RISBG on zEC12, unless we can actually make use of the condition code set by RISBG. llvm-svn: 233690
-
Ulrich Weigand authored
We already exploit a number of instructions specific to z196, but not yet POPCNT. Add support for the population-count facility, MC support for the POPCNT instruction, CodeGen support for using POPCNT, and implement the getPopcntSupport TargetTransformInfo hook. llvm-svn: 233689
-
Ulrich Weigand authored
This hooks up the TargetTransformInfo machinery for SystemZ, and provides an implementation of getIntImmCost. In addition, the patch adds the isLegalICmpImmediate and isLegalAddImmediate TargetLowering overrides, and updates a couple of test cases where we now generate slightly better code. llvm-svn: 233688
-
Timur Iskhodzhanov authored
Reviewed at http://reviews.llvm.org/D8666 llvm-svn: 233687
-
Rafael Espindola authored
Fixes pr22995. llvm-svn: 233686
-
Mohit K. Bhakkad authored
Patch by Sagar Thakur Reviewers: clayborg, tberghammer. Subscribers: jaydeep, bhushan, mohit.bhakkad, llvm-commits. Differential Revision: http://reviews.llvm.org/D8695 llvm-svn: 233685
-
Ulrich Weigand authored
As was done for X86 in r206094. llvm-svn: 233684
-
Tamas Berghammer authored
A char can have signed and unsigned encoding but previously lldb always assumed it is signed. This CL adds a logic to detect the encoding of 'char' types based on the default encoding on the target architecture. It fixes variable printing and expression evaluation on architectures where 'char' is signed by default. Differential revision: http://reviews.llvm.org/D8636 llvm-svn: 233682
-
James Molloy authored
it more liberally. SplitVecOp_TRUNCATE has logic for recursively splitting oversize vectors that need more than one round of splitting to become legal. There are many other ISD nodes that could benefit from this logic, so factor it out and use it for FP_TO_UINT,FP_TO_SINT,SINT_TO_FP,UINT_TO_FP and FTRUNC. llvm-svn: 233681
-
Tamas Berghammer authored
llvm-svn: 233680
-
Tamas Berghammer authored
Affected paths: * Plugins/Platform/Android/* * Plugins/Platform/Linux/* * Plugins/Platform/gdb-server/* * Plugins/Process/Linux/* * Plugins/Process/gdb-remote/* Differential revision: http://reviews.llvm.org/D8654 llvm-svn: 233679
-
Tamas Berghammer authored
char is a special type in C++ which can be signed/unsigned and have to be distinguished both from "signed char" and from "unsigned char". This test check for this behaviour during the expression evaluation with different compiler settings. Differential revision: http://reviews.llvm.org/D8657 llvm-svn: 233678
-
Daniel Jasper authored
non-standard test runners. llvm-svn: 233677
-
Ed Schouten authored
The unwinder now works on CloudABI. All exception-related libc++ tests now pass. This change was actually part of D8169, which also adds support for FreeBSD. That, however, still requires some more polishing. llvm-svn: 233676
-
Tobias Grosser authored
We now generate tile loops as: for (int c1 = 0; c1 <= 47; c1 += 1) for (int c2 = 0; c2 <= 47; c2 += 1) for (int c3 = 0; c3 <= 31; c3 += 1) for (int c4 = 0; c4 <= 31; c4 += 4) #pragma simd for (int c5 = c4; c5 <= c4 + 3; c5 += 1) Stmt_for_body3(32 * c1 + c3, 32 * c2 + c5); instead of for (int c1 = 0; c1 <= 1535; c1 += 32) for (int c2 = 0; c2 <= 1535; c2 += 32) for (int c3 = 0; c3 <= 31; c3 += 1) for (int c4 = 0; c4 <= 31; c4 += 4) #pragma simd for (int c5 = c4; c5 <= c4 + 3; c5 += 1) Stmt_for_body3(c1 + c3, c2 + c5); Run-time performance-wise this makes little difference, but this gives a large reduction in compile time (10-30% on 17 LNT benchmarks). Apparently the isl AST generator is not yet very efficient in generating the latter. llvm-svn: 233675 -
Craig Topper authored
[X86] Stop changing result of getHostCPUName based on whether the processor supports AVX. getHostCPUFeatures should be used instead to determine whether to support AVX. llvm-svn: 233674
-
Craig Topper authored
This is necessary for x86 where not all Sandybridge, Ivybrige, Haswell, and Broadwell CPUs support AVX. Currently we modify the CPU name back to Nehalem for this case, but that turns off additional features for these CPUs. llvm-svn: 233673
-
Craig Topper authored
This is necessary because not aall Sandybridge, Ivybrige, Haswell, and Broadwell CPUs support AVX. Currently we modify the CPU name back to Nehalem for this case, but that turns off additional features for these CPUs. llvm-svn: 233672
-
Craig Topper authored
[X86] Be more robust against unknown Intel family 6 models. Use feature flags to guess what it might be. llvm-svn: 233671
-
Chaoren Lin authored
Summary: There is an extra eStateConnected before eStateRunning with remote. Reviewers: clayborg, ovyalov Reviewed By: clayborg, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8714 llvm-svn: 233670
-
Eric Fiselier authored
Summary: This patch adds configuration to CMake and LIT for running the libc++ test-suite to generate code coverage. To use code coverage use following instructions. * Find the clang resource dir using `$CXX -print-search-dirs`. Let <library-dir> be the first library search directory. * `cmake <regular-options> -DLIBCXX_GENERATE_COVERAGE=ON -DLIBCXX_COVERAGE_LIBRARY=<library-dir>/lib/<platform>/libclang_rt.profile.a <source>` * `make cxx` * `make check-libcxx` * `make generate-libcxx-coverage` The reason I want this patch upstreamed is so I can setup a bot that generates code coverage and posts in online for every revision. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Differential Revision: http://reviews.llvm.org/D8716 llvm-svn: 233669
-
Ahmed Bougacha authored
We used to miss non-Q YMM integer vectors, and, non-Q/D XMM integer vectors. While there, change the v4i32 patterns to prefer MOVNTDQ. llvm-svn: 233668
-
Duncan P. N. Exon Smith authored
Unify the error messages for the various tools when `verifyModule()` fails on an input module. The "brave new way" is: lltool: path/to/input.ll: error: input module is broken! llvm-svn: 233667 -
Alexei Starovoitov authored
loading immediate into register is cheap, so take advantage of remat. llvm-svn: 233666
-
Duncan P. N. Exon Smith authored
We'll no longer crash in the `verifyTypeRefs()` (used to be called `verifyDebugInfo()`), so there's no reason to return early here. Remove the `EverBroken` member since this was the only use! llvm-svn: 233665
-
Duncan P. N. Exon Smith authored
`verifyDebugInfo()` was doing two things: - Asserting on unresolved type references. - Calling `Verify()` functions for various types of debug info. The `Verify()` functions have been gutted, so rename the function to `verifyTypeRefs()` and explicitly check those. Instead of assertions, we get nice error messages now. llvm-svn: 233664
-
Duncan P. N. Exon Smith authored
Move over the remaining (somewhat complicated) check from `DISubprogram::Verify()`. I suspect this check could be optimized -- e.g., it would be nice not to do another full traversal here -- but it's not exactly obvious how. For now, just bring it over as is. Once we have a better model for the "canonical" subprogram of a `Function`, we should enforce that all `!dbg` attachments lead to the canonical one. llvm-svn: 233663
-
Duncan P. N. Exon Smith authored
Simplify implementation of `llvm::getDISubprogram()`. I might go through and see how difficult it is to update the users, since this function doesn't really seem necessary anymore. llvm-svn: 233662
-
Duncan P. N. Exon Smith authored
The copies of these in `lib/IR/DebugInfo.cpp` are apparently [1] only used in assertions now, so hide them behind `#ifndef NDEBUG`. [1]: http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/9238 llvm-svn: 233661
-
Duncan P. N. Exon Smith authored
Remove the helper macros `RETURN_FROM_RAW()`, `RETURN_DESCRIPTOR_FROM_RAW()`, and `RETURN_REF_FROM_RAW()`, since they don't do anything too special anymore. This loses an `assert(get())`, but I'm hoping any crashes were shaken out when r232844 landed a few weeks ago. llvm-svn: 233660
-
Eric Fiselier authored
llvm-svn: 233659
-
Duncan P. N. Exon Smith authored
Move over checks of `&` and `&&` flags. llvm-svn: 233658
-