- Aug 30, 2021
-
-
Raphael Isemann authored
This came up during the Windows bot failure discussing after D105471 . See also 3d9a9fa6 .
-
Hiroki authored
When I run a lldb command that uses filename completion, if I enter a string that is not only a filename but also a string with a non-file name string added, such as "./" that is relative path string , it will crash as soon as I press the [Tab] key. For example, debugging an executable file named "hello" that is compiled from a file named "hello.c" , and I’ll put a breakpoint on line 3 of hello.c. ``` $ lldb ./hello (lldb) breakpoint set --file hello.c --line 3 ``` This is not a problem, but if I set "--file ./hello." and then press [Tab] key to complete file name, lldb crashes. ``` $ lldb ./hello (lldb) breakpoint set --file ./hello.terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr: __pos (which is 8) > this->size() (which is 7) ``` The crash was caused because substr() (in lldb/source/Host/common/Editline.cpp) cut out string which size is user's input string from the completion string. I modified the code that erase the user's intput string from current line and then add the completion string. Differential Revision: https://reviews.llvm.org/D108817
-
Aaron Ballman authored
-
Kim-Anh Tran authored
Previously, if no column was specified, ResolveSymbolContext would take the first match returned by FindLineEntryIndexByFileIndex, and reuse it to find subsequent exact matches. With the introduction of columns, columns are now considered when matching the line entries. This leads to a problem if one wants to get all existing line entries that match that line, since now the column is also used for the exact match. This way, all line entries are filtered out that have a different column number, but the same line number. This patch changes that by ignoring the column information of the first match if the original request of ResolveSymbolContext was also ignoring it. Reviewed By: mib Differential Revision: https://reviews.llvm.org/D108816
-
Djordje Todorovic authored
If we encounter a new debug value, describing the same parameter, we should stop tracking the parameter's Entry Value. At that point, in some cases, the Transfer which uses the parameter's Entry Value, is already emitted. Thanks to the RemoveRedundantDebugValues pass, many problems with incorrect instruction order and number of DBG_VALUEs are fixed. However, we still cannot rely on the rule that each new debug value is set by the previous non-debug instruction in Machine Basic Block. When new parameter debug value triggers removal of Backup Entry Value for the same parameter, do the cleanup of Transfers emitted from Backup Entry Values. Get the Transfer Instruction which created the new debug value and search for debug values already emitted from the to-be-deleted Backup Entry Value and attached to the Transfer Instruction. If found, delete the Transfer and remove "primary" Entry Value Var Loc from OpenRanges. This patch fixes PR47628. Patch by Nikola Tesic. Differential revision: https://reviews.llvm.org/D106856
-
Jean Perier authored
After 41d4aa7d, some builder.getStringAttr calls in FIR were wrong.
-
Simon Moll authored
Clang only adds GCC paths for RHEL <= 7 'devtoolset-<N>' Software Collections (SCL). This generalizes this support to also include the 'gcc-toolset-10' SCL in RHEL/CentOS 8. Reviewed By: stephan.dollberg Differential Revision: https://reviews.llvm.org/D108908
-
Simon Pilgrim authored
[TTI][X86] getArithmeticInstrCost - move opcode canonicalization before all target-specific costs. NFCI. The GLM/SLM special cases still get tested first but after the the MUL/DIV/REM pattern detection - this will be necessary for when we make the SLM vXi32 MUL canonicalization generic to improve PMULLW/PMULHW/PMADDDW cost support etc.
-
Simon Pilgrim authored
-
Raphael Isemann authored
This can just be a default argument.
-
Anton Afanasyev authored
Follow-up of https://reviews.llvm.org/D108776
-
Dmitry Vyukov authored
Reviewed By: melver Differential Revision: https://reviews.llvm.org/D108907
-
Roman Lebedev authored
Previously, we'd expand *ALL* the SCEV's eagerly, because we needed to check with `isValidRewrite()`, and discard bad rewrite candidates, but now that we do not do that, we also don't need to always expand. In particular, this avoids expanding potentially-huge SCEV's that we would discard anyways because they are high-cost and we aren't rewriting aggressively.
-
Anton Afanasyev authored
The option `--gdb-index` should be passed to linker if compiler is invoked with `-gsplit-dwarf` option. This allows debugger to locate the appropriate units quickly. See "Invocation" section here: https://gcc.gnu.org/wiki/DebugFission Suggested by @dblaikie here: https://reviews.llvm.org/D68556#1698442 Differential Revision: https://reviews.llvm.org/D108776
-
Alex Zinenko authored
41d4aa7d introduced incorrect code in extraTraitClassDeclaration: `this` refers to the trait class and not the operation class so `->getContext()` is not valid. Use `$_op` instead.
-
Roman Lebedev authored
`isValidRewrite()` checks that the both the original SCEV, and the rewrite SCEV have the same base pointer. I //believe//, after all the recent SCEV improvements, this invariant is already enforced by SCEV itself. I originally tried changing it into an assert in D108043, but that showed that it triggers on e.g. https://reviews.llvm.org/D108043#2946621, where SCEV manages to forward the store to load, test added. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D108655
-
Roman Lebedev authored
We currently don't simplify anything here, but we can.
-
Michał Górny authored
Add a support for handling fork/vfork stops in LLGS client. At this point, it only sends a detach packet for the newly forked child (and implicitly resumes the parent). Differential Revision: https://reviews.llvm.org/D100206
-
“bhkumarn” authored
This patch emits DW_TAG_namelist and DW_TAG_namelist_item for fortran namelist variables. DICompositeType is extended to support this fortran feature. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D108553
-
Diana Picus authored
GET_COMMAND_ARGUMENT takes a lot of optional arguments: VALUE, LENGTH, STATUS and ERRMSG. This patch breaks up the interface into 2 different functions: * One for getting the LENGTH of an argument. * One for getting the VALUE and the ERRMSG of an argument. This returns the STATUS, which can be easily ignored by lowering if it is missing in the invocation. Differential Revision: https://reviews.llvm.org/D108688
-
Diana Picus authored
Differential Revision: https://reviews.llvm.org/D108687
-
Florian Hahn authored
After applying VPlan-to-VPlan transformations, using IR references to query VPlan values may be incorrect, as the IR is not in sync with the VPlan any longer. To better detect such mis-matches, this patch introduces a new flag to VPlans to indicate whether it is safe to query VPValues using IR values. getVPValue is updated to assert if it is called when the flag indicates it is not safe any longer. There is an escape hatch via an extra argument, because there are 3 places that need to be fixed first. Those are 1. truncateToMinimalBitwidths 2. clearReductionWrapFlags 3. fixLCSSAPHIs As a first step, this flag will help preventing new code from violating this property. Any suggestions with respect to naming very welcome! Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D108573
-
Shivam Gupta authored
This tutorial will guide you through the process of making a change to LLVM, and contributing it back to the LLVM project. We'll be making a change to Clang, but the steps for other parts of LLVM are the same. Even though the change we'll be making is simple, we're going to cover steps like building LLVM, running the tests, and code review. This is good practice, and you'll be prepared for making larger changes. Authors: @meikeb , @gribozavr Commit: Zhiqian Xia PS - This is a duplicate revision of https://reviews.llvm.org/D100714 which was actually used for patch review. Reviewed By: kuhnel Differential Revision: https://reviews.llvm.org/D108267
-
Jean Perier authored
The double precision KindCode was ignored when building the interface of specific intrinsic procedures leading to bad semantics checks. Differential Revision: https://reviews.llvm.org/D108828
-
Wang, Pengfei authored
Enable FP16 complex FMA instructions. Ref.: https://software.intel.com/content/www/us/en/develop/download/intel-avx512-fp16-architecture-specification.html Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D105269
-
Chris Lattner authored
SymbolRefAttr is fundamentally a base string plus a sequence of nested references. Instead of storing the string data as a copies StringRef, store it as an already-uniqued StringAttr. This makes a lot of things simpler and more efficient because: 1) references to the symbol are already stored as StringAttr's: there is no need to copy the string data into MLIRContext multiple times. 2) This allows pointer comparisons instead of string comparisons (or redundant uniquing) within SymbolTable.cpp. 3) This allows SymbolTable to hold a DenseMap instead of a StringMap (which again copies the string data and slows lookup). This is a moderately invasive patch, so I kept a lot of compatibility APIs around. It would be nice to explore changing getName() to return a StringAttr for example (right now you have to use getNameAttr()), and eliminate things like the StringRef version of getSymbol. Differential Revision: https://reviews.llvm.org/D108899
-
Siva Chandra Reddy authored
Also, added a call to munmap on error in thrd_create.
-
Qiu Chaofan authored
PowerPC can model these instructions, so we don't need this flag set. Reviewed By: shchenz, jsji Differential Revision: https://reviews.llvm.org/D71983
-
Siva Chandra Reddy authored
-
Xiang1 Zhang authored
Differential Revision: https://reviews.llvm.org/D108682
-
Xiang1 Zhang authored
This reverts commit 78fbde57.
-
Matthias Springer authored
* Add `DimOfIterArgFolder`. * Move existing cross-dialect canonicalization patterns to `LoopCanonicalization.cpp`. * Rename `SCFAffineOpCanonicalization` pass to `SCFForLoopCanonicalization`. * Expand documentaton of scf.for: The type of loop-carried variables may not change with iterations. (Not even the dynamic type.) Differential Revision: https://reviews.llvm.org/D108806
-
Steven Wan authored
The "aligned" attribute can only increase the alignment of a struct, or struct member, unless it's used together with the "packed" attribute, or used as a part of a typedef, in which case, the "aligned" attribute can both increase and decrease alignment. That said, we expect: 1. "aligned" attribute alone: does not interfere with the alignment upgrade instrumented by the AIX "power" alignment rule, 2. "aligned" attribute + typedef: overrides any computed alignment, 3. "aligned" attribute + "packed" attribute: overrides any computed alignment. The old implementation achieved 2 and 3, but didn't get 1 right, in that any field marked attribute "aligned" would not go through the alignment upgrade. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D107394
-
Xiang1 Zhang authored
Differential Revision: https://reviews.llvm.org/D108682
-
Xiang1 Zhang authored
This reverts commit 83e82ff7.
-
Matthias Springer authored
* Add batched version of all `addId` variants, so that multiple IDs can be added at a time. * Rename `addId` and variants to `insertId` and `appendId`. Most external users call `appendId`. Splitting `addId` into two functions also makes it possible to provide batched version for both. (Otherwise, the overloads are ambigious when calling `addId`.) Differential Revision: https://reviews.llvm.org/D108532
-
Xiang1 Zhang authored
Differential Revision: https://reviews.llvm.org/D108682
-
Arthur Eubanks authored
We cannot leak any equivalency information by comparing against null since null never has virtual metadata associated with it (when null is not a valid dereferenceable pointer). Instcombine seems to make sure that a null will be on the RHS, so we don't have to check both operands. This fixes a missed optimization in llvm-test-suite's MultiSource lambda benchmark under -fstrict-vtable-pointers. Reviewed By: Prazek Differential Revision: https://reviews.llvm.org/D108734
-
owenca authored
Add backward compatibility tests for mapping the deprecated ConstructorInitializerAllOnOneLineOrOnePerLine and AllowAllConstructorInitializersOnNextLine to PackConstructorInitializers. Differential Revision: https://reviews.llvm.org/D108882
-
Fangrui Song authored
-