| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
of accidentally copying to a vector.
llvm-svn: 259336
|
|
|
|
|
|
| |
MVT::SimpleValueType enum. Instead of assuming the types are sorted by size, scan the typeset arrays to find the smallest/largest type. NFC
llvm-svn: 254589
|
|
|
|
|
|
| |
avoid heap allocations. NFC
llvm-svn: 254221
|
|
|
|
|
|
| |
that different orders of the same set will produce the same string. This can reduce the number of unique predicates in the isel tables. NFC
llvm-svn: 254192
|
|
|
|
|
|
| |
ensure vector widths match even if the element size and count don't.
llvm-svn: 254138
|
|
|
|
| |
llvm-svn: 254136
|
|
|
|
|
|
| |
erase multiple times. NFC
llvm-svn: 253964
|
|
|
|
|
|
| |
TypeSet version of EnforceVectorEltTypeIs to reduce duplicated code. NFC
llvm-svn: 253963
|
|
|
|
| |
llvm-svn: 253962
|
|
|
|
| |
llvm-svn: 253961
|
|
|
|
| |
llvm-svn: 253960
|
|
|
|
|
|
| |
erase inside them. NFC
llvm-svn: 253857
|
|
|
|
|
|
| |
or equal to 1.
llvm-svn: 253856
|
|
|
|
| |
llvm-svn: 253838
|
|
|
|
| |
llvm-svn: 253836
|
|
|
|
| |
llvm-svn: 253835
|
|
|
|
| |
llvm-svn: 253834
|
|
|
|
| |
llvm-svn: 253833
|
|
|
|
| |
llvm-svn: 253832
|
|
|
|
|
|
| |
output file. While there replace type with 'auto' since there's a cast on the right side of the assignment. NFC
llvm-svn: 249980
|
|
|
|
|
|
|
|
|
|
| |
Summary: This fixes a variety of typos in docs, code and headers.
Subscribers: jholewinski, sanjoy, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D12626
llvm-svn: 247495
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this we were producing a TargetExternalSymbol from a MCSymbol.
That meant extracting the symbol name and fetching the symbol again
down the pipeline.
This patch adds a DAG.getMCSymbol that lets the MCSymbol pass unchanged on the
DAG.
Doing so removes the need for MO_NOPREFIX and fixes the root cause of pr23900,
allowing r240130 to be committed again.
llvm-svn: 240300
|
|
|
|
| |
llvm-svn: 238805
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the type isn't trivially moveable emplace can skip a potentially
expensive move. It also saves a couple of characters.
Call sites were found with the ASTMatcher + some semi-automated cleanup.
memberCallExpr(
argumentCountIs(1), callee(methodDecl(hasName("push_back"))),
on(hasType(recordDecl(has(namedDecl(hasName("emplace_back")))))),
hasArgument(0, bindTemporaryExpr(
hasType(recordDecl(hasNonTrivialDestructor())),
has(constructExpr()))),
unless(isInTemplateInstantiation()))
No functional change intended.
llvm-svn: 238602
|
|
|
|
|
|
| |
if it was just comparing to 0. NFC.
llvm-svn: 237340
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cleanups.
Also, change code in tablegen which printed a message and then called
"exit(1)" to use PrintFatalError, instead.
This fixes instances where an empty output file was left behind after
a failed tablegen invocation, which would confuse subsequent ninja
runs into not attempting to rebuild.
Differential Revision: http://reviews.llvm.org/D9608
llvm-svn: 237058
|
|
|
|
|
|
| |
singleton object created by UnsetInit::get(). Makes it more consistent with the other types.
llvm-svn: 235465
|
|
|
|
|
|
|
|
|
|
| |
multiple results.
This is needed for AVX512 masked scatter/gather support.
The R600 change is necessary to remove a hack that was working around the lack of multiple results.
llvm-svn: 232798
|
|
|
|
|
|
| |
Explicitly compare the size of the scalar types and the whole vector size rather than just comparing enum encodings.
llvm-svn: 231746
|
|
|
|
| |
llvm-svn: 231745
|
|
|
|
|
|
|
|
| |
results in an instruction pattern. No functional change to existing patterns."
This is failing on several build bots.
llvm-svn: 231358
|
|
|
|
|
|
|
|
| |
an instruction pattern. No functional change to existing patterns.
This should help with the AVX512 masked gather changes Elena is working on. This patch is derived from some of the changes Elena made to tablegen, but modified by me to support arbitrary number of results.
llvm-svn: 231357
|
|
|
|
|
|
| |
specific element type and for constraining a vector type to have the same number of elements as another vector type. This is useful for AVX512 mask operations so we relate the mask type to the type of the other arguments.
llvm-svn: 231356
|
|
|
|
|
|
| |
go with when handling SDTCisSameAs. No functional change as they are always both 0 unless you try to define a multi result type profile that uses SDTCisSame on one of the other results.
llvm-svn: 231226
|
|
|
|
| |
llvm-svn: 230892
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gather and scatter instructions additionally write to one of the source operands - mask register.
In this case Gather has 2 destination values - the loaded value and the mask.
Till now we did not support code gen pattern for gather - the instruction was generated from
intrinsic only and machine node was hardcoded.
When we introduce the masked_gather node, we need to select instruction automatically,
in the standard way.
I added a flag "hasTwoExplicitDefs" that allows to handle 2 destination operands.
(Some code in the X86InstrFragmentsSIMD.td is commented out, just to split one big
patch in many small patches)
llvm-svn: 230471
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically, gc.result benefits from this greatly. Instead of:
gc.result.int.*
gc.result.float.*
gc.result.ptr.*
...
We now have a gc.result.* that can specialize to literally any type.
Differential Revision: http://reviews.llvm.org/D7020
llvm-svn: 226857
|
|
|
|
|
|
|
|
|
| |
Clang's static analyzer found several potential cases of undefined
behavior, use of un-initialized values, and potentially null pointer
dereferences in tablegen, Support, MC, and ADT. This cleans them up
with specific assertions on the assumptions of the code.
llvm-svn: 224154
|
|
|
|
| |
llvm-svn: 224068
|
|
|
|
|
|
| |
Everyone should use hasSideEffects now.
llvm-svn: 222809
|
|
|
|
|
|
|
|
|
|
|
|
| |
TreePattern's Tree member."
This reverts commit r222183.
Broke on the MSVC buildbots due to MSVC not producing default move
operations - I'd fix it immediately but just broke my build system a
bit, so backing out until I have a chance to get everything going again.
llvm-svn: 222187
|
|
|
|
|
|
|
|
|
|
|
|
| |
TreePattern's Tree member.
The next step is to actually use unique_ptr in TreePatternNode's
Children vector. That will be more intrusive, and may not work,
depending on exactly how these things are handled (I have a bad
suspicion things are shared more than they should be, making this more
DAG than tree - but if it's really a tree, unique_ptr should suffice)
llvm-svn: 222183
|
|
|
|
| |
llvm-svn: 222046
|
|
|
|
|
|
|
|
|
| |
CodeGenDAGPatterns::PatternFragments
We might be able to use unique_ptr to handle ownership of the
TreePatternNodes too - looking into that next.
llvm-svn: 221928
|
|
|
|
|
|
|
| |
The underlying error function already uses a Twine,
and most of the uses build up strings.
llvm-svn: 221740
|
|
|
|
|
|
|
|
|
| |
The problem is mostly that variadic output instruction
aren't handled, so it is rejected for having an inconsistent
number of operands, and then the right number of operands
isn't emitted.
llvm-svn: 221117
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is useful for cases when stand-alone patterns are preferred to the
patterns included in the instruction definitions. Instead of requiring
that stand-alone patterns set a larger AddedComplexity value, which
can be confusing to new developers, the allows us to reduce the
complexity of the included patterns to achieve the same result.
There will be test cases for this added to the R600 backend in a
future commit.
llvm-svn: 214466
|
|
|
|
|
|
|
|
|
|
| |
file not in the test/ area). Backing out now so that this test isn't part of
the 3.5 branch.
Original commit message: "TableGen: Allow AddedComplexity values to be negative
[...]"
llvm-svn: 213596
|
|
|
|
|
|
|
|
|
|
| |
This is useful for cases when stand-alone patterns are preferred to the
patterns included in the instruction definitions. Instead of requiring
that stand-alone patterns set a larger AddedComplexity value, which
can be confusing to new developers, the allows us to reduce the
complexity of the included patterns to achieve the same result.
llvm-svn: 213521
|
|
|
|
| |
llvm-svn: 212637
|