- Nov 17, 2020
-
-
Michael Kruse authored
Silence compiler warnings that suggest to add override qualifiers.
-
Wang, Pengfei authored
-
Lang Hames authored
RegisterEHFrames.cpp needs access to the HAVE_REGISTER_FRAME / HAVE_DEREGISTER_FRAME defines. rdar://71458921
-
Peter Steinfeld authored
According to section 19.4, paragraph 5, the scope of an ac-implied-do variable is the enclosing ac-implied-do. But we were not creating new scopes upon entry to an ac-implied-do. This was causing error messages to be erroneously emitted. I fixed, the code, added a test to array-constr-values.f90, added the test folding15.f90 and corrected the test symbol05.f90. Differential Revision: https://reviews.llvm.org/D91560
-
Yaxun (Sam) Liu authored
Add an option -munsafe-fp-atomics for AMDGPU target. When enabled, clang adds function attribute "amdgpu-unsafe-fp-atomics" to any functions for amdgpu target. This allows amdgpu backend to use unsafe fp atomic instructions in these functions. Differential Revision: https://reviews.llvm.org/D91546
-
CJ Johnson authored
arguments. * Adds 'nonnull' and 'dereferenceable(N)' to 'this' pointer arguments * Gates 'nonnull' on -f(no-)delete-null-pointer-checks * Introduces this-nonnull.cpp and microsoft-abi-this-nullable.cpp tests to explicitly test the behavior of this change * Refactors hundreds of over-constrained clang tests to permit these attributes, where needed * Updates Clang12 patch notes mentioning this change Reviewed-by: rsmith, jdoerfert Differential Revision: https://reviews.llvm.org/D17993
-
Rahul Joshi authored
- Eliminate public function declarations in these tests
-
Philip Reames authored
-
Michael Kruse authored
Declarations in headers should not be in the anonymous namespace. Compilers also warn about the use of <anon namespace>::SimplifyVisitor as a public field in polly::SimplifyPass and polly::SimplifyPrinterPass.
-
Vy Nguyen authored
Differential Revision: https://reviews.llvm.org/D91570
-
Fangrui Song authored
And change DWARF-DL-4 to DWARF-DL-3 since DWARF v3/DWARF v4 have same output and using DWARF-DL-3 makes it clear that the lowest standard having the behavior is version 3.
-
Rahul Joshi authored
- Extend the Symbol interface with `isDeclaration` to identify operations that declare a symbol as opposed to define it. - Extend verification to disallow public declarations as per the discussion in https://llvm.discourse.group/t/rfc-symbol-definition-declaration-x-visibility-checks/2140 - Adopt the new interface for `FuncOp` and fix test and code to not have/create public function declarations. Differential Revision: https://reviews.llvm.org/D91456
-
Lex Augusteijn authored
Some rewriters take more iterations to converge, add a parameter to overwrite the built-in maximum iteration count. Fix PR48073. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D91553
-
Artem Dergachev authored
This reverts commit 10f1ca99. (cherry picked from commit c599fc738a70e482976c6cc0ea31bef561641279)
-
Sjoerd Meijer authored
Disable widening of the IV in LoopFlatten while I investigate an assertion failures. Please note that the pass is also not yet enabled by default.
-
Jessica Paquette authored
When we see ``` xor = G_XOR xor_lhs, -1 select = G_SELECT cc, tval, xor ``` Fold this into ``` select = CSINV tval, xor_lhs, cc ``` Update select-select.mir to reflect the changes. For now, only handle the case where the G_XOR is the false-value for the G_SELECT. It may make more sense to handle the true-value case in post-legalizer lowering. Differential Revision: https://reviews.llvm.org/D90774
-
Felix Berger authored
[clang-tidy] performance-unnecessary-copy-initialization: Check for const reference arguments that are replaced template parameter type. This fixes false positive cases where a non-const reference is passed to a std::function but interpreted as a const reference. Fix the definition of the fake std::function added in the test to match std::function and make the bug reproducible. Reviewed-by: aaron.ballman Differential Revision: https://reviews.llvm.org/D90042
-
Michael Liao authored
- In certain cases, a generic pointer could be assumed as a pointer to the global memory space or other spaces. With a dedicated target hook to query that address space from a given value, infer-address-space pass could infer and propagate that to all its users. Differential Revision: https://reviews.llvm.org/D91121
-
Kazushi (Jam) Marukawa authored
Add lvm/svm intrinsic instructions and a regression test. Change RegisterInfo to specify that VM0/VMP0 are constant and reserved registers. This modifies a vst regression test, so update it. Also add pseudo instructions for VM512 register classes and mechanism to expand them after register allocation. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D91541
-
Jonas Devlieghere authored
Add a parser for JSON crashlogs. The CrashLogParser now defers to either the JSONCrashLogParser or the TextCrashLogParser. It first tries to interpret the input as JSON, and if that fails falling back to the textual parser. Differential revision: https://reviews.llvm.org/D91130
-
Florian Hahn authored
When processing conditional branches, if the condition is an OR of 2 compares and the false successor only has the current block as predecessor, queue both negated conditions for the false successor
-
Philip Reames authored
Split off D91398 at request of reviewer.
-
Louis Dionne authored
Also, enable them whenever we detect that gdb is available. Previously, these tests would basically never run because they relied on a CMake configuration option that defaulted to OFF. Differential Revision: https://reviews.llvm.org/D91434
-
Kostya Kortchinsky authored
The original code to keep track of the minimum and maximum indices of allocated 32-bit primary regions was sketchy at best. `MinRegionIndex` & `MaxRegionIndex` were shared between all size classes, and could (theoretically) have been updated concurrently. This didn't materialize anywhere I could see, but still it's not proper. This changes those min/max indices by making them class specific rather than global: classes are locked when growing, so there is no concurrency there. This also allows to simplify some of the 32-bit release code, that now doesn't have to go through all the regions to get the proper min/max. Iterate and unmap will no longer have access to the global min/max, but they aren't used as much so this is fine. Differential Revision: https://reviews.llvm.org/D91106
-
Sean Silva authored
This replaces the old type decomposition logic that was previously mixed into bufferization, and makes it easily accessible. This also deletes TestFinalizingBufferize, because after we remove the type decomposition, it doesn't do anything that is not already provided by func-bufferize. Differential Revision: https://reviews.llvm.org/D90899
-
Nico Weber authored
`-flavor` is difficult to use through the clang driver since it must be the first argument. clang's `-fuse-ld=foo` looks for `ld64.foo` when targeting darwin, so it's easiest if darwinnew accepts some `ld64.foo`. Let's go with `ld64.lld.darwinnew`, so that `clang -fuse-ld=lld.darwinnew` does the right thing (assuming a symlink with the name `ld64.ld.darwinnew exists in the right place). This is temporary until darwinnew replaces ld64.lld, and it only exists to make testing the new lld port easier.
-
Philip Reames authored
This is a cut down version of 1ec6e1 which was reverted due to a compile time issue. The key changes made from that patch: 1) only infer the flags needed along each path, 2) be careful to preserve order of checks, and 3) avoid computing NW flags at all since we need to prove the stronger property (does not cross 0) in the caller anyways. Assuming this doesn't trip regressions, I'm going to try weakening (1). My end objective is to move flag inference into addrec construction. If I can't weaken (1) without compile time impact, I'll have a problem.
-
Arnold Schwaighofer authored
Create a valid basic block with a terminator before we call InlineFunction. Differential Revision: https://reviews.llvm.org/D91547
-
Florian Hahn authored
-
Sanjay Patel authored
This reverts commit e56103d2. There is a stage2 msan failure blamed on this commit: http://lab.llvm.org:8011/#/builders/74/builds/888/steps/9/logs/stdio
-
Aaron Ballman authored
-
Aaron Ballman authored
Pick up the changes from 41b65f16.
-
Thorsten authored
-
Jonas Devlieghere authored
In f9fb9da3 we fixed spurious warnings caused by aliases to private extern symbols. This patch generalizes that to regular external symbols as well.
-
Amara Emerson authored
The G_ZEXT in these cases seems to actually come from a combine that we do but SelectionDAG doesn't. Looking through it allows us to match "uxtw #2" addressing modes. Differential Revision: https://reviews.llvm.org/D91475
-
Scott Linder authored
The `Range` of an alias/anchor token includes the leading `&` or `*`, but it is skipped while parsing the name. The check for an empty name fails to account for the skipped leading character and so the error is never hit. Fix the off-by-one and add a couple regression tests. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D91462
-
Craig Topper authored
Make sure we can parse and print the user CSR names Differential Revision: https://reviews.llvm.org/D91469
-
Louis Dionne authored
It's been more than 4 years now, so anyone that was defining _LIBCPP_TRIVIAL_PAIR_COPY_CTOR has had ample time to see that error and fix their code.
-
Jameson Nash authored
This reverts commit 105ed27e, and removes the offending line from the tests.
-
Praveen G authored
Add the semantic checks for the OpenMP 4.5 - 2.13.9 Depend clause. 1. List items in depend clause should not be zero length array sections. 2. A variable that is part of another variable like structure component should not be specified on a depend clause. Test cases : omp-depend01.f90, omp-depend02.f90, omp-depend03.f90 Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D89934
-