| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nm.html .
1) For Mach-O files the code was not printing the values in hex as is the default.
2) The values printed had leading zeros which they should not have.
3) The address for undefined symbols was printed as spaces instead of 0.
4) With the -A option with posix output for an archive did not use square
brackets around the archive member name.
rdar://25311883 and rdar://25299678
llvm-svn: 264778
|
| |
|
|
|
|
|
|
|
| |
They were previously expanded to CAS loops in a custom isel expansion,
but AtomicExpandPass knows how to do that generically.
Testing is covered by the existing sparc atomics.ll testcases.
llvm-svn: 264771
|
| |
|
|
|
|
| |
operand has a dead flag
llvm-svn: 264769
|
| |
|
|
| |
llvm-svn: 264768
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Create a common accessor, DbgInfoIntrinsic::getVariableLocation, which
doesn't care about the type of debug info intrinsic. Use this to
further unify the implementations of DbgDeclareInst::getAddress and
DbgValueInst::getValue.
Besides being a cleanup, I'm planning to use this to prepare DEBUG
output without having to branch on the concrete type.
llvm-svn: 264767
|
| |
|
|
|
|
| |
newer"
llvm-svn: 264764
|
| |
|
|
|
|
|
|
|
|
|
| |
Since we have moved to a model where functions are imported in bulk from
each source module after making summary-based importing decisions, there
is no longer a need to link metadata as a postpass, and all users have
been removed.
This essentially reverts r255909 and follow-on fixes.
llvm-svn: 264763
|
| |
|
|
| |
llvm-svn: 264758
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add function soft attribute to the generation of Jump Tables in CodeGen
as initial step towards clang support of gcc's no-jump-table support
Reviewers: hans, echristo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18321
llvm-svn: 264756
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Check that any function that has the property set is free of virtual
register operands.
Also, it is actually VirtRegMap (and not the register allocators) that
acutally remove the VReg operands (except for RegAllocFast).
Reviewers: qcolombet
Subscribers: MatzeB, llvm-commits, qcolombet
Differential Revision: http://reviews.llvm.org/D18535
llvm-svn: 264755
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17866
llvm-svn: 264754
|
| |
|
|
| |
llvm-svn: 264748
|
| |
|
|
|
|
|
|
|
| |
MatchBinaryOp abstracts out the IR instructions from the operations they
represent. While this change is NFC, we will use this factoring later
to map things like `(extractvalue 0 (sadd.with.overflow X Y))` to `(add
X Y)`.
llvm-svn: 264747
|
| |
|
|
| |
llvm-svn: 264746
|
| |
|
|
| |
llvm-svn: 264744
|
| |
|
|
| |
llvm-svn: 264743
|
| |
|
|
| |
llvm-svn: 264738
|
| |
|
|
| |
llvm-svn: 264736
|
| |
|
|
|
|
|
| |
This was already being used for functions and aliases, was missed when
handling global variables.
llvm-svn: 264734
|
| |
|
|
| |
llvm-svn: 264731
|
| |
|
|
| |
llvm-svn: 264728
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
checks. NFC.
Summary:
However, this has no effect at this time because the instructions affected
are marked 'isCodeGenOnly=1' and have no alternative for the MC layer.
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D18179
llvm-svn: 264712
|
| |
|
|
| |
llvm-svn: 264706
|
| |
|
|
| |
llvm-svn: 264704
|
| |
|
|
|
|
|
|
|
| |
1) Skylake and KNL support for X86
2) masked intrinsics load/store/gather/scatter
Differential Revision: http://reviews.llvm.org/D18353
llvm-svn: 264703
|
| |
|
|
| |
llvm-svn: 264702
|
| |
|
|
|
|
|
|
|
| |
Fixed fp_to_uint instruction selection on KNL.
One pattern was missing for <4 x double> to <4 x i32>
Differential Revision: http://reviews.llvm.org/D18512
llvm-svn: 264701
|
| |
|
|
|
|
|
| |
Support parsing a METADATA_STRINGS record that only has a single piece
of metadata, !"". Fixes a corner case in r264551.
llvm-svn: 264699
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
especially for nested loops
When eliminating or merging almost empty basic blocks, the existence of non-trivial PHI nodes
is currently used to recognize potential loops of which the block is the header and keep the block.
However, the current algorithm fails if the loops' exit condition is evaluated only with volatile
values hence no PHI nodes in the header. Especially when such a loop is an outer loop of a nested
loop, the loop is collapsed into a single loop which prevent later optimizations from being
applied (e.g., transforming nested loops into simplified forms and loop vectorization).
The patch augments the existing PHI node-based check by adding a pre-test if the BB actually
belongs to a set of loop headers and not eliminating it if yes.
llvm-svn: 264697
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split RegisterOperands code that collects defs/uses into a variant with
and without lanemask tracking. This is a bit of code duplication, but
there are enough subtle differences between the two variants that this
seems cleaner (and potentially faster).
This also fixes a problem where lanes where tracked even though
TrackLaneMasks was false. This is part of the fix for
http://llvm.org/PR27106. I will commit the testcase when it is
completely fixed.
llvm-svn: 264696
|
| |
|
|
|
|
|
| |
Also add a FIXME comment on why Mips RDDSP causes bogus dead flags to be
added which LiveVariables cleans up by accident.
llvm-svn: 264695
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D18534
llvm-svn: 264693
|
| |
|
|
|
|
|
|
|
| |
Instead of using two feature bits, one to indicate the availability of the
popcnt[dw] instructions, and another to indicate whether or not they're fast,
use a single enum. This allows more consistent control via target attribute
strings, and via Clang's command line.
llvm-svn: 264690
|
| |
|
|
|
|
|
|
|
|
|
| |
Minimum density for both optsize and non optsize are now options
-sparse-jump-table-density (default 10) for non optsize functions
-dense-jump-table-density (default 40) for optsize functions, which
matches the current default. This improves several benchmarks at google
at the cost of a small codesize increase. For code compiled with -Os,
the old behavior continues
llvm-svn: 264689
|
| |
|
|
|
|
|
|
| |
Replace references to MaxHeadSamples with MaxFunctionCount
Differential Revision: http://reviews.llvm.org/D18522
llvm-svn: 264686
|
| |
|
|
|
|
| |
Also put all the disabled passes together
llvm-svn: 264684
|
| |
|
|
|
|
|
| |
This should say that we could do unaligned vector loads on the P7 using VSX
instructions, not that we should.
llvm-svn: 264683
|
| |
|
|
| |
llvm-svn: 264679
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to function names
Summary:
Hopefully this will make it easier for the next person to figure all
this out...
Reviewers: bogner, davidxl
Subscribers: davidxl, cfe-commits
Differential Revision: http://reviews.llvm.org/D18489
llvm-svn: 264678
|
| |
|
|
| |
llvm-svn: 264677
|
| |
|
|
| |
llvm-svn: 264676
|
| |
|
|
| |
llvm-svn: 264675
|
| |
|
|
| |
llvm-svn: 264674
|
| |
|
|
| |
llvm-svn: 264673
|
| |
|
|
| |
llvm-svn: 264672
|
| |
|
|
| |
llvm-svn: 264671
|
| |
|
|
| |
llvm-svn: 264670
|
| |
|
|
|
|
| |
This should fix the build with MSVC 2013
llvm-svn: 264668
|
| |
|
|
|
|
|
|
|
|
| |
Personality is copied as part of copyFunctionAttributes, but it is
invalid on a declaration. Remove the personality attribute it the
function body is not cloned.
Also add a verifier run over output modules in the llvm-split tool.
llvm-svn: 264667
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
for all their scalar elements.
If all a BUILD_VECTOR's source elements are the same bit (AND/XOR/OR) operation type and each has one constant operand, lower to a pair of BUILD_VECTOR and just apply the bit operation to the vectors.
The constant operands will form a constant vector meaning that we still only have a single BUILD_VECTOR to lower and we will have replaced all the scalarized operations with a single SSE equivalent.
Its not in our interest to start make a general purpose vectorizer from this, but I'm seeing enough of these scalar bit operations from the later legalization/scalarization stages to support them at least.
Differential Revision: http://reviews.llvm.org/D18492
llvm-svn: 264666
|