| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 274022
|
| |
|
|
| |
llvm-svn: 274021
|
| |
|
|
| |
llvm-svn: 274020
|
| |
|
|
|
|
|
|
| |
This fixes PR27102.
Differential Revision: http://reviews.llvm.org/D18541
llvm-svn: 274017
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
AVX1 can only broadcast vectors as floats/doubles, so for 256-bit vectors we insert bitcasts if we are shuffling v8i32/v4i64 types. Unfortunately the presence of these bitcasts prevents the current broadcast lowering code from peeking through cases where we have concatenated / extracted vectors to create the 256-bit vectors.
This patch allows us to peek through bitcasts as long as the number of elements doesn't change (i.e. element bitwidth is the same) so the broadcast index is not affected.
Note this bitcast peek is different from the stage later on which doesn't care about the type and is just trying to find a load node.
As we're being more aggressive with bitcasts, we also need to ensure that the broadcast type is correctly bitcasted
Differential Revision: http://reviews.llvm.org/D21660
llvm-svn: 274013
|
| |
|
|
| |
llvm-svn: 274009
|
| |
|
|
| |
llvm-svn: 274007
|
| |
|
|
| |
llvm-svn: 274005
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(V)PSHUFD/VPERMILPD/VPERMILPS immediate permutes
This patch allows target shuffles to be combined to single input immediate permute instructions - (V)PSHUFD/VPERMILPD/VPERMILPS - allowing more general pattern matching than what we current do and improves the likelihood of memory folding compared to existing patterns which tend to reuse the input in multiple arguments.
Further permute instructions (V)PSHUFLW/(V)PSHUFHW/(V)PERMQ/(V)PERMPD may be added in the future but its proven tricky to create tests cases for them so far. (V)PSHUFLW/(V)PSHUFHW is already handled quite well in combineTargetShuffle so it may be that removing some of that code may allow us to perform more of the combining in one place without duplication.
Differential Revision: http://reviews.llvm.org/D21148
llvm-svn: 273999
|
| |
|
|
|
|
|
|
|
|
| |
This patch enhances dot graph viewer to show hot regions
with hot bbs/edges displayed in red. The ratio of the bb
freq to the max freq of the function needs to be no less
than the value specified by view-hot-freq-percent option.
The default value is 10 (i.e. 10%).
llvm-svn: 273996
|
| |
|
|
|
|
|
|
|
| |
MBFI supports profile count dumping and function
name based filtering. Add these two feature to
BFI as well. The filtering option is shared between
BFI and MBFI: -view-bfi-func-name=..
llvm-svn: 273992
|
| |
|
|
|
|
|
|
| |
If the load is conditional we can't hoist its 0-iteration instance to
the preheader because that would make it unconditional. Thus we would
access a memory location that the original loop did not access.
llvm-svn: 273991
|
| |
|
|
|
|
|
|
|
|
|
| |
BFI and MBFI's dot traits class share most of the
code and all future enhancement. This patch extracts
common implementation into base class BFIDOTGraphTraitsBase.
This patch also enables BFI graph to show branch probability
on edges as MBFI does before.
llvm-svn: 273990
|
| |
|
|
|
|
| |
Bonus changes, * placement in X86ISelLowering and 'exerce' -> 'exercise' in test.
llvm-svn: 273984
|
| |
|
|
|
|
|
| |
This was producing acceses to registers beyond the super
register's limits, resulting in verifier failures.
llvm-svn: 273977
|
| |
|
|
| |
llvm-svn: 273975
|
| |
|
|
| |
llvm-svn: 273974
|
| |
|
|
|
|
|
|
| |
Expose getBPI interface from BFI impl and use
it in graph viewer. This eliminates the dependency
on old PM interface.
llvm-svn: 273967
|
| |
|
|
| |
llvm-svn: 273964
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the new pass manager.
This adds operator<< overloads for the various bits of the
LazyCallGraph, dump methods for use from the debugger, and debug logging
using them to the CGSCC pass manager.
Having this was essential for debugging the call graph update patch, and
I've extracted what I could from that patch here to minimize the delta.
llvm-svn: 273961
|
| |
|
|
|
|
| |
Thanks to Benjamin Kramer for noticing.
llvm-svn: 273959
|
| |
|
|
|
|
| |
Should fix the shared library build.
llvm-svn: 273958
|
| |
|
|
|
|
|
|
| |
Apparently, MSVC complains if there's an implicit conversion from
`unsigned` to `unsigned long long`, if the `unsigned` is the result of
a bit shift.
llvm-svn: 273955
|
| |
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D21690
llvm-svn: 273952
|
| |
|
|
|
|
|
|
|
|
|
| |
is small enough (PR28153)
This should fix PR28153:
https://llvm.org/bugs/show_bug.cgi?id=28153
Differential Revision: http://reviews.llvm.org/D21769
llvm-svn: 273951
|
| |
|
|
|
|
| |
This change reverts a "false" test that was placed to avoid regressions while the atomics pass was completed for the Sparc back-ends.
llvm-svn: 273949
|
| |
|
|
|
|
| |
Not sure this actually changes anything
llvm-svn: 273947
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Expected<...> to
allow a good error message to be produced.
I added the one test case that the object file tools could produce an error
message. The other two errors can’t be triggered if the input file is passed
through sys::fs::identify_magic(). But the malformedError("bad magic number")
does get triggered by the logic in llvm-dsymutil when dealing with a normal
Mach-O file. The other "File too small ..." error would take a logic error
currently to produce and is not tested for.
llvm-svn: 273946
|
| |
|
|
| |
llvm-svn: 273945
|
| |
|
|
|
|
| |
In all its uses it was equivalent to IsNotPIC.
llvm-svn: 273943
|
| |
|
|
| |
llvm-svn: 273940
|
| |
|
|
| |
llvm-svn: 273937
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: jingyue, jlebar
Subscribers: jholewinski
Differential Revision: http://reviews.llvm.org/D21756
llvm-svn: 273922
|
| |
|
|
|
|
| |
Fixes a fixme about handling other visibilities.
llvm-svn: 273921
|
| |
|
|
|
|
|
| |
The bug is connected to vector GEPs.
https://llvm.org/bugs/show_bug.cgi?id=28313
llvm-svn: 273919
|
| |
|
|
|
|
| |
Also fix pointlessly adding exec to liveins.
llvm-svn: 273916
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Our YAML library's handling of tags isn't perfect, but it is good enough to get rid of the need for the --format argument to yaml2obj. This patch does exactly that.
Instead of requiring --format, it infers the format based on the tags found in the object file. The supported tags are:
!ELF
!COFF
!mach-o
!fat-mach-o
I have a corresponding patch that is quite large that fixes up all the in-tree test cases.
Reviewers: rafael, Bigcheese, compnerd, silvas
Subscribers: compnerd, llvm-commits
Differential Revision: http://reviews.llvm.org/D21711
llvm-svn: 273915
|
| |
|
|
|
|
|
| |
Code already assumes this is float. getFPAccuracy()
crashes on any other type.
llvm-svn: 273912
|
| |
|
|
| |
llvm-svn: 273909
|
| |
|
|
| |
llvm-svn: 273907
|
| |
|
|
|
|
|
| |
There's at least one more fold to do here:
https://llvm.org/bugs/show_bug.cgi?id=28153
llvm-svn: 273904
|
| |
|
|
| |
llvm-svn: 273903
|
| |
|
|
|
|
|
|
|
| |
This uses `1U` instead of `1ULL` because StratifiedAttrs is a 32-bit
bitset.
Thanks to Hans-Bernhard Broker for bringing this up.
llvm-svn: 273902
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 273901
|
| |
|
|
| |
llvm-svn: 273900
|
| |
|
|
|
|
|
|
| |
Fixed a bug in EmitTest() function in combining shl + icmp.
https://llvm.org/bugs/show_bug.cgi?id=28119
llvm-svn: 273899
|
| |
|
|
|
|
| |
The APInt matcher works with splat vectors, so we get this fold for vectors too.
llvm-svn: 273897
|
| |
|
|
| |
llvm-svn: 273896
|
| |
|
|
|
|
| |
intrinsics" since some of the clang tests don't expect to see the updated signatures.
llvm-svn: 273895
|
| |
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D21699
llvm-svn: 273894
|