- Aug 28, 2020
-
-
Valentin Clement authored
The tile clause in OpenACC 3.0 imposes some restriction. Element in the tile size list are either * or a constant positive integer expression. If there are n tile sizes in the list, the loop construct must be immediately followed by n tightly-nested loops. This patch implement these restrictions and add some tests. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D86655
-
Kai Luo authored
When collecting `i1` values via `findAllDefs`, ignore Constant's operands, since Constant's operands might not be `i1`. Fixes https://bugs.llvm.org/show_bug.cgi?id=46923 which causes ICE ``` llvm-project/llvm/lib/IR/Constants.cpp:1924: static llvm::Constant *llvm::ConstantExpr::getZExt(llvm::Constant *, llvm::Type *, bool): Assertion `C->getType()->getScalarSizeInBits() < Ty->getScalarSizeInBits()&& "SrcTy must be smaller than DestTy for ZExt!"' failed. ``` Differential Revision: https://reviews.llvm.org/D85007
-
Alina Sbirlea authored
-
Harmen Stoppels authored
The introduction of find_library for ncurses caused more issues than it solved problems. The current open issue is it makes the static build of LLVM fail. It is better to revert for now, and get back to it later. Revert "[CMake] Fix an issue where get_system_libname creates an empty regex capture on windows" This reverts commit 1ed1e16a. Revert "Fix msan build" This reverts commit 34fe9613. Revert "[CMake] Always mark terminfo as unavailable on Windows" This reverts commit 76bf2623. Revert "[CMake] Fix OCaml build failure because of absolute path in system libs" This reverts commit 8e4acb82. Revert "[CMake] Don't look for terminfo libs when LLVM_ENABLE_TERMINFO=OFF" This reverts commit 495f91fd. Revert "Use find_library for ncurses" This reverts commit a52173a3. Differential revision: https://reviews.llvm.org/D86521
-
Jez Ng authored
Since it's always true Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86749
-
Jez Ng authored
Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86746
-
Jez Ng authored
Found such a relocation while testing some real world programs. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86642
-
Jez Ng authored
We can have GOT_LOAD relocations that reference `__dso_handle`. However, our binding opcode encoder doesn't support binding to the DSOHandle symbol. Instead of adding support for that, I decided it would be cleaner to implement GOT_LOAD relaxation since `__dso_handle`'s location is always statically known. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86641
-
Jez Ng authored
These opcodes tell dyld to coalesce the overridden weak dysyms to this particular symbol definition. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86575
-
Jez Ng authored
Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86574
-
Jez Ng authored
Since there is no "weak lazy" lookup, function calls to weak symbols are always non-lazily bound. We emit both regular non-lazy bindings as well as weak bindings, in order that the weak bindings may overwrite the non-lazy bindings if an appropriate symbol is found at runtime. However, the bound addresses will still be written (non-lazily) into the LazyPointerSection. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D86573
-
Jonas Devlieghere authored
Fixes error: no matching constructor for initialization of 'std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >' with older toolchain (clang/libcxx) on Ubuntu 16.04. The issue is the StringRef-to-std::string conversion.
-
Nathan James authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
I mis-resolved the revert through moving the code to another function.
-
Matt Arsenault authored
This reverts commit e53b7997. Confusingly, this does not simply and the two sets of known bits, but implements known bits for the and operator.
-
Dokyung Song authored
The CrossOver mutator is meant to cross over two given buffers (referred to as the first/second buffer henceforth). Previously InsertPartOf/CopyPartOf calls used in the CrossOver mutator incorrectly inserted/copied part of the second buffer into a "scratch buffer" (MutateInPlaceHere of the size CurrentMaxMutationLen), rather than the first buffer. This is not intended behavior, because the scratch buffer does not always (i) contain the content of the first buffer, and (ii) have the same size as the first buffer; CurrentMaxMutationLen is typically a lot larger than the size of the first buffer. This patch fixes the issue by using the first buffer instead of the scratch buffer in InsertPartOf/CopyPartOf calls. A FuzzBench experiment was run to make sure that this change does not inadvertently degrade the performance. The performance is largely the same; more details can be found at: https://storage.googleapis.com/fuzzer-test-suite-public/fixcrossover-report/index.html This patch also adds two new tests, namely "cross_over_insert" and "cross_over_copy", which specifically target InsertPartOf and CopyPartOf, respectively. - cross_over_insert.test checks if the fuzzer can use InsertPartOf to trigger the crash. - cross_over_copy.test checks if the fuzzer can use CopyPartOf to trigger the crash. These newly added tests were designed to pass with the current patch, but not without the it (with 790878f2 these tests do not pass). To achieve this, -max_len was intentionally given a high value. Without this patch, InsertPartOf/CopyPartOf will generate larger inputs, possibly with unpredictable data in it, thereby failing to trigger the crash. The test pass condition for these new tests is narrowed down by (i) limiting mutation depth to 1 (i.e., a single CrossOver mutation should be able to trigger the crash) and (ii) checking whether the mutation sequence of "CrossOver-" leads to the crash. Also note that these newly added tests and an existing test (cross_over.test) all use "-reduce_inputs=0" flags to prevent reducing inputs; it's easier to force the fuzzer to keep original input string this way than tweaking cov-instrumented basic blocks in the source code of the fuzzer executable. Differential Revision: https://reviews.llvm.org/D85554
-
Vitaly Buka authored
Now findAllocaForValue can handle nontrivial phi cycles.
-
Cullen Rhodes authored
Test CodeGen/attr-arm-sve-vector-bits-call.c is failing on some builders [1][2]. Reverting whilst I investigate. [1] http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/10375 [2] https://luci-milo.appspot.com/p/fuchsia/builders/ci/clang-linux-x64/b8870800848452818112 This reverts commit 42587345.
-
Brad Smith authored
Patch by: Philip Guenther
-
Alexey Bataev authored
region. If the global variable is used in the target region,it is always captured, if not marked as declare target.
-
Azharuddin Mohammed authored
For macOS, the code says, the XRay flag is only supported on x86_64. Updating the test and making that check explicit. Differential Revision: https://reviews.llvm.org/D85773
-
Shinji Okumura authored
Even if noundef is deduced for a position, we should not manifest it when the position is dead. This is because the associated values with dead positions are replaced with undef values by AAIsDead. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D86565
-
Saiyedul Islam authored
Removed version 45 testing from a failing test for now.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
It's possible to have a single virtual register def with a subreg index that would pass the previous check, but it's not possible to have a subregister def in SSA. This is in preparation for adding stricter checks for SSA MIR.
-
Vitaly Buka authored
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D86672
-
Vitaly Buka authored
For StackLifetime after finding alloca we need to check that values ponting to the begining of alloca. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D86692
-
Matt Arsenault authored
Intrinsic declarations use the default subtarget, but this should be using the subtarget for the calling function. I haven't been able to come up with a case where it matters though.
-
Matt Arsenault authored
Also make up a new category of combines.
-
Krzysztof Parzyszek authored
-
Eli Friedman authored
-
Shinji Okumura authored
If an AA is registered to the dependency graph in the manifest stage, Attributor aborts in `::manifestAttributes()`. This patch prevents such termination. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D86734
-
Craig Topper authored
[CodeGen] Use an AttrBuilder to bulk remove 'target-cpu', 'target-features', and 'tune-cpu' before re-adding in CodeGenModule::setNonAliasAttributes. I think the removeAttributes interface should be faster than calling removeAttribute 3 times.
-
Saiyedul Islam authored
This third patch in the series removes version 5.0 string from test cases making them check for default version. It also add test cases for version 4.5. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D85214
-
Roman Lebedev authored
As pointed out in post-commit review, this can legally be called on instructions that are not inserted into basic blocks, so don't blindly assume that there is basic block.
-
Christopher Tetreault authored
Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D86727
-