- Jun 12, 2021
-
-
Aaron En Ye Shi authored
Allow the usage of minor version 0, for hip versions such as 4.0. Change the default values when performing version checks. Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D104062
-
Ayush Sahay authored
If an inferior exits prior to the processing of a disconnect request, then the threads executing EventThreadFunction and request_discontinue respectively may call SendTerminatedEvent simultaneously, in turn, testing and/or setting g_vsc.sent_terminated_event without any synchronization. In case the thread executing EventThreadFunction sets it before the thread executing request_discontinue has had a chance to test it, the latter would move ahead to issue a response to the disconnect request. Said response may be dispatched ahead of the terminated event compelling the client to terminate the debug session without consuming any console output that might've been generated by the execution of terminateCommands. Reviewed By: clayborg, wallace Differential Revision: https://reviews.llvm.org/D103609
-
Aaron Ballman authored
This adds implementation information for N2607, clarifies that C17 only resolved defect reports, and adds -std= information for the different versions.
-
- Jun 11, 2021
-
-
Tomas Matheson authored
Register allocation may spill virtual registers to the stack, which can increase alignment requirements of the stack frame. If the the function did not require stack realignment before register allocation, the registers required to do so may not be reserved/available. This results in a stack frame that requires realignment but can not be realigned. Instead, only increase the alignment of the stack if we are still able to realign. The register SpillAlignment will be ignored if we can't realign, and the backend will be responsible for emitting the correct unaligned loads and stores. This seems to be the assumed behaviour already, e.g. ARMBaseInstrInfo::storeRegToStackSlot and X86InstrInfo::storeRegToStackSlot are both `canRealignStack` aware. Differential Revision: https://reviews.llvm.org/D103602
-
Alexey Bataev authored
After we added support for non-ordered insertelements, we can allow their reordering. Differential Revision: https://reviews.llvm.org/D104057
-
eahcmrh authored
Check applied to unbounded (incomplete) arrays and pointers to spot cases where the computed address is beyond the largest possible addressable extent of the array, based on the address space in which the array is delcared, or which the pointer refers to. Check helps to avoid cases of nonsense pointer math and array indexing which could lead to linker failures or runtime exceptions. Of particular interest when building for embedded systems with small address spaces. This is version 2 of this patch -- version 1 had some testing issues due to a sign error in existing code. That error is corrected and lit test for this chagne is extended to verify the fix. Originally reviewed/accepted by: aaron.ballman Original revision: https://reviews.llvm.org/D86796 Reviewed By: aaron.ballman, ebevhan Differential Revision: https://reviews.llvm.org/D88174
-
Matt Morehouse authored
Adds the basic instrumentation needed for stack tagging. Currently does not support stack short granules or TLS stack histories, since a different code path is followed for the callback instrumentation we use. We may simply wait to support these two features until we switch to a custom calling convention. Patch By: xiangzhangllvm, morehouse Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D102901
-
Nico Weber authored
Not sure sectionType() carries its weight, but while we have it we should use it consistently. No behavior change. Differential Revision: https://reviews.llvm.org/D104027
-
Alexey Bataev authored
No need to use UndefValue in CreateShuffle call. Differential Revision: https://reviews.llvm.org/D104113
-
Alexey Bataev authored
-
thomasraoux authored
This is the first step to convert vector ops to MMA operations in order to target GPUs tensor core ops. This currently only support simple cases, transpose and element-wise operation will be added later. Differential Revision: https://reviews.llvm.org/D102962
-
Raphael Isemann authored
This passes with GCC>8.5 and ToT LLDB.
-
Raphael Isemann authored
-
Raphael Isemann authored
This works for GCC>8.5 and ToT LLDB.
-
LLVM GN Syncbot authored
-
Sjoerd Meijer authored
As a follow up of rGc4a0969b, and as part of D104102, move it to the IPO transformations directory.
-
Zahira Ammarguellat authored
generating an erroneous warning. See here: https://godbolt.org/z/ajKPc36M7
-
Zahira Ammarguellat authored
'override' [-Werror,-Wsuggest-override]" occuring during windows debug self-build.
-
Tobias Gysi authored
Adapt pad to static bounding box to support structured ops taking scalar operands. Differential Revision: https://reviews.llvm.org/D103891
-
Simon Pilgrim authored
-
Sanjay Patel authored
The problematic code pattern in the test is based on: https://llvm.org/PR50638 If the IfCond is itself the phi that we are trying to remove, then the loop around line 2835 can end up with something like: %cmp = select i1 %cmp, i1 false, i1 true That can then lead to a use-after-free and assert (although I'm still not seeing that locally in my release + asserts build). I think this can only happen with unreachable code. Differential Revision: https://reviews.llvm.org/D104063
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Tobias Gysi authored
Adapt drop unit dims for structured ops taking scalar operands. Differential Revision: https://reviews.llvm.org/D103890
-
Raphael Isemann authored
This reverts commit 00764c36 and the follow up d2223c7a. The original patch broke that one could use static member variables while inside a static member functions without having a running target. It seems that LLDB currently requires that static variables are only found via the global variable lookup so that they can get materialized and mapped to the argument struct of the expression. After 00764c36 static variables of the current class could be found via Clang's lookup which LLDB isn't observing. This resulting in expressions actually containing these variables as normal globals that can't be rewritten to a member of the argument struct. More specifically, in the test TestCPPThis, the expression `expr --j false -- s_a` is now only passing if we have a runnable target. I'll revert the patch as the possible fixes aren't trivial and it degrades the debugging experience more than the issue that the revert patch addressed. The underlying bug can be reproduced before/after this patch by stopping in `TestCPPThis` main function and running: `e -j false -- my_a; A<int>::s_a`. The `my_a` will pull in the `A<int>` class and the second expression will be resolved by Clang on its own (which causes LLDB to not materialize the static variable). Note: A workaround is to just do `::s_a` which will force LLDB to take the global variable lookup.
-
Tobias Gysi authored
Cleanup the refactoring started by https://reviews.llvm.org/D103394. Differential Revision: https://reviews.llvm.org/D104025
-
patacca authored
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface. Changes made: - Removing explicit operator bool() from all the classes in the isl C++ bindings. - Replace each call to operator bool() to method `is_null()`. - isl-noexceptions.h has been generated by this https://github.com/patacca/isl/commit/27396daac5a5ee8228d25511a12f4a814c92ba8f Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D103976
-
Simon Pilgrim authored
APInt::toString() was removed rG61cdaf66
-
Simon Pilgrim authored
Some buildbots are complaining about std::move() after rG61cdaf66
-
Sam McCall authored
Given `int foo, bar;`, TraverseAST reveals this tree: TranslationUnitDecl - foo - bar Before this patch, with the TraversalScope set to {foo}, TraverseAST yields: foo After this patch it yields: TranslationUnitDecl - foo Also, TraverseDecl(TranslationUnitDecl) now respects the traversal scope. --- The main effect of this today is that clang-tidy checks that match the translationUnitDecl(), either in order to traverse it or check parentage, should work. Differential Revision: https://reviews.llvm.org/D104071 -
Simon Pilgrim authored
<string> is currently the highest impact header in a clang+llvm build: https://commondatastorage.googleapis.com/chromium-browser-clang/llvm-include-analysis.html One of the most common places this is being included is the APInt.h header, which needs it for an old toString() implementation that returns std::string - an inefficient method compared to the SmallString versions that it actually wraps. This patch replaces these APInt/APSInt methods with a pair of llvm::toString() helpers inside StringExtras.h, adjusts users accordingly and removes the <string> from APInt.h - I was hoping that more of these users could be converted to use the SmallString methods, but it appears that most end up creating a std::string anyhow. I avoided trying to use the raw_ostream << operators as well as I didn't want to lose having the integer radix explicit in the code. Differential Revision: https://reviews.llvm.org/D103888
-
Fraser Cormack authored
-
Haojian Wu authored
See context: https://github.com/clangd/clangd/issues/765 Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D101816
-
Max Kazantsev authored
-
Jingu Kang authored
-
Alex Zinenko authored
Reviewed By: ulysseB Differential Revision: https://reviews.llvm.org/D104045
-
Zarko Todorovski authored
GCC documentation for the `wa` constraint states that: ``` wa A VSX register (VSR), vs0…vs63. This is either an FPR (vs0…vs31 are f0…f31) or a VR (vs32…vs63 are v0…v31). ``` This technically means that we could accept floating point parameters. In fact, gcc itself does. The following testcase compiles and runs on all PPC platforms with GCC, whereas clang/llc will assert: ``` #include <stdio.h> double foo ( vector double a ) { double b, c; asm("xvabsdp %x0, %x2 \n" "xxsldwi %x1, %x0, %x0, 2 \n" : "+wa" (b), "=wa" (c) : "wa" (a) ); return b+c; } int main(void) { vector double a = {-3., -4.}; double t = foo( a ); printf("%g\n", t); } ``` This patch allows clang/llc to build and run this testcase. Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D103409 -
Max Kazantsev authored
-
Haojian Wu authored
mixed integer and floating point types with WarnOnEquivalentBitWidth=0. Also standardize control flow of handleX conversion functions to make it easier to be consistent. Patch by Stephen Concannon! Differential Revision: https://reviews.llvm.org/D103894
-