- Jun 30, 2021
-
-
Stefan Pintilie authored
Added the option `-altivec-src-compat=[mixed,gcc,xl]`. The default at this time is `mixed`. The default behavior for clang is for all vector compares to return a scalar unless the vectors being compared are vector bool or vector pixel. In that case the compare returns a vector. With the gcc case all vector compares return vectors and in the xl case all vector compares return scalars. This patch does not change the default behavior of clang. This option will be used in future patches to implement behaviour compatibility for the vector bool/pixel types. Reviewed By: bmahjour Differential Revision: https://reviews.llvm.org/D103615
-
Leonard Chan authored
Users can call HwasanThreadList::GetRingBufferSize rather than RingBufferSize to prevent having to do the calculation in RingBufferSize. This will be useful for Fuchsia where we plan to initialize the stack ring buffer separately from the rest of thread initialization. Differential Revision: https://reviews.llvm.org/D104823
-
Fangrui Song authored
llvm-readobj is an internal testing tool for binary formats. Its output and command line options do not need to be stable. It isn't supposed to be part of a build process. llvm-readelf was created as a user-facing utility and its interface intends to be compatible with GNU readelf (unless there are good reasons not to). The two tools have mostly compatible options. -s and -t are noticeable exceptions due to history. I think the cost of keeping the inconsistency overweighs the little history-compatible benefit and hinders transition from cl::opt to OptTable, so let's change it. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D105055
-
Leonard Chan authored
We can reuse the same implementation for getting the current thread on fuchsia. Differential Revision: https://reviews.llvm.org/D104824
-
Fangrui Song authored
-s and -t will be changed to improve consistency with llvm-readelf. The inconsistency issue regularly contributes to confusion using the two tools.
-
Nikita Popov authored
The code was previously relying on the fact that an incorrectly typed global would result in the insertion of a BitCast constant expression. With opaque pointers, this is no longer the case, so we should check the type explicitly.
-
Fangrui Song authored
An ARM64_RELOC_ADDEND relocation reuses the symbol field for the addend value. We should pass through such relocations. Reviewed By: alexander-shaposhnikov Differential Revision: https://reviews.llvm.org/D104967
-
Jacob Hegna authored
-
Nikita Popov authored
Currently, LLParser will create a Function/GlobalVariable forward reference based on the desired pointer type and then modify it when it is declared. With opaque pointers, we generally do not know the correct type to use until we see the declaration. Solve this by creating the forward reference with a dummy type, and then performing a RAUW with the correct Function/GlobalVariable when it is declared. The approach is adopted from https://github.com/TNorthover/llvm-project/commit/b5b55963f62038319fa7a8b1b232226ba1d8ef3c. This results in a change to the use list order, which is why we see test changes on some module passes that are not stable under use list reordering. Differential Revision: https://reviews.llvm.org/D104950
-
Craig Topper authored
[LegalizeTypes][VE] Don't Expand BITREVERSE/BSWAP during type legalization promotion if they will be promoted for NVT in op legalization. We were trying to expand these if they were going to be expanded in op legalization so that we generated the minimum number of operations. We failed to take into account that NVT could be promoted to another legal type in op legalization. Hoping this fixes the issue on the VE target reported as a follow up to D96681. The check line changes were taken from before 1e46b6f4 so this patch does appear to improve some cases that had previously regressed.
-
Jonas Devlieghere authored
When we check whether the Objective-C SPI is available, we need to check for the mangled symbol name. Unlike `objc_copyRealizedClassList`, which is C exported, the `nolock` variant is not. Differential revision: https://reviews.llvm.org/D105136
-
Louis Dionne authored
While we can debate on the value of passing by const value, there is no arguing that it's confusing to do so in some circumstances, such as when marking a pointer parameter as being const (did you mean a pointer-to-const?). This commit fixes a few issues along those lines.
-
Nick Desaulniers authored
Similar to commit bc044a88 ("[Inline] prevent inlining on stack protector mismatch") The noprofile function attribute is meant to prevent compiler instrumentation from being inserted into a function. Inlining may defeat the developer's intent. If the caller and callee don't either BOTH have the attribute or BOTH lack the attribute, suppress inline substitution. This matches behavior being proposed in GCC: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/573511.html https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 Add LangRef entry for noprofile fn attr, similar to text added in D93422 and D104944. Reviewed By: MaskRay, melver, phosek Differential Revision: https://reviews.llvm.org/D104810
-
Melanie Blower authored
[clang][PATCH][nfc] Refactor TargetInfo::adjust to pass DiagnosticsEngine to allow diagnostics on target-unsupported options Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D104729
-
Akira Hatanaka authored
the call already has the operand bundle This bug was causing the call to `replaceAllUsesWith` to crash because the old call instruction and the new call instruction were the same. rdar://74957948 Differential Revision: https://reviews.llvm.org/D97824
-
Alexey Bataev authored
After SLP + LTO we may have have reduction(shuffle V, poison, mask). This can be simplified to just reduction(V) if the mask is only for single vector and just all elements from this vector are permuted, without reusing, replacing with undefs and/or other values, etc. Differential Revision: https://reviews.llvm.org/D105053
-
Michael Kruse authored
Add REQUIRES: shell to the unpack.f90 test that executes a UNIX shell script. -
Raphael Isemann authored
I didn't get around to fix this change and the original commit itself seems fine, so this looks like an existing LLDB/Clang bug that was just uncovered by this change. Skipping while I'm investigating.
-
Craig Topper authored
[RISCV] Protect the SHL/SRA/SRL handlers in LowerOperation against being called for an illegal i32 shift amount. It seems it is possible for DAG combine to create a shl with an i64 result type and an i32 shift amount. This is ok before type legalization since the type don't need to match in SelectionDAG. This results in type legalization calling LowerOperation to legalize just the amount. We weren't expecting this so we asserted for not finding a fixed vector shift. To fix this, I've added a check for the fixed vector case and returned SDValue() to get the default type legalizer. I've factored all shifts together and added a fixed vector specific handler to avoid repeating similar code for each in LowerOperation. The particular case I found was exposed by D104581, but the bad shift is created after that patch triggers.
-
Arthur O'Dwyer authored
Differential Revision: https://reviews.llvm.org/D103160
-
Eugene Zhulenev authored
Depends On D104998 Function calls "transfer ownership" to the callee and it puts additional constraints on the reference counting optimization pass Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D104999
-
Eugene Zhulenev authored
Depends On D104891 Outlining scf.parallel body as a function requires async-parallel-for pass to be a ModuleOp pass Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D104998
-
Eugene Zhulenev authored
[mlir:Async] Remove async operations if it is statically known that the parallel operation has a single compute block Depends On D104850 Add a test that verifies that canonicalization removes all async overheads if it is statically known that the scf.parallel operation will be computed using a single block. Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D104891
-
gbreynoo authored
The option --no-print-imm-hex was not included in the command guide for llvm-objdump but appears in the help text. This commit adds it to the command guide. Differential Revision: https://reviews.llvm.org/D104717
-
gbreynoo authored
llvm-objdump had some missing coverage that is fixed by this change: - A test specifically for --print-imm-hex, and coverage of --no-print-imm-hex - section-headers.test checks the aliases --headers or --section-headers - A test for the use of --private-headers for ELF that checks the output - A test for ELF program headers Differential Revision: https://reviews.llvm.org/D103974
-
- Jun 29, 2021
-
-
Piotr Sobczak authored
Related to D104622. Differential Revision: https://reviews.llvm.org/D105109
-
David Green authored
-
LLVM GN Syncbot authored
-
Louis Dionne authored
The __search helper function was once split into __functional for circular dependency reasons, however this is not an issue anymore now that we have finer grained headers.
-
Eugene Zhulenev authored
Concurrent JIT compilation + PerfJITEventListener triggers tsan error Reviewed By: cota Differential Revision: https://reviews.llvm.org/D104977
-
Florian Hahn authored
Add additional coverage for computing UREM/SREM C, 0.
-
Philip Reames authored
If we unroll a loop in the vectorizer (without vectorizing), and the cost model requires a epilogue be generated for correctness, the code generation must actually do so. The included test case on an unmodified opt will access memory one past the expected bound. As a result, this patch is fixing a latent miscompile. Differential Revision: https://reviews.llvm.org/D103700
-
Pratyush Das authored
If a default template type argument is manually specified to be of the default type, then it is committed when printing the template. Differential revision: https://reviews.llvm.org/D103040
-
Louis Dionne authored
Before this patch, Lit parameters that were set as a result of CMake options were not made available to from-scratch configs. This patch serializes those parameters into the generated lit config file so that they are available to all configs. Differential Revision: https://reviews.llvm.org/D105047
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D105040
-
Jeremy Morse authored
https://lab.llvm.org/buildbot/#/builders/5/builds/9208 (dbg-phis-merging-in-ldv.mir and dbg-phis-with-loops.mir in the asan check stage)
-
Alex Zinenko authored
-
Johannes Doerfert authored
This reverts commit 25073a4e. This breaks non-x86 OpenMP builds for a while now. Until a solution is ready to be upstreamed we revert the feature and unblock those builds. See: https://reviews.llvm.org/rG25073a4ecfc9b2e3cb76776185e63bfdb094cd98#1005821 and https://reviews.llvm.org/rG25073a4ecfc9b2e3cb76776185e63bfdb094cd98#1005821 The currently proposed fix (D104788) seems not to be ready yet: https://reviews.llvm.org/D104788#2841928
-
Johannes Doerfert authored
This reverts commit eab1fd38. This commit fixed a problem with 25073a4e (D103121) which is the one we actually need to revert to unblock non-X86 builds of OpenMP. Can be reapplied, or merged into, D103121 as it goes in again.
-
Johannes Doerfert authored
As we have done with other states we want the AAValueSimplify state to be explicit to use it more easily in our helpers.
-