- Apr 06, 2020
-
-
River Riddle authored
Summary: Blocks are numbered locally within a region, so numbering above the parent region is unnecessary. Differential Revision: https://reviews.llvm.org/D77510
-
Richard Smith authored
char8_t.
-
Richard Smith authored
2c88a485. Also extend it to cover memchr for consistency.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
We had previously limited the shuffle(HORIZOP,HORIZOP) combine to binary shuffles, but we can often merge unary shuffles just as well, folding in UNDEF/ZERO values into the 64-bit half lanes. For the (P)HADD/HSUB cases this is limited to fast-horizontal cases but PACKSS/PACKUS combines under all cases.
-
Uday Bondhugula authored
Make AsmPrinter messages on null structures consistent: use <<NULL ...>>. Differential Revision: https://reviews.llvm.org/D77509
-
River Riddle authored
Summary: This updates the canonicalization documentation, and properly documents the different ways of canonicalizing operations. Differential Revision: https://reviews.llvm.org/D77490
-
River Riddle authored
Summary: This revision adds a section to WritingAPass to document the declarative specification, and how to use it. Differential Revision: https://reviews.llvm.org/D77102
-
Anna Thomas authored
This patch builds upon D76140 by updating metadata on pointer typed loads in inlined functions, when the load is the return value, and the callsite contains return attributes which can be updated as metadata on the load. Added test cases show this for nonnull, dereferenceable, dereferenceable_or_null Reviewed-By: jdoerfert Differential Revision: https://reviews.llvm.org/D76792
-
Sourabh Singh Tomar authored
Previously line table symbol was represented as `DIE::value_iterator` inside `DwarfCompileUnit` and subsequent function `intStmtList` was used to create a local `MCSymbol` to initialize it. This patch removes `DIE::value_iterator` from `DwarfCompileUnit` and intoduce `MCSymbol` for representing this units symbol for `debug_line` section. As a result `applyStmtList` is also modified to utilize this. Further more a helper function `getLineTableStartSym` is also introduced to get this symbol, this would be used by clients which need to access this line table, i.e `debug_macro`. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D77489
-
Mehdi Amini authored
Even if this indicates in general a problem at call sites, the printer is used for debugging and avoiding crashing is friendlier for example when used in diagnostics or other printer. Differential Revision: https://reviews.llvm.org/D77481
-
Fangrui Song authored
-
Nico Weber authored
-
Nico Weber authored
Instead of checking if each symlink exists before removing it, remove the whole temp dir housing the symlinks before recreating it. This is a bit shorter, conceptually simpler (in that the first and consecutive test runs have more similar behavior), it's what we're already doing in almost all places where we do it, and it works if the symlink exists but is a dead link (e.g. when it points into the build dir but the build dir is renamed). No intended behavior change.
-
- Apr 05, 2020
-
-
Zuojian Lin authored
The newly-created constant zero will need an extra register to hold it in the current statepoint lowering implementation. Remove it if there exists one.
-
Apelete Seketeli authored
This fixes dead store warnings of the type "dead assignment" reported by Clang Static Analyzer.
-
Muhammad Omair Javaid authored
-
Matt Arsenault authored
-
Oliver Stannard authored
Summary: This patch upstreams support the optional ARMv8.0 Data Gathering Hint (DGH) extension, which adds the Data Gathering Hint instruction to the hint space. See ARMv8.0-DGH in the Arm Architecture Reference Manual Armv8 for more information. Reviewers: t.p.northover, rengolin, SjoerdMeijer, ab, danielkiss, samparker Reviewed By: SjoerdMeijer Subscribers: LukeGeeson, ostannard, kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77097
-
Oliver Stannard authored
Summary: This patch upstreams support for the ARMv8.6A Enhanced Counter Virtualization (ECV) extension, which adds 6 new system registers. See ARMv8.6-ECV in the Arm Architecture Reference Manual Armv8 for more information. Reviewers: t.p.northover, rengolin, SjoerdMeijer, pcc, ab, chill Reviewed By: SjoerdMeijer Subscribers: LukeGeeson, ostannard, kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77094
-
Uday Bondhugula authored
Add a pattern rewriter utility to erase blocks (while notifying the pattern rewriting driver of the erased ops). Use this to remove trivial else blocks in affine.if ops. Differential Revision: https://reviews.llvm.org/D77083
-
Sanjay Patel authored
As discussed in D76983, that patch can turn a chain of insert/extract with scalar trunc ops into bitcast+extract and existing instcombine vector transforms end up creating a shuffle out of that (see the PhaseOrdering test for an example). Currently, that process requires at least this sequence: -instcombine -early-cse -instcombine. Before D76983, the sequence of insert/extract would reach the SLP vectorizer and become a vector trunc there. Based on a small sampling of public targets/types, converting the shuffle to a trunc is better for codegen in most cases (and a regression of that form is the reason this was noticed). The trunc is clearly better for IR-level analysis as well. This means that we can induce "spontaneous vectorization" without invoking any explicit vectorizer passes (at least a vector cast op may be created out of scalar casts), but that seems to be the right choice given that we started with a chain of insert/extract, and the backend would expand back to that chain if a target does not support the op. Differential Revision: https://reviews.llvm.org/D77299
-
Uday Bondhugula authored
The wrong name was confusing to read. value.getUsers() yields Operation *s. Differential Revision: https://reviews.llvm.org/D77486
-
Uday Bondhugula authored
Removing dead ops should make the outer loop of the pattern rewriting driver run again. Although its operands are added to the worklist, if no changes happenned to them or remaining ops in the worklist, the driver wouldn't run once again - but it should be. Differential Revision: https://reviews.llvm.org/D77483
-
Oliver Stannard authored
Summary: This patch upstreams support for the ARMv8.6A Fine Grain Traps (FGT) extension, which adds 5 new system registers. See ARMv8.6-FGT in the Arm Architecture Reference Manual Armv8 for more information. Reviewers: t.p.northover, rengolin, SjoerdMeijer, ab, momchil.velikov Reviewed By: SjoerdMeijer Subscribers: LukeGeeson, ostannard, kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76991
-
Sanjay Patel authored
This patch extends D77230. If we have a 'not' instruction inside a negated expression, we can ignore extra uses of that op because the negation has a one-to-one replacement: negate becomes increment. Alive2 examples of the test cases: http://volta.cs.utah.edu:8080/z/T5-u9P http://volta.cs.utah.edu:8080/z/eT89L6 Differential Revision: https://reviews.llvm.org/D77459
-
Sanjay Patel authored
The cmyk tests are based on the known regression that resulted from: rGf2fbdf76 So this improvement in analysis might be enough to restore that commit.
-
Diogo Sampaio authored
Summary: This patch upstreams v8.6A activity monitors virtualization assembler support, which consists of 32 new system registers (two groups, each with 16 numbered registers). See ARMv8.6-AMU in the Arm Architecture Reference Manual Armv8 for more information. Reviewers: t.p.northover, rengolin, SjoerdMeijer, ab, john.brawn, ostannard Reviewed By: ostannard Subscribers: LukeGeeson, dnsampaio, ostannard, kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76998
-
Benjamin Kramer authored
-
Florian Hahn authored
D51664 added Instruction::comesBefore which should provide better performance than the manual check. Reviewers: rnk, nikic, spatel Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D76228
-
David Zarzycki authored
This reverts commit 1580c76c. This causes libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp to fail with a linker error on Fedora 31 (x86-64) release (no assert) builds.
-
David Zarzycki authored
-
David Zarzycki authored
This reverts commit 210f40fe.
-
Simon Pilgrim authored
Our existing combine allows to merge the shuffle of 2 similar 64-bit wide 'horizontal ops' (HADD/PACK/etc.) if the shuffle was a UNPCK/MOVSD. This patch generalizes this to decode any target shuffle mask that can be widened to a 128-bit repeating v2*64 mask, which helps us catch PBLENDW/PBLENDD cases.
-
Simon Pilgrim authored
If we're packing from 128-bits to 64-bits then we don't need the RHS argument. This helps with register allocation, especially as we avoid repeating a use of the input value.
-
Alexander Belyaev authored
The ForOp::build ensures that there is a block terminator which is great for the default use case when there are no iter_args and loop.for returns no results. In non-zero results case we always need to call replaceOpWithNewOp which is not the nicest thing in the world. We can stop inserting YieldOp when iter_args is non-empty. IfOp::build already behaves similarly.
-
River Riddle authored
Summary: This revision adds support for marking the last region as variadic in the ODS region list with the VariadicRegion directive. Differential Revision: https://reviews.llvm.org/D77455
-
Kazuaki Ishizaki authored
Differential Revision: https://reviews.llvm.org/D77458
-
vgxbj authored
Summary: Simplify some conditional statements. Reviewers: jhenderson, MaskRay, rupprecht Reviewed By: MaskRay, rupprecht Subscribers: rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75899
-
vgxbj authored
Summary: This test ensures that `llvm-nm` will omit NULL symbol. Reviewers: jhenderson, MaskRay, grimar Reviewed By: jhenderson, grimar Subscribers: rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76213
-