| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
llvm.x86.ssse3.palign.r.128 intrinsic
Differential Revision: http://reviews.llvm.org/D8302
llvm-svn: 232108
|
| |
|
|
|
|
| |
This is how the proprietary driver prints sopc instructions.
llvm-svn: 232106
|
| |
|
|
|
|
|
|
| |
Instead print them as part of the $dst operand. The AsmMatcher
requires the 32-bit and 64-bit encodings have the same mnemonic in
order to parse them correctly.
llvm-svn: 232105
|
| |
|
|
| |
llvm-svn: 232104
|
| |
|
|
|
|
|
| |
implementation. This requires a bit of scaffolding and a few fixups
that'll go away once all of the ports have been migrated.
llvm-svn: 232103
|
| |
|
|
| |
llvm-svn: 232102
|
| |
|
|
|
|
| |
test/CodeGen/Generic/2008-02-20-MatchingMem.ll
llvm-svn: 232098
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This (r232027) has caused PR22883; so it seems those bits might be used by
something else after all. Reverting until we can figure out what else to do.
Original commit message:
The operand flag word for ISD::INLINEASM nodes now contains a 15-bit
memory constraint ID when the operand kind is Kind_Mem. This constraint
ID is a numeric equivalent to the constraint code string and is converted
with a target specific hook in TargetLowering.
This patch maps all memory constraints to InlineAsm::Constraint_m so there
is no functional change at this point. It just proves that using these
previously unused bits in the encoding of the flag word doesn't break anything.
The next patch will make each target preserve the current mapping of
everything to Constraint_m for itself while changing the target independent
implementation of the hook to return Constraint_Unknown appropriately. Each
target will then be adapted in separate patches to use appropriate Constraint_*
values.
llvm-svn: 232093
|
| |
|
|
| |
llvm-svn: 232090
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The permps and permd instructions have their operands swapped compared to the
intrinsic definition. Therefore, they do not fall into the INTR_TYPE_2OP
category.
I did not create a new category for those two, as they are the only one AFAICT
in that case.
<rdar://problem/20108262>
llvm-svn: 232085
|
| |
|
|
|
|
|
|
| |
This reverts commit r231967 which reinstates r231957.
Now that IntervalMap uses explicitely aligned storage, it should be safe.
llvm-svn: 232080
|
| |
|
|
|
|
|
|
|
|
| |
Currently IntervalMap would assert when used with keys bigger than host
pointers. This patch uses the AlignedCharArrayUnion functionality to
overcome that limitation.
Differential Revision: http://reviews.llvm.org/D8268
llvm-svn: 232079
|
| |
|
|
| |
llvm-svn: 232078
|
| |
|
|
| |
llvm-svn: 232076
|
| |
|
|
|
|
|
| |
classes. Use a Triple instead and simplify a lot of the querying
logic to use lookups on the Triple.
llvm-svn: 232071
|
| |
|
|
|
|
|
|
|
| |
* put most of the cross-compiling support into a function llvm_create_cross_target_internal.
* when CrossCompile is included it still generates a NATIVE target.
* llvm_create_cross_target function takes a target_name which should match a toolchain.
* llvm_create_cross_target can now be used to target more than one cross-compilation target.
llvm-svn: 232067
|
| |
|
|
|
|
|
|
|
|
| |
Update the doxygen configuration file and Makefile build rules
to provide better output (simply use the default stylesheet and template
from the Doxygen distribution.)
This CL has upgrade doxygen.cfg.in to Doxygen 1.8.6.
llvm-svn: 232064
|
| |
|
|
| |
llvm-svn: 232063
|
| |
|
|
|
|
|
| |
This CL adds --enable-doxygen-search to enable doxygen search engine
and --enable-doxygen-qt-help to enable the Qt help file generation.
llvm-svn: 232062
|
| |
|
|
| |
llvm-svn: 232057
|
| |
|
|
|
|
|
|
| |
Suggested by Craig Topper in D8184.
This goes with r232047.
llvm-svn: 232056
|
| |
|
|
|
|
|
| |
* There is no reason to require SDKROOT as an environment variable because we can derive it from xcrun
* Setting CMAKE_RANLIB makes our static archives usable
llvm-svn: 232053
|
| |
|
|
|
|
|
|
|
| |
This is a convenience function to ease mask creation of ShuffleVectors
in AutoUpgrade and other places.
Differential Revision: http://reviews.llvm.org/D8184
llvm-svn: 232047
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Part of the folding logic implemented by function 'PerformISDSETCCCombine'
only worked under the assumption that the condition code in input could have
been either SETNE or SETEQ.
Unfortunately that assumption was incorrect, and in some cases the algorithm
ended up incorrectly folding SETCC nodes.
The incorrect folding only affected SETCC dag nodes where:
- one of the operands was a build_vector of all zeroes;
- the other operand was a SIGN_EXTEND from a vector of MVT:i1 elements;
- the condition code was neither SETNE nor SETEQ.
Example:
(setcc (v4i32 (sign_extend v4i1:%A)), (v4i32 VectorOfAllZeroes), setge)
Before this patch, the entire dag node sequence from the example was
incorrectly folded to node %A.
With this patch, the dag node sequence is folded to a
(xor %A, (v4i1 VectorOfAllOnes)).
Added test setcc-combine.ll.
Thanks to Greg Bedwell for spotting this issue.
llvm-svn: 232046
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we've replaced the vinsertf128 intrinsics,
do the same for their extract twins.
This is very much like D8086 (checked in at r231794):
We want to replace as much custom x86 shuffling via intrinsics
as possible because pushing the code down the generic shuffle
optimization path allows for better codegen and less complexity
in LLVM.
This is also the LLVM sibling to the cfe D8275 patch.
Differential Revision: http://reviews.llvm.org/D8276
llvm-svn: 232045
|
| |
|
|
|
|
| |
warning; NFC.
llvm-svn: 232035
|
| |
|
|
| |
llvm-svn: 232033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The operand flag word for ISD::INLINEASM nodes now contains a 15-bit
memory constraint ID when the operand kind is Kind_Mem. This constraint
ID is a numeric equivalent to the constraint code string and is converted
with a target specific hook in TargetLowering.
This patch maps all memory constraints to InlineAsm::Constraint_m so there
is no functional change at this point. It just proves that using these
previously unused bits in the encoding of the flag word doesn't break anything.
The next patch will make each target preserve the current mapping of
everything to Constraint_m for itself while changing the target independent
implementation of the hook to return Constraint_Unknown appropriately. Each
target will then be adapted in separate patches to use appropriate Constraint_*
values.
Reviewers: hfinkel
Reviewed By: hfinkel
Subscribers: hfinkel, jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D8171
llvm-svn: 232027
|
| |
|
|
|
|
|
|
|
| |
This is a prerequisite to implement symbol visibility for ELF
in lld.
Differential Revision: http://reviews.llvm.org/D8279
llvm-svn: 232020
|
| |
|
|
|
|
| |
fixed opcode.
llvm-svn: 232018
|
| |
|
|
|
|
| |
where they're supposed to reside.
llvm-svn: 232014
|
| |
|
|
|
|
| |
classes.
llvm-svn: 232013
|
| |
|
|
|
|
| |
classes.
llvm-svn: 232012
|
| |
|
|
|
|
|
|
|
| |
It's firstly committed at r231630, and reverted at r231635.
Function pass InstructionSimplifier is inserted as barrier to
make sure loop unroll pass won't affect on LICM pass.
llvm-svn: 232011
|
| |
|
|
|
|
|
| |
classes. Replace the frame pointer initialization with a static function
that'll look it up via the subtarget on the MachineFunction.
llvm-svn: 232010
|
| |
|
|
| |
llvm-svn: 232009
|
| |
|
|
|
|
|
| |
Add a basic synopsis of how to work with instrprof based coverage
using the llvm-cov tools.
llvm-svn: 232007
|
| |
|
|
|
|
|
| |
classes. Replace it with a cache to the Triple and use that
where applicable at the moment.
llvm-svn: 232005
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
PTX does not allow .align directives on function headers.
Fixes PR21551.
Test Plan: test/Codegen/NVPTX/function-align.ll
Reviewers: eliben, jholewinski
Reviewed By: eliben, jholewinski
Subscribers: llvm-commits, eliben, jpienaar, jholewinski
Differential Revision: http://reviews.llvm.org/D8274
llvm-svn: 232004
|
| |
|
|
|
|
|
|
| |
These docs *don't* match the way WinEHPrepare uses them yet, and
verifier support isn't implemented either. The implementation will come
after the documentation text is reviewed and agreed upon.
llvm-svn: 232003
|
| |
|
|
|
|
|
| |
classes. Replace it with a cache to the TargetMachine and use that
where applicable at the moment.
llvm-svn: 232002
|
| |
|
|
|
|
|
| |
These links seem broken on llvm.org/docs. Change them to use the
sphinx-recommended style to see if that helps.
llvm-svn: 232001
|
| |
|
|
|
|
| |
NFC, this is just shorter.
llvm-svn: 232000
|
| |
|
|
|
|
| |
Patch by Tanya Lattner.
llvm-svn: 231998
|
| |
|
|
| |
llvm-svn: 231996
|
| |
|
|
|
|
|
|
| |
Instead, run both EH preparation passes, and have them both ignore
functions with unrecognized EH personalities. Pass delegation involved
some hacky code for creating an AnalysisResolver that we don't need now.
llvm-svn: 231995
|
| |
|
|
| |
llvm-svn: 231992
|
| |
|
|
|
|
|
|
| |
The code assumed that substr() was taking start,end while it takes
start,length.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 231988
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
I don't know why every singled backend had to redeclare its own DataLayout.
There was a virtual getDataLayout() on the common base TargetMachine, the
default implementation returned nullptr. It was not clear from this that
we could assume at call site that a DataLayout will be available with
each Target.
Now getDataLayout() is no longer virtual and return a pointer to the
DataLayout member of the common base TargetMachine. I plan to turn it into
a reference in a future patch.
The only backend that didn't have a DataLayout previsouly was the CPPBackend.
It now initializes the default DataLayout. This commit is NFC for all the
other backends.
Test Plan: clang+llvm ninja check-all
Reviewers: echristo
Subscribers: jfb, jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D8243
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 231987
|
| |
|
|
| |
llvm-svn: 231985
|