- Oct 12, 2017
-
-
Craig Topper authored
[SelectionDAG] Simplify the ISD::SIGN_EXTEND/ZERO_EXTEND handling to use less temporary APInts by counting bits instead. NFCI llvm-svn: 315628
-
Zachary Turner authored
This paves the way for other projects which might /use/ clang or lld but not necessarily need to the full set of functionality available to clang and lld tests to be able to have a basic set of substitutions that allow a project to run the clang or lld executables. llvm-svn: 315627
-
Shoaib Meenai authored
llvm-svn: 315626
-
Rui Ueyama authored
llvm-svn: 315625
-
Artem Belevich authored
Differential Revision: https://reviews.llvm.org/D38742 llvm-svn: 315624
-
Artur Pilipenko authored
llvm-svn: 315623
-
Roman Lebedev authored
Stage-2 builds failed: error: 'warning' diagnostics expected but not seen: File /home/buildbot/modules-slave-2/clang-x86_64-linux-selfhost-modules-2/llvm.src/tools/clang/test/Analysis/null-deref-ps.c Line 238: always true llvm-svn: 315622
-
Davide Italiano authored
llvm-svn: 315621
-
Michal Gorny authored
Remove the redundant dependency on 'gtest' target from the dynamic tests in non-MSVC environment. The tests reuse compiled objects from ASAN_INST_TEST_OBJECTS, and therefore they have been built against gtest already. This both fixes the spurious dependency on 'gtest' target that breaks stand-alone builds, and brings the dynamic tests more in line with regular tests which do not pass this dependency to add_compiler_rt_test() through generate_compiler_rt_tests(). Differential Revision: https://reviews.llvm.org/D38840 llvm-svn: 315620
-
Eli Friedman authored
The comparator passed to std::sort must provide a strict weak ordering; otherwise, the behavior is undefined. Fixes an assertion failure generating debug info for globals split by GlobalOpt. I have a testcase, but not sure how to reduce it, so not included here. (Someone else came up with a testcase, but I can't reproduce the crash with it, presumably because my version of LLVM ends up sorting the array differently.) This isn't really a complete fix (see the FIXME in the patch), but at least it doesn't have undefined behavior. Differential Revision: https://reviews.llvm.org/D38830 llvm-svn: 315619
-
Bruno Cardoso Lopes authored
This reverts commit r315593: still affect two bots: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/5308 http://green.lab.llvm.org/green/job/clang-stage2-configure-Rlto/21751/ llvm-svn: 315618
-
Rui Ueyama authored
This patch merges computeAddend and computeMipsAddend. Getting an addend for a relocation is usually pretty easy: it is either in the r_addend field (if RELA) or in a target section (if REL). However, MIPS has many special rules that are different from other ELF ABIs. I don't think there were technical reasons to be different, but the reality is that they are different. It is unfortunate that we had to pass many parameters to computeAddend, but it seems unavoidable because of MIPS. llvm-svn: 315617
-
Artur Pilipenko authored
This is a follow up for the loop predication change 313981 to support ule, sle latch predicates. Reviewed By: mkazantsev Differential Revision: https://reviews.llvm.org/D38177 llvm-svn: 315616
-
Roman Lebedev authored
Yes, did not check that. Need to do better :( I do not believe it makes sense to do expect that warning here. llvm-svn: 315615
-
Roman Lebedev authored
Summary: Currently, clang only diagnoses completely out-of-range comparisons (e.g. `char` and constant `300`), and comparisons of unsigned and `0`. But gcc also does diagnose the comparisons with the `std::numeric_limits<>::max()` / `std::numeric_limits<>::min()` so to speak Finally Fixes https://bugs.llvm.org/show_bug.cgi?id=34147 Continuation of https://reviews.llvm.org/D37565 Reviewers: rjmccall, rsmith, aaron.ballman Reviewed By: rsmith Subscribers: rtrieu, jroelofs, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D38101 llvm-svn: 315614
-
Craig Topper authored
llvm-svn: 315613
-
Rui Ueyama authored
This is an attempt to make lld's relocation handler code understandable. Since I don't fully understand what exactly this function does for all possible cases (I believe no one can), I'm not really sure if this patch is NFC, but at least no functionality change intended. All tests still pass. llvm-svn: 315612
-
Alexey Bataev authored
reduction. If the reduction is an array or an array section and reduction operation is declare reduction without initializer, it may lead to crash. llvm-svn: 315611
-
Wei Ding authored
Differential Revision: http://reviews.llvm.org/D37348 llvm-svn: 315610
-
Rui Ueyama authored
Because it was a redundant accessor to Symbol's public member. llvm-svn: 315609
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D38747 llvm-svn: 315608
-
Craig Topper authored
Reviewers: RKSimon, zvi, igorb Reviewed By: RKSimon Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D38781 llvm-svn: 315607
-
Craig Topper authored
We were missing most of the "core" aliases as well as skylake, cannonlake, and knights landing. llvm-svn: 315606
-
Michal Gorny authored
Fix the gtest dependency to be included in DEPS only, rather than in COMPILE_DEPS + DEPS. The former variable is apparently used to provide unconditional dependencies, while the latter are only used for non-standalone builds. Since they are concatenated, specifying gtest in both is redundant. Furthermore, including it in COMPILE_DEPS causes build failure for standalone builds where 'gtest' target is not present. Differential Revision: https://reviews.llvm.org/D38839 llvm-svn: 315605
-
Michal Gorny authored
Fix typo in variable assignment inside sanitizer_test_compile() that resulted in TEST_DEPS parameter not being included in the clang_compile() call. Spotted by George Karpenkov in D38444. Differential Revision: https://reviews.llvm.org/D38838 llvm-svn: 315604
-
Matt Morehouse authored
Reviewers: kcc, bogner Reviewed By: kcc Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D38853 llvm-svn: 315603
-
Evgeniy Stepanov authored
llvm-svn: 315602
-
Artem Belevich authored
WMMA = "Warp Level Matrix Multiply-Accumulate". These are the new instructions introduced in PTX6.0 and available on sm_70 GPUs. Differential Revision: https://reviews.llvm.org/D38645 llvm-svn: 315601
-
Reid Kleckner authored
Attempt 3 to work around bugs in FPO data with funclets. llvm-svn: 315600
-
Justin Bogner authored
Building with BUILD_SHARED_LIBS makes it tricky to copy around executables at will, since they won't be able to find the LLVM libraries any more. This makes testing a feature that's based on the executable name problematic, so we'll just disable these two tests in that configuration. We could potentially fix this by symlinking the lib directory into the test directory, but that wouldn't work on windows, and losing testing on windows would be far worse than losing testing on a configuration that's barely even supported. llvm-svn: 315599
-
Artem Belevich authored
Differential Revision: https://reviews.llvm.org/D38633 llvm-svn: 315598
-
Hans Wennborg authored
In r315079 I added a check for the ERROR_CALL_NOT_IMPLEMENTED error code, but it turns out earlier versions of Wine just returned false without setting any error code. This patch handles the unset error code case. llvm-svn: 315597
-
Konstantin Zhuravlyov authored
llvm-svn: 315596
-
Sanjay Patel authored
Poison allows us to return a better result than undef. llvm-svn: 315595
-
Craig Topper authored
[X86] Use -ffreestanding instead of using the mm_malloc.h include guard hack on more of the builtin tests. llvm-svn: 315594
-
Bruno Cardoso Lopes authored
This is r315288 & r315294, which were reverted due to stage2 bot failures. Summary: This updates the SCCP solver to use of the ValueElement lattice for parameters, which provides integer range information. The range information is used to remove unneeded icmp instructions. For the following function, f() can be optimized to `ret i32 2` with this change source_filename = "sccp.c" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" ; Function Attrs: norecurse nounwind readnone uwtable define i32 @main() local_unnamed_addr #0 { entry: %call = tail call fastcc i32 @f(i32 1) %call1 = tail call fastcc i32 @f(i32 47) %add3 = add nsw i32 %call, %call1 ret i32 %add3 } ; Function Attrs: noinline norecurse nounwind readnone uwtable define internal fastcc i32 @f(i32 %x) unnamed_addr #1 { entry: %c1 = icmp sle i32 %x, 100 %cmp = icmp sgt i32 %x, 300 %. = select i1 %cmp, i32 1, i32 2 ret i32 %. } attributes #1 = { noinline } Reviewers: davide, sanjoy, efriedma, dberlin Reviewed By: davide, dberlin Subscribers: mcrosier, gberry, mssimpso, dberlin, llvm-commits Differential Revision: https://reviews.llvm.org/D36656 llvm-svn: 315593
-
Lei Huang authored
Add profitability checks for modifying counted loops to use the mtctr instruction. The latency of mtctr is only justified if there are more than 4 comparisons that will be removed as a result. Usually counted loops are formed relatively early and before unrolling, so most low trip count loops often don't survive. However we want to ensure that if they do, we do not mistakenly update them to mtctr loops. Use CodeMetrics to ensure we are only doing this for small loops with small trip counts. Differential Revision: https://reviews.llvm.org/D38212 llvm-svn: 315592
-
Tim Renouf authored
Summary: The interpolation mode workaround ensures that at least one interpolation mode is enabled in PSInputAddr. It does not also check PSInputEna on the basis that the user might enable bits in that depending on run-time state. However, for amdpal os type, the user does not enable some bits after compilation based on run-time states; the register values being generated here are the final ones set in the hardware. Therefore, apply the workaround to PSInputAddr and PSInputEnable together. (The case where a bit is set in PSInputAddr but not in PSInputEnable is where the frontend set up an input arg for a particular interpolation mode, but nothing uses that input arg. Really we should have an earlier pass that removes such an arg.) Reviewers: arsenm, nhaehnle, dstuttard Subscribers: kzhuravl, wdng, yaxunl, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D37758 llvm-svn: 315591
-
Don Hinton authored
Summary: Add LLVM_FORCE_ENABLE_DUMP cmake option, and use it along with LLVM_ENABLE_ASSERTIONS to set LLVM_ENABLE_DUMP. Remove NDEBUG and only use LLVM_ENABLE_DUMP to enable dump methods. Move definition of LLVM_ENABLE_DUMP from config.h to llvm-config.h so it'll be picked up by public headers. Differential Revision: https://reviews.llvm.org/D38406 llvm-svn: 315590
-
Sanjay Patel authored
This is a follow-up suggested in D37534. Patch by Yulia Koval. llvm-svn: 315589
-