- Jan 18, 2020
-
-
Stanislav Mekhanoshin authored
This is supported starting with GFX9. Differential Revision: https://reviews.llvm.org/D72865
-
Lei Zhang authored
Hopefully this pleases GCC 5.
-
Krzysztof Parzyszek authored
-
Alina Sbirlea authored
Summary: Add invalidate method to GlobalsAA. Reviewers: tejohnson, chandlerc Subscribers: hiraditya, sanjoy.google, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72818
-
Fangrui Song authored
llvm-nm on Linux prints 0 line while llvm-nm on macOS prints 1 line.
-
Brian Cain authored
The check() in HexagonShuffle has been decomposed into smaller steps. No functionality change is intended with this commit.
-
River Riddle authored
Summary: This field is currently not used by anything, and using a ClassID instance provides better support for more efficient classof. Reviewers: mehdi_amini, nicolasvasilache Reviewed By: mehdi_amini Subscribers: merge_guards_bot, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72822
-
Fangrui Song authored
-
Sanne Wouda authored
Summary: When compiling with -munwind-tables, the SEH filter funclet needs the uwtable function attribute, which gets automatically added if we use SetInternalFunctionAttributes. The filter funclet is internal so this seems appropriate. Reviewers: rnk Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72786
-
Fangrui Song authored
-
Fangrui Song authored
-
Francis Visoiu Mistrih authored
After D69825, the output of clang -### when running in process can be prefixed by ' (in-process)'. Skip it.
-
Adrian Prantl authored
This is a purely cosmetic change that is NFC in terms of the binary output. I bugs me that I called the attribute DW_AT_LLVM_isysroot since the "i" is an artifact of GCC command line option syntax (-isysroot is in the category of -i options) and doesn't carry any useful information otherwise. This attribute only appears in Clang module debug info. Differential Revision: https://reviews.llvm.org/D71722
-
Lei Zhang authored
-
Sam Clegg authored
Previously we were reporting this error if we were list no symbols which is not the same thing as the file containing no symbols. Also, always report the filename when printing errors. This matches the GNU nm behaviour. This a followup to https://reviews.llvm.org/D52810 Differential Revision: https://reviews.llvm.org/D72658
-
Drew Wock authored
[SeparateConstOffsetFromGEP] Fix: sext(a) + sext(b) -> sext(a + b) matches add and sub instructions with one another During the SeparateConstOffsetFromGEP pass, signed extensions are distributed to the values that feed into them and then later recombined. The recombination stage is somewhat problematic- it doesn't differ add and sub instructions from another when matching the sext(a) +/- sext(b) -> sext(a +/- b) pattern in some instances. An example- the IR contains: %unextendedA %unextendedB %subuAuB = unextendedA - unextendedB %extA = extend A %extB = extend B %addeAeB = extA + extB The problematic optimization will transform that into: %unextendedA %unextendedB %subuAuB = unextendedA - unextendedB %extA = extend A %extB = extend B %addeAeB = extend subuAuB ; Obviously not semantically equivalent to the IR input. This patch fixes that. Patch by Drew Wock <drew.wock@sas.com> Differential Revision: https://reviews.llvm.org/D65967
-
Alex Zinenko authored
Introduce a new generator for MLIR tablegen driver that consumes LLVM IR intrinsic definitions and produces MLIR ODS definitions. This is useful to bulk-generate MLIR operations equivalent to existing LLVM IR intrinsics, such as additional arithmetic instructions or NVVM. A test exercising the generation is also added. It reads the main LLVM intrinsics file and produces ODS to make sure the TableGen model remains in sync with what is used in LLVM. Differential Revision: https://reviews.llvm.org/D72926
-
Yitzhak Mandelbaum authored
Summary: Currently, an attempt to rewrite source code inside a macro expansion succeeds, but results in empty text, rather than failing with an error. This patch restructures to the code to explicitly validate ranges before attempting to edit them. Reviewers: gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72274
-
Nikita Popov authored
Fixes https://bugs.llvm.org/show_bug.cgi?id=44552. We need to make sure that the store is reprocessed, because performing DSE may expose more DSE opportunities. There is a slight caveat here though: We need to make sure that we add back the store the worklist first, because that means it will be processed after the operands of the removed store have been processed. This is a general bug in InstCombine worklist management that I hope to address at some point, but for now it means we need to do this manually rather than just returning the instruction as changed. Differential Revision: https://reviews.llvm.org/D72807
-
Andy Davis authored
Summary: Update vector transfer read op comments. Reviewers: nicolasvasilache, aartbik Reviewed By: nicolasvasilache, aartbik Subscribers: merge_guards_bot, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72731
-
Denis Khalikov authored
When lowering `loop.if` to `spv.selection` we explicitly create a selection header block before the control flow diverges and a merge block where control flow subsequently converges. Differential Revision: https://reviews.llvm.org/D72836
-
Alex Zinenko authored
Several functions were missing documentation.
-
Nikita Popov authored
There are two related bugs here: First, we don't add the operand we're replacing to the worklist, which means it may not get DCEd (see test change). Second, usually this would just get picked up in the next iteration, but we also do not report the instruction as changed. This means that we do not get that extra instcombine iteration, and more importantly, may break the pass pipeline, as the function is not marked as changed. Differential Revision: https://reviews.llvm.org/D72864
-
Nikita Popov authored
The IR difference in @icmp1 serves as a test for D72864.
-
Nikita Popov authored
Currently, there is no way to disable ExpensiveCombines when doing a standalone opt -instcombine run, as that's the default, and the opt option can currently only be used to force enable, not to force disable. The only way to disable expensive combines is via -O1 or -O2, but that of course also runs the rest of the kitchen sink... This patch allows using opt -instcombine -expensive-combines=0 to run InstCombine without ExpensiveCombines. Differential Revision: https://reviews.llvm.org/D72861
-
Nikita Popov authored
This shows that -expensive-combines=0 is ignored.
-
Lei Zhang authored
This makes the local variable `implies` to have the correct type to satisfy ArrayRef's constructor: /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) Hopefully this should please GCC 5. Differential Revision: https://reviews.llvm.org/D72924
-
Sam McCall authored
-
David Spickett authored
Differential Revision: https://reviews.llvm.org/D72923
-
Dmitri Gribenko authored
RecursiveASTVisitor expects TraverseDecl to be implemented by subclasses.
-
Gabor Horvath authored
Right now every dataflow algorithm uses its own worklist implementation. This is a first step to reduce this duplication. Some upcoming algorithms such as the lifetime analysis is going to use the factored out implementations. Differential Revision: https://reviews.llvm.org/D72380
-
Matt Arsenault authored
Currently the lowering for i16 image coordinates asserts on gfx10. I'm somewhat confused by this though. The feature is missing from the gfx10 feature lists, but the a16 bit appears to be present in the manual for MIMG instructions.
-
Simon Pilgrim authored
Revert rGb6437b35 - "Fix gcc9 "moving a local object in a return statement prevents copy elision" Wpessimizing-move warnings." Fix buildbots
-
Simon Pilgrim authored
Revert rGff3fe145 "Fix gcc9 "moving a local object in a return statement prevents copy elision" Wpessimizing-move warning." Fix buildbots
-
- Jan 17, 2020
-
-
Simon Pilgrim authored
Fix gcc9 "moving a local object in a return statement prevents copy elision" Wpessimizing-move warning.
-
Simon Pilgrim authored
Fix gcc9 "moving a local object in a return statement prevents copy elision" Wpessimizing-move warnings.
-
Sanjay Patel authored
This is another part of a problem noted in PR42024: https://bugs.llvm.org/show_bug.cgi?id=42024 The AVX2 code may use awkward 256-bit shuffles vs. the AVX code that gets split into the expected 128-bit unpack instructions. We have to be selective in matching the types where we try to do this though. Otherwise, we can end up with more instructions (in the case of v8x32/v4x64). Differential Revision: https://reviews.llvm.org/D72575
-
Krzysztof Parzyszek authored
-
Krzysztof Parzyszek authored
There was a change to trap1 instruction between v62 and v65. This feature will allow the assembler/disassembler to handle different variants depending on the CPU version.
-