| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Instead of rolling our own min/max matching code (which is notoriously
hard to get completely right), use ValueTracking's instead.
llvm-svn: 251785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The new function sys::path::user_cache_directory tries to discover
a directory suitable for cache storage for current system user.
On Windows and Darwin it returns a path to system-specific user cache directory.
On Linux it follows XDG Base Directory Specification, what is:
- use non-empty $XDG_CACHE_HOME env var,
- use $HOME/.cache.
Reviewers: chapuni, aaron.ballman, rafael
Subscribers: rafael, aaron.ballman, llvm-commits
Differential Revision: http://reviews.llvm.org/D13801
llvm-svn: 251784
|
| |
|
|
|
|
|
|
| |
VBROADCASTF32x2 instructions.
Differential Revision: http://reviews.llvm.org/D14216
llvm-svn: 251781
|
| |
|
|
|
|
| |
intrinsics. Nothing upstream prevented illegal values from getting here.
llvm-svn: 251780
|
| |
|
|
|
|
| |
causes the code emitter to throw an assertion if we try to encode it. Need to add a check to fail isel for this, but for now avoid testing it.
llvm-svn: 251779
|
| |
|
|
| |
llvm-svn: 251778
|
| |
|
|
| |
llvm-svn: 251777
|
| |
|
|
|
|
| |
unreachable in their default case.
llvm-svn: 251776
|
| |
|
|
| |
llvm-svn: 251775
|
| |
|
|
| |
llvm-svn: 251774
|
| |
|
|
| |
llvm-svn: 251773
|
| |
|
|
| |
llvm-svn: 251772
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Added a set of public interfaces in InstrProfRecord
class to access (read/write) value profile data.
2. Changed IndexedProfile reader and writer code to
use the newly defined interfaces and hide implementation
details.
3. Added a couple of unittests for value profiling:
- Test new interfaces to get and set value profile data
- Test value profile data merging with various scenarios.
No functional change is expected. The new interfaces will also
make it possible to change on-disk format of value prof data
to be more compact (to be submitted).
llvm-svn: 251771
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Have `getConstantEvolutionLoopExitValue` work correctly with multiple
entry loops.
As far as I can tell, `getConstantEvolutionLoopExitValue` never did the
right thing for multiple entry loops; and before r249712 it would
silently return an incorrect answer. r249712 changed SCEV to fail an
assert on a multiple entry loop, and this change fixes the underlying
issue.
llvm-svn: 251770
|
| |
|
|
| |
llvm-svn: 251769
|
| |
|
|
|
|
| |
The latter might go away (anytime soon).
llvm-svn: 251765
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Optimized <8 x i32> to <8 x i16>
<4 x i64> to < 4 x i32>
<16 x i16> to <16 x i8>
All these oprtrations use now AVX512F set (KNL). Before this change it was implemented with AVX2 set.
Differential Revision: http://reviews.llvm.org/D14108
llvm-svn: 251764
|
| |
|
|
|
|
|
| |
This adds support for COFF I386. This is sufficient for code execution in a
32-bit JIT, though, imported symbols need to custom lowered for the redirection.
llvm-svn: 251761
|
| |
|
|
| |
llvm-svn: 251759
|
| |
|
|
|
|
|
| |
We never need to pass end(). This will also remove some complication
once we start adding error checking.
llvm-svn: 251758
|
| |
|
|
| |
llvm-svn: 251757
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Prevent `createNodeFromSelectLikePHI` from creating SCEV expressions
that break LCSSA.
A better fix for the same issue is to teach SCEVExpander to not break
LCSSA by inserting PHI nodes at appropriate places. That's planned for
the future.
Fixes PR25360.
llvm-svn: 251756
|
| |
|
|
| |
llvm-svn: 251755
|
| |
|
|
| |
llvm-svn: 251754
|
| |
|
|
| |
llvm-svn: 251753
|
| |
|
|
|
|
|
| |
The initial coverage checking code for sample records failed to count
records inside inlined profiles. This change fixes the oversight.
llvm-svn: 251752
|
| |
|
|
|
|
| |
already known to be a vector. This should result in slightly less code. NFC
llvm-svn: 251751
|
| |
|
|
|
|
|
|
|
|
| |
This is a bit ugly, but has a few advantages:
* Archive is now easy to copy since there is no Archive -> Child -> Archive
loop.
* It makes it clear that we already checked for errors when finding the Child
data.
llvm-svn: 251750
|
| |
|
|
| |
llvm-svn: 251749
|
| |
|
|
|
|
| |
We only need to store a StringRef.
llvm-svn: 251748
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attribute is not present.
During my refactor in r251595 I changed the behavior of optimizeSqrt(),
skipping the transformation if the function wasn't marked with unsafe-fp-math
attribute. This fixed a bug, as confirmed by Sanjay (before the optimization
was silently executed anyway), although it wasn't my primary aim.
This commit adds a test to ensure the code doesn't break again.
Reported by: Marcello Maggioni
Discussed with: Sanjay Patel
llvm-svn: 251747
|
| |
|
|
|
|
| |
We only need to store a StringRef
llvm-svn: 251746
|
| |
|
|
|
|
| |
the type is simple. NFC
llvm-svn: 251745
|
| |
|
|
|
|
| |
getScalarType().getScalarSizeInBits(). NFC
llvm-svn: 251744
|
| |
|
|
|
|
| |
just use normal object creation syntax. NFC
llvm-svn: 251743
|
| |
|
|
| |
llvm-svn: 251742
|
| |
|
|
| |
llvm-svn: 251741
|
| |
|
|
|
|
| |
subvectors and elements by exploiting the fact that all supported vector types have a power 2 number of elements.
llvm-svn: 251740
|
| |
|
|
| |
llvm-svn: 251737
|
| |
|
|
|
|
|
|
|
|
| |
it is not small.
This complements CopyConstructorNotSmallTest. If we are testing the copy
constructor in such a way, we should also probably test assignment in the same
way.
llvm-svn: 251736
|
| |
|
|
|
|
|
|
| |
underlying memory, and will automatically release it on destruction.
Use this to tidy up the orc::IndirectStubsInfo class.
llvm-svn: 251731
|
| |
|
|
|
|
|
|
| |
loop over the SCC.
The separate function wasn't really adding much, NFC.
llvm-svn: 251728
|
| |
|
|
|
|
|
| |
This is a really straightforward port. Also adds a test for the pass,
since it only seemed to be tested tangentially before.
llvm-svn: 251726
|
| |
|
|
| |
llvm-svn: 251725
|
| |
|
|
| |
llvm-svn: 251724
|
| |
|
|
| |
llvm-svn: 251723
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
While llvm-nm parses the -g option and has help that describes it as:
-extern-only - Show only external symbols
There is no code in the program to use the boolean valve it sets from the
command line.
rdar://23261095
llvm-svn: 251718
|
| |
|
|
|
|
|
|
|
|
|
| |
from its pass harness by providing a lambda to query for AA results.
This allows the legacy pass to easily provide a lambda that uses the
special helpers to construct function AA results from a legacy CGSCC
pass. With the new pass manager (the next patch) the lambda just
directly wraps the intuitive query API.
llvm-svn: 251715
|
| |
|
|
|
|
|
|
|
|
| |
Summary:
Imports should be generated like (param i32 f32...) not (param i32) (param f32) ...
Author: binji
Reviewers: jfb
Subscribers: jfb, dschuff
llvm-svn: 251714
|
| |
|
|
| |
llvm-svn: 251705
|