- Jun 30, 2021
-
-
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.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
There was a TODO but now we actually check if the select condition is assumed constant and only look at the relevant operand.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
While we might eventually want to disallow allocas that do not have the alloca-AS set, it seems undesirable to crash on them. Add a cast when required so that we can support such allocas (at least here). Differential Revision: https://reviews.llvm.org/D104866
-
Balazs Benics authored
It turns out that the CheckerManager::hasPathSensitiveCheckers() missed checking for the BeginFunctionCheckers. It seems like other callbacks are also missing: - ObjCMessageNilCheckers - BeginFunctionCheckers - NewAllocatorCheckers - PointerEscapeCheckers - EndOfTranslationUnitCheckers In this patch, I wanted to use a fold-expression, but until C++17 arrives we are left with the old-school method. When I tried to write a unittest I observed an interesting behavior. I subscribed only to the BeginFunction event, it was not fired. However, when I also defined the PreCall with an empty handler, suddenly both fired. I could add this test demonstrating the issue, but I don't think it would serve much value in a long run. I don't expect regressions for this. However, I think it would be great to enforce the completeness of this list in a runtime check. I could not come up with a solution for this though. PS: Thank you @Szelethus for helping me debugging this. Differential Revision: https://reviews.llvm.org/D105101 Reviewed by: vsavchenko
-
David Sherwood authored
This reverts commit 9dde5141.
-
Dylan Fleming authored
Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D104722
-
Jeremy Morse authored
This patch reads machine value numbers from DBG_PHI instructions (marking where SSA PHIs used to be), and matches them up with DBG_INSTR_REF instructions that refer to them. Essentially they are two separate parts of a DBG_VALUE: the place to read the value (register and program position), and where the variable is assigned that value. Sometimes these DBG_PHIs can be duplicated, usually by tail duplication. This corresponds to the SSA structure of the program being destroyed, and the original PHI being split. When this happens: run LLVMs standard SSAUpdater utility, to work out what values should appear in which blocks. The majority of this patch is boilerplate to make use of SSAUpdater. If there are any additional PHIs on the path between multiple DBG_PHIs and their using DBG_INSTR_REF, their existance is validated, just in case a value gets clobbered along the way (see dbg-phis-with-loops.mir for several examples). Differential Revision: https://reviews.llvm.org/D86814
-
Ben Shi authored
The r1 register should be cleared in prologue of ISR as it is used as constant zero. Reviewed By: dylanmckay Differential Revision: https://reviews.llvm.org/D99467
-
Simon Pilgrim authored
Suggested on D101074 - add a 'icmp sgt i64 %0, -2147483649' comparison that can fold to 'icmp sge i64 %0, -2147483648' on D101074 allowing i32 immediate folding
-
David Sherwood authored
Avoid creating a IRBuilder stack variable with the same name as the class member.
-
Nicolas Vasilache authored
The case where a non-dominating read can be found is captured by slightly generalizing `AliasInfo::wouldCreaateReadAfterWriteInterference`. This simplification will make it easier to implement bufferization across function call. APIs are also simplified were possible. Differential revision: https://reviews.llvm.org/D104845
-