- Jun 07, 2023
-
-
Elizabeth Andrews authored
Clang currently emits an error when a friend of a local class tries to access it's private data members. This patch fixes the bug. Differential Revision: https://reviews.llvm.org/D152195
-
Simon Pilgrim authored
Revert rG98061013 - [X86] X86FixupVectorConstantsPass - attempt to replace full width fp vector constant loads with broadcasts on AVX+ targets Reverting while we address an existing issue exposed by this (Issue #63108)
-
Dirk MG Seynhaeve authored
Fix a small but misleading/confusing typo in the comments (which shows up in the doxygen documentation): Black -> BLACK (the enumeration is case-sensitive). Differential revision: https://reviews.llvm.org/D151598
-
Slava Zakharin authored
The changes convert hlfir.designate to fir.array_coor/fir.embox to represent a subscripted element of a polymorphic array. The type information is conveyed via the fir.embox's source_box. Reviewed By: tblah Differential Revision: https://reviews.llvm.org/D152200
-
Craig Topper authored
This property was intended to indicate when RISCVAsmPrinter should drop the tied source operand when converting to MCInst. Using it in RISCVDAGToDAGISel distorts what it intended for. This should remove some changes from D151850. Reviewed By: frasercrmck, asb Differential Revision: https://reviews.llvm.org/D152039
-
Nick Desaulniers authored
As suggested by @erichkeane in https://reviews.llvm.org/D141451#inline-1429549 There's potential for a lot more cleanups around these APIs. This is just a start. Callers need to be more careful about sub-expressions producing strings that don't outlast the expression using `llvm::demangle`. Add a release note. Differential Revision: https://reviews.llvm.org/D149104
-
Simon Pilgrim authored
Revert rGab4b9248 - [X86] X86FixupVectorConstantsPass - attempt to replace full width integer vector constant loads with broadcasts on AVX2+ targets Reverting while we address an existing issue exposed by this (Issue #63108)
-
Aart Bik authored
Document better that unary/binary may only feed to the output or the input of a custom reduction (not even a regular reduction since it may have "no value"!). Also fixes a bug when present branch is empty and feeds into custom reduction. Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D152224
-
Vy Nguyen authored
Details: See bug report: https://github.com/llvm/llvm-project/issues/63039 Differential Revision: https://reviews.llvm.org/D151824
-
Aaron Ballman authored
-
Sam McCall authored
Differential Revision: https://reviews.llvm.org/D151557
-
Kazu Hirata authored
The corresponding function definition was removed by: commit 1ebee7ad Author: Hiroshi Yamauchi <yamauchi@google.com> Date: Fri Oct 2 13:00:40 2020 -0700
-
Prabhdeep Singh Soni authored
This patch fixes an unused variable warning that was caused by the task depend patch. Original Commit: 3373c840 Original Differential Revision: https://reviews.llvm.org/D146766
-
Yaxun (Sam) Liu authored
Device variables in an anonymous namespace may be referenced by host code, therefore they need to be externalized in a similar way as a static device variables or kernels in an anonymous namespace. Fixes: https://github.com/ROCm-Developer-Tools/HIP/issues/3246 Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D152164
-
- Jun 06, 2023
-
-
yronglin authored
Clang now incorrectly allowed increment of bool in unevaluated contexts, we set `diagnostic::ext_increment_bool` to be SFINAEFailure to fix this issue. ``` template<class T> auto f(T t) -> decltype(++t); auto f(...) -> void; void g() { f(true); // Clang wrongly makes this a hard error } ``` ``` template <class T> concept can_increment = requires(T t) { ++t; }; template <class T> void f() { static_assert(requires(T t) { ++t; }); // Incorrectly allowed } int main() { f<bool>(); static_assert(!can_increment<bool>); // Incorrectly fails bool b = false; ++b; // Correctly rejected } ``` Fix issue: https://github.com/llvm/llvm-project/issues/47517 Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D152259 -
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: #libc, ldionne Spies: ldionne, libcxx-commits Differential Revision: https://reviews.llvm.org/D151841
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D150128
-
prabhukr authored
Target triple to support "x86_64-unknown-uefi" Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D131594
-
Mikhail Goncharov authored
(missing piece from https://reviews.llvm.org/D152265) 476e7c49
-
Marco Elver authored
Build bots are still failing, and getting it to work on Windows should be done in a separate patch, should this even be technically feasible. | lld-link: error: | stage2_win_x64/obj/compiler-rt/lib/asan/asan_shared_library.asan_activation.obj: | memcpy should not refer to special section 0
-
Jolanta Jensen authored
Differential Revision: https://reviews.llvm.org/D152004
-
Zequan Wu authored
There are two age fields in a PDB file. One from the PDB Stream and another one from the DBI stream. According to https://randomascii.wordpress.com/2011/11/11/source-indexing-is-underused-awesomeness/#comment-34328, The age in DBI stream is used to against the binary's age. `Pdbstr.exe` is used to only increment the age from PDB stream without changing the DBI age. I also verified this by manually changing the DBI age of a PDB file and let `windbg.exe` to load it. It shows the following logs before and after changing: Before: ``` SYMSRV: BYINDEX: 0xA c:\symbols*https://msdl.microsoft.com/download/symbols nlaapi.pdb D72AA69CD5ABE5D28C74FADB17DE3F8C1 SYMSRV: PATH: c:\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb SYMSRV: RESULT: 0x00000000 *** WARNING: Unable to verify checksum for NLAapi.dll DBGHELP: NLAapi - public symbols c:\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb ... ``` After: ``` SYMSRV: BYINDEX: 0xA c:\symbols*https://msdl.microsoft.com/download/symbols nlaapi.pdb D72AA69CD5ABE5D28C74FADB17DE3F8C1 SYMSRV: PATH: c:\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb SYMSRV: RESULT: 0x00000000 DBGHELP: c:\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb - mismatched pdb SYMSRV: BYINDEX: 0xB c:\symbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com nlaapi.pdb D72AA69CD5ABE5D28C74FADB17DE3F8C1 SYMSRV: PATH: c:\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb SYMSRV: RESULT: 0x00000000 DBGHELP: c:\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb - mismatched pdb SYMSRV: BYINDEX: 0xC c:\src\symbols*https://msdl.microsoft.com/download/symbols nlaapi.pdb D72AA69CD5ABE5D28C74FADB17DE3F8C1 SYMSRV: PATH: c:\src\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb SYMSRV: RESULT: 0x00000000 *** WARNING: Unable to verify checksum for NLAapi.dll DBGHELP: NLAapi - public symbols c:\src\symbols\nlaapi.pdb\D72AA69CD5ABE5D28C74FADB17DE3F8C1\nlaapi.pdb ``` So, `windbg.exe` uses the DBI age to detect mismatched pdb, but it still loads the pdb even if the age mismatched. Probably lldb should do the same and give some warnings. This fixes a bug that lldb can't load some windows system pdbs due to mismatched uuid. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D152189
-
Mark de Wever authored
-
paperchalice authored
The lifetime of clang_resource_path should be same as kResourceDirSuffixes, because kResourceDirSuffixes doesn't own clang_resource_path. Differential Revision: https://reviews.llvm.org/D152225
-
Nikita Popov authored
-
Quentin Colombet authored
In the vector distribute patterns, we used to move `vector.broadcast`s out of `vector.warp_execute_on_lane0`s irrespectively of how they were defined. This could create broadcast operations with invalid semantic. E.g., ``` %r = warop ...[32] ... -> vector<1x2xf32> { %val = broadcast %in : vector<64xf32> to vetor<1x64xf32> vector.yield %val : vector<1x64xf32> } ``` => ``` %r = warop ...[32] ... -> vector<64xf32> { vector.yield %in : vector<64xf32> } // Broadcasting to a narrower type! broadcast %r : vector<64xf32> to vector<1x2xf32> ``` The root issue is we are trying to broadcast something that is not the same for each thread, so there is actually nothing to propagate here. The fix checks that the broadcast we want to create actually makes sense. Differential Revision: https://reviews.llvm.org/D152154 -
Endre Fulop authored
The `TrackConstraintBRVisitor` should accept a message for the note instead of creating one. It would let us inject domain-specific knowledge in a non-intrusive way, leading to a more generic visitor. Differential Revision: https://reviews.llvm.org/D152255
-
Mikhail Goncharov authored
Causes miscompile. See https://reviews.llvm.org/D141188. This reverts commit fb2c98a9
-
Prabhdeep Singh Soni authored
This patch adds support for the OpenMP 4.0 depend clause for the task construct, excluding array sections, to Flang lowering from parse-tree to MLIR. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D146766
-
Marco Elver authored
D135716 introduced -ftrivial-auto-var-init=pattern where supported. Unfortunately this introduces unwanted memset() for large stack arrays, as shown by the new tests added for asan and msan (tsan already had this test). In general, the problem of compiler-inserted memintrinsic calls (memset/memcpy/memmove) is not new to compiler-rt, and has been a problem before. To avoid introducing unwanted memintrinsic calls, we redefine memintrinsics as __sanitizer_internal_mem* at the assembly level for most source files automatically (where sanitizer_common_internal_defs.h is included). In few cases, redefining a symbol in this way causes issues for interceptors, namely the memintrinsic interceptor themselves. For such source files we have to selectively disable the redefinition. Other alternatives have been considered, but simply do not work well in the context of compiler-rt: 1. Linker --wrap: this does not work because --wrap only applies ...
-
Jessica Clarke authored
The current interface requires some rather ugly tracking of state due to splitting up the calls for each argument. Instead, pack them all into a single call by passing an ArrayRef. Also clean up the dodgy whitespace emitted for the directive whilst here; there was a stray space between the tab and .option, and there was a tab rather than a space after the first comma for some strange reason. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D152193
-
Jessica Clarke authored
Currently the early-return flow in the infinite loop makes it hard to find the non-error termination points amongst the sea of errors. Rewrite it with a more conventional control flow that has a clear loop guard (in place of one of the early returns) and a break (in place of the other), and with greater code reuse. This has a small effect on the errors given for malformed input, as seen in the affected test, and is probably more helpful as a result. Note that we also bail early now if parseComma fails, as is standard. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D152192
-
Kadir Cetinkaya authored
Make use of a physical copy, rather than real FS in unittests that change working-directory to get rid of the side effect of changing cwd for the whole process. It's triggering crashes depending on the test order. Differential Revision: https://reviews.llvm.org/D152265
-
Simon Pilgrim authored
[GlobalISel][X86] Move G_SEXT_INREG legalization handling to beside the regular integer extension legalizations
-
Andrew Ng authored
This change to llvm-objcopy preserves the ELF section sh_link to .symtab so long as none of the symbol table indices have been changed. Previously, any invocation of llvm-objcopy including a "no-op" would clear any section sh_link to .symtab. Differential Revision: https://reviews.llvm.org/D150859
-
Nikita Popov authored
-
Jay Foad authored
-
Jay Foad authored
Removing them seems to slightly increase code quality as well as simplifying both the tablegen and C++ parts of the code. Differential Revision: https://reviews.llvm.org/D149853
-