- May 05, 2023
-
-
Amir Ayupov authored
Dumping jump table and tail call fdata is covered by subsequent iteration over successors. Reviewed By: #bolt, maksfb Differential Revision: https://reviews.llvm.org/D149799
-
Peiming Liu authored
Reviewed By: aartbik, vzakhari Differential Revision: https://reviews.llvm.org/D149874
-
Mark de Wever authored
During the ISO C++ Committee meeting plenary session the C++23 Standard has been voted as technical complete. This updates the reference to c++2b to c++23 and updates the __cplusplus macro. Drive-by fixes c++1z -> c++17 and c++2a -> c++20 when seen. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D149553
-
David Stone authored
Sema.h is huge. This makes a small reduction to it by moving EnterExpressionEvaluationContext into a new header, since it is an independent component. Differential Revision: https://reviews.llvm.org/D149796
-
Alexey Lapshin authored
This addresses the issue found by: https://lab.llvm.org/buildbot#builders/178/builds/4571
-
Alexey Bataev authored
insts. If the vectorizable GEP node is built, which should not be scheduled, and at least one node is a non-gep instruction, need to insert the vectorized instructions before the last instruction in the list, not before the first one, otherwise the instructions may be emitted in the wrong order.
-
Fangrui Song authored
The AOK_SizeDirective part from 5b37c181 (2014-08) seems unneeded nowadays (the root cause has likely been fixed elsewhere). The part abuses that `call dword ptr foo` assembles the same way as `call foo` in Intel syntax, which is going to be fixed (changed) by D149579. The generated object files for CodeGen/ms-inline-asm{,-functions,-variables,-static-variable}.c and CodeGenCXX/ms-inline-asm-fields.cpp are unchanged (-mno-incremental-linker-compatible) with just this patch. When D149579 is subsequently applied, the FIXME part of `kptr` in CodeGen/ms-inline-asm-functions.c will be fixed. Differential Revision: https://reviews.llvm.org/D149695
-
Teresa Johnson authored
This reverts commit bfe72059, and follow on fix e3e6bc69, due to some remaining instability exposed by the bot enabling expensive checks: https://lab.llvm.org/buildbot/#/builders/42/builds/9842
-
Valentin Clement authored
Add support to lower data exit operations and use it for the copyout, detach and delete clause on the `!$acc exit data` construct. This patch refactor the data entry op creation so most part of the code can be shared with the data exit op. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D149601
-
Mehdi Amini authored
-
Nikolas Klauser authored
All the used OpenMP pragmas are available with OpenMP 4.0, so they can all share a single conditional block. Reviewed By: ldionne, #libc Spies: yaxunl, sstefan1, guansong, jplehr, libcxx-commits, sunshaoce Differential Revision: https://reviews.llvm.org/D149603
-
Fangrui Song authored
The asm in a naked function may reasonably expect the argument registers and the return address register (if present) to be live. When using -pg and -finstrument-functions, functions are instrumented by adding a function call to `_mcount/__cyg_profile_func_enter/__cyg_profile_func_enter_bare`/etc, which will clobber these registers. If the return address register is clobbered, the function will be unable to return to the caller, possibly causing an infinite loop. ``` __attribute__((naked)) void g() { #if defined(__arm__) __asm__("bx lr"); #else __asm__("ret"); #endif } int main() { g(); } ``` It seems that the only one reasonable way to handle the combination is to disable instrumenting for naked functions. GCC PR: https://gcc.gnu.org/PR109707 Close https://github.com/llvm/llvm-project/issues/62504 Reviewed By: hans Differential Revision: https://reviews.llvm.org/D149721 -
Slava Zakharin authored
hlfir.assign, in general, ends up calling the Assign runtime that asserts that the types of LHS and RHS match. In case of implicit logical<->integer conversions (allowed as an extension) the operands of hlfir.assign have non-matching types. This change makes sure that the lowering produces explicit type cast (either as a scalar fir.convert or as a hlfir.elemental producing array expression). Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D149765
-
Peiming Liu authored
This addressed some unresolved comments in https://reviews.llvm.org/D142930 Reviewed By: aartbik, wrengr Differential Revision: https://reviews.llvm.org/D148565
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: sstefan1, jplehr, libcxx-commits, miyuki Differential Revision: https://reviews.llvm.org/D149787
-
- May 04, 2023
-
-
Akash Banerjee authored
This patch migrates the MapCombinedInfoTy from Clang codegen to OpenMPIRBuilder. Differential Revision: https://reviews.llvm.org/D149666
-
Florian Hahn authored
Fix a leak introduced in b85a402d and flagged by LSan https://lab.llvm.org/buildbot#builders/5/builds/33452
-
Joseph Huber authored
Now that a large amount of GPU tests can be run in parallel, we should document spurious failures. It is a well-known issue that launching many GPU applications in parallel can lead to various problems, the worst of which being an indefinite hang. Differential Revision: https://reviews.llvm.org/D149857
-
Siyuan Zhu authored
Partially `fix` https://github.com/llvm/llvm-project/issues/62441. Extend isImpliedCondOperands() to handle ugt/uge and sgt/sge predicates. alive2 proof: https://alive2.llvm.org/ce/z/jLFDAv and https://alive2.llvm.org/ce/z/Z8idUd Differential Revision: https://reviews.llvm.org/D149510
-
Siyuan Zhu authored
ugt/uge/sgt/sge test for the extension to isImpliedCondOperands case from issue 62441 and 61393: (X >> Z) <=(u) Y ==> X <=(to u) Y and (X > Y +_{nuw} 1) ==> X != Y Differential Revision: https://reviews.llvm.org/D149512 -
Alvin Wong authored
Depends on D149002 Differential Revision: https://reviews.llvm.org/D149346
-
Alvin Wong authored
Add a callback from interception to allow asan on Windows to produce better error messages. If an unrecoverable error occured when intercepting functions, print a message before terminating. Additionally, when encountering unknown instructions, a more helpful message containing the address and the bytes of the unknown instruction is now printed to help identify the issue and make it easier to propose a fix. Depends on D149549 Differential Revision: https://reviews.llvm.org/D149002
-
Alvin Wong authored
Do not treat unknown instructions as a fatal error. In most cases, failure to intercept a function is reported by the caller, though requires setting verbosity to 1 or higher to be visible. Better error message reporting for asan will be added in a separate patch. Differential Revision: https://reviews.llvm.org/D149549
-
Alvin Wong authored
The i686-w64-windows-gnu target does not use SEH (which MSVC uses), but DWARF-2 exception handling or possibly sjlj depending on the toolchain build options. On this target we have to actually intercept functions in libc++ and libunwind which handles throwing exceptions. This fixes the `TestCases/intercept-rethrow-exception.cpp` test. The x86_64-w64-windows-gnu target already works because it uses SEH which is handled by intercepting RaiseException, so this change does not affect x86_64. Depends on https://reviews.llvm.org/D148990 Differential Revision: https://reviews.llvm.org/D148991
-
Alvin Wong authored
These assembly patterns are needed to intercept some libc++ and libunwind functions built by Clang for i686-w64-windows-gnu target. Differential Revision: https://reviews.llvm.org/D148990
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D149696
-
Teresa Johnson authored
Follow up to bfe72059 to require asserts which is needed for the use of -stats. This showed up in the following bot failure: https://lab.llvm.org/buildbot/#/builders/91/builds/16760
-
Yeting Kuo authored
The patch makes visitFSUBForFMACombine serve vp.fsub too. It helps DAGCombiner to fuse vp.fsub and vp.fmul patterns to vp.fma. Reviewed By: luke Differential Revision: https://reviews.llvm.org/D149821
-
Aaron Ballman authored
This also fixes a missing close li tag as a drive-by
-
Joseph Huber authored
The previous patches added the necessary support for global constructors used to register tests. This patch enables the NVPTX target to build and run the unit tests on the GPU. Currently this only tests the ctype tests, but adding more should be straightforward from here on. This ran all the ctest unit tests when run on an sm_70. Depends on D149517 D149527 Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D149532
-
Eric Kilmer authored
This is a follow-up to D147153 and addresses CMake warnings about not finding LibEdit find module when another project uses LLVM as a dependency. Fixes https://github.com/llvm/llvm-project/issues/62300 Reviewed By: Dinistro Differential Revision: https://reviews.llvm.org/D148993
-
Teresa Johnson authored
This reverts commit 6fbf0229, restoring commit bf6ff4fd with a fix for a bot failure due to a previously unstable iteration order. Differential Revision: https://reviews.llvm.org/D141077
-
Martin Braenne authored
`QualType::getNonReferenceType()` does the same thing. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D149744
-
Luo, Yuanke authored
The `Iteration` value may be -1 which would cause incorrect loop count when pass the value to buildSqrtNROneConst or buildSqrtNRTwoConst.
-
Evgenii Kudriashov authored
Addresses https://github.com/llvm/llvm-project/issues/53353 Reviewed By: RKSimon, pengfei Differential Revision: https://reviews.llvm.org/D145634
-
Evgenii Kudriashov authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D149114
-
Florian Hahn authored
This patch adds a new preheader block the VPlan to place SCEV expansions expansions like the trip count. This preheader block is disconnected at the moment, as the bypass blocks of the skeleton are not yet modeled in VPlan. The preheader block is executed before skeleton creation, so the SCEV expansion results can be used during skeleton creation. At the moment, the trip count expression and induction steps are expanded in the new preheader. The remainder of SCEV expansions will be moved gradually in the future. D147965 will update skeleton creation to use the steps expanded in the pre-header to fix #58811. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D147964
-
Jon Chesterfield authored
Reduces line noise and localises changes needed for volta Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D149845
-
Théo Degioanni authored
This patch implements the mem2reg interfaces for MemRef types. This only supports scalar memrefs of a small list of types. It would be beneficial to create more interfaces for default values before expanding support to more types. Additionally, I am working on an upcoming revision to bring SROA to MLIR that should help with non-scalar memrefs. Reviewed By: gysit, Mogball Differential Revision: https://reviews.llvm.org/D149441
-
Marius Brehler authored
-