| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Add extra test that was accidentally not staged.
llvm-svn: 229101
|
| |
|
|
|
|
|
|
| |
Up the phi node folding threshold from a cheap "1" to a meagre "2".
Update tests for extra added selects and slight code churn.
llvm-svn: 229099
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Made the following changes:
Added calls to emitDirectiveSetNoAt() and emitDirectiveSetAt().
Added special emit function for .set at=$reg, emitDirectiveSetAtWithArg(unsigned RegNo).
Improved parsing error checks for .set at.
Refactored parser code for .set at.
Improved testing of both directives.
Improved code readability and comments.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7176
llvm-svn: 229097
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
regressions for LLDB on Linux. Rafael indicated on lldb-dev that we
should just go ahead and revert these but that he wasn't at a computer.
The patches backed out are as follows:
r228980: Add support for having multiple sections with the name and ...
r228889: Invert the section relocation map.
r228888: Use the existing SymbolTableIndex intsead of doing a lookup.
r228886: Create the Section -> Rel Section map when it is first needed.
These patches look pretty nice to me, so hoping its not too hard to get
them re-instated. =D
llvm-svn: 229080
|
| |
|
|
|
|
| |
VPCOM instructions.
llvm-svn: 229078
|
| |
|
|
| |
llvm-svn: 229070
|
| |
|
|
|
|
| |
The builtins aren't used by clang.
llvm-svn: 229069
|
| |
|
|
|
|
|
|
|
|
| |
The issues with the new unroll analyzer are more fundamental than code
cleanup, algorithm, or data structure changes. I've sent an email to the
original commit thread with details and a proposal for how to redesign
things. I'm disabling this for now so that we don't spend time
debugging issues with it in its current state.
llvm-svn: 229064
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- First, there's a crash when we try to combine that pointers into `icmp`
directly by creating a `bitcast`, which is invalid if that two pointers are
from different address spaces.
- It's not always appropriate to cast one pointer to another if they are from
different address spaces as that is not no-op cast. Instead, we only combine
`icmp` from `ptrtoint` if that two pointers are of the same address space.
llvm-svn: 229063
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
propagating of metadata.
We were propagating !nonnull metadata even when the newly formed load is
no longer of a pointer type. This is clearly broken and results in LLVM
failing the verifier and aborting. This patch just restricts the
propagation of !nonnull metadata to when we actually have a pointer
type.
This bug report and the initial version of this patch was provided by
Charles Davis! Many thanks for finding this!
We still need to add logic to round-trip the metadata correctly if we
combine from pointer types to integer types and then back by using range
metadata for the integer type loads. But this is the minimal and safe
version of the patch, which is important so we can backport it into 3.6.
llvm-svn: 229029
|
| |
|
|
| |
llvm-svn: 229027
|
| |
|
|
| |
llvm-svn: 229025
|
| |
|
|
| |
llvm-svn: 229024
|
| |
|
|
| |
llvm-svn: 229023
|
| |
|
|
| |
llvm-svn: 229022
|
| |
|
|
| |
llvm-svn: 229020
|
| |
|
|
| |
llvm-svn: 229019
|
| |
|
|
| |
llvm-svn: 229018
|
| |
|
|
| |
llvm-svn: 229017
|
| |
|
|
| |
llvm-svn: 229016
|
| |
|
|
| |
llvm-svn: 229015
|
| |
|
|
| |
llvm-svn: 229014
|
| |
|
|
| |
llvm-svn: 229013
|
| |
|
|
| |
llvm-svn: 229011
|
| |
|
|
| |
llvm-svn: 229010
|
| |
|
|
| |
llvm-svn: 229009
|
| |
|
|
| |
llvm-svn: 229007
|
| |
|
|
| |
llvm-svn: 229006
|
| |
|
|
| |
llvm-svn: 229005
|
| |
|
|
| |
llvm-svn: 229004
|
| |
|
|
| |
llvm-svn: 229003
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes the following changes:
- Stop issuing a warning when the triples' string representations do not match
exactly if the Triple objects generated from the strings compare equal.
- On Apple platforms, choose the triple that has the larger minimum version
number.
rdar://problem/16743513
Differential Revision: http://reviews.llvm.org/D7591
llvm-svn: 228999
|
| |
|
|
| |
llvm-svn: 228995
|
| |
|
|
|
|
| |
+Asserts due to -debug.
llvm-svn: 228989
|
| |
|
|
|
|
|
|
| |
Using this in combination with -ffunction-sections allows LLVM to output a .o
file with mulitple sections named .text. This saves space by avoiding long
unique names of the form .text.<C++ mangled name>.
llvm-svn: 228980
|
| |
|
|
|
|
|
|
|
|
|
| |
Constant pool entries are uniqued by their contents regardless of their
type. This means that a pshufb can have a shuffle mask which isn't a
simple array of bytes.
The code path which attempts to decode the mask didn't check for
failure, causing PR22559.
llvm-svn: 228979
|
| |
|
|
|
|
| |
This should hopefully fix objc on AArch64.
llvm-svn: 228976
|
| |
|
|
| |
llvm-svn: 228973
|
| |
|
|
| |
llvm-svn: 228972
|
| |
|
|
|
|
|
|
|
|
| |
to a typeless-pointer future.
I'd modify my migration tool to account for this, but this is the only
instance of a typedef'd pointer type to a gep I found in the whole test
suite, so it didn't seem worthwhile.
llvm-svn: 228970
|
| |
|
|
|
|
|
|
|
|
| |
The PowerPC backend has long promoted some floating-point vector operations
(such as select) to integer vector operations. Unfortunately, this behavior was
broken by r216555. When using FP_EXTEND/FP_ROUND for promotions, we must check
that both the old and new types are floating-point types. Otherwise, we must
use BITCAST as we did prior to r216555 for everything.
llvm-svn: 228969
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Implement the bulk of returning values in Mips fast-isel
Test Plan:
reatabi.ll
Passes test-suite at -O0,-O2 and with mips32r2 and mips32r1.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits, aemerson, rfuhler
Differential Revision: http://reviews.llvm.org/D5920
llvm-svn: 228958
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Instances of the AssumptionCache are per function, so we can't re-use
the same AssumptionCache instance when recursing in the CallAnalyzer to
analyze a different function. Instead we have to pass the
AssumptionCacheTracker to the CallAnalyzer so it can get the right
AssumptionCache on demand.
Reviewers: hfinkel
Subscribers: llvm-commits, hans
Differential Revision: http://reviews.llvm.org/D7533
llvm-svn: 228957
|
| |
|
|
| |
llvm-svn: 228956
|
| |
|
|
|
|
|
|
| |
vectors
The loop vectorizer can create this pattern.
llvm-svn: 228954
|
| |
|
|
| |
llvm-svn: 228951
|
| |
|
|
|
|
| |
Fixes PR22558.
llvm-svn: 228939
|
| |
|
|
|
|
| |
This allows the linker to GC both, fixing pr22557.
llvm-svn: 228937
|
| |
|
|
|
|
|
|
|
| |
We can't solve the full subgraph isomorphism problem. But we can
allow obvious cases, where for example two instructions of different
types are out of order. Due to them having different types/opcodes,
there is no ambiguity.
llvm-svn: 228931
|
| |
|
|
|
|
|
|
| |
a push
Since we track esp precisely, there's no reason not to allow this.
llvm-svn: 228924
|