| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 175358
|
| |
|
|
|
|
| |
Also fix one test by changing "vpermilps" to "vpshufd".
llvm-svn: 175357
|
| |
|
|
|
|
|
|
| |
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175356
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's completely unnecessary and can be replace with proper
SReg_64 handling instead.
This actually fixes a piglit test on SI.
v2: use correct register class in addRegisterClass,
set special classes as not allocatable
v3: revert setting special classes as not allocateable
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175355
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems to be allot simpler, and also paves the
way for further improvements.
v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW,
use VGPR0 in dummy EXP, avoid compiler warning, break
after encoding the first literal.
v3: correctly use V_ADD_F32_e64
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175354
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Mark all the operands that can also have an immediate.
v2: SOFFSET is also an SSrc_32 operand
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175353
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Previously it only worked because of coincident.
v2: fix 64bit versions, use 0x80 (inline 0) instead of SGPR0
for the unused SRC2
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175352
|
| |
|
|
|
|
|
|
| |
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175351
|
| |
|
|
|
|
|
|
| |
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175350
|
| |
|
|
|
|
|
|
|
|
| |
Stop adding more instructions than necessary.
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175349
|
| |
|
|
|
|
|
|
|
|
| |
Generate more than one loop if it seems to make sense.
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175348
|
| |
|
|
|
|
|
|
|
|
| |
Using the new NearestCommonDominator class.
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175347
|
| |
|
|
|
|
|
|
|
|
| |
Using the new NearestCommonDominator class.
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175346
|
| |
|
|
|
|
|
|
| |
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175345
|
| |
|
|
| |
llvm-svn: 175344
|
| |
|
|
| |
llvm-svn: 175343
|
| |
|
|
|
|
|
| |
consistent with how BuildMI works. No new tests needed. All should work
the same as before.
llvm-svn: 175342
|
| |
|
|
| |
llvm-svn: 175338
|
| |
|
|
|
|
| |
new features.
llvm-svn: 175336
|
| |
|
|
|
|
|
|
|
|
|
| |
If the frame pointer is omitted, and any stack changes occur in the inline
assembly, e.g.: "pusha", then any C local variable or C argument references
will be incorrect.
I pass no judgement on anyone who would do such a thing. ;)
rdar://13218191
llvm-svn: 175334
|
| |
|
|
|
|
| |
so.
llvm-svn: 175327
|
| |
|
|
|
|
| |
No functionality change intended.
llvm-svn: 175325
|
| |
|
|
| |
llvm-svn: 175324
|
| |
|
|
| |
llvm-svn: 175322
|
| |
|
|
|
|
|
| |
When we're recalculating the feature set of the subtarget, we need to have the
ivars in their initial state.
llvm-svn: 175320
|
| |
|
|
| |
llvm-svn: 175319
|
| |
|
|
|
|
|
| |
Input/Output rewrite to the same location. Make sure the SizeDirective rewrite
is performed first. This also ensure the sort algorithm is stable.
llvm-svn: 175317
|
| |
|
|
|
|
|
|
|
|
|
|
| |
With bundle alignment, instructions all get their own MCFragments
(unless they are in a bundle-locked group). For instructions with
fixups, this is an MCDataFragment. Emitting actual data (e.g. for
.long) attempts to re-use MCDataFragments, which we don't want int
this case since it leads to fragments which exceed the bundle size.
So, don't reuse them in this case.
Also adds a test and fixes some formatting.
llvm-svn: 175316
|
| |
|
|
| |
llvm-svn: 175315
|
| |
|
|
|
|
|
|
|
|
| |
features.
If two functions require different features (e.g., `-mno-sse' vs. `-msse') then
we want to honor that, especially during LTO. We can do that by resetting the
subtarget's features depending upon the 'target-feature' attribute.
llvm-svn: 175314
|
| |
|
|
| |
llvm-svn: 175312
|
| |
|
|
|
|
| |
metadata, sorry.
llvm-svn: 175311
|
| |
|
|
|
|
| |
No functionality change intended.
llvm-svn: 175310
|
| |
|
|
| |
llvm-svn: 175302
|
| |
|
|
|
|
|
|
|
|
|
| |
functions. Set AddedComplexity to determine the order in which patterns are
matched.
This simplifies selection of floating point loads/stores.
No functionality change intended.
llvm-svn: 175300
|
| |
|
|
|
|
|
| |
of the old jit and which we don't intend to support in mips16 or micromips.
This dependency is for the testing of whether an instruction is a pseudo.
llvm-svn: 175297
|
| |
|
|
| |
llvm-svn: 175294
|
| |
|
|
| |
llvm-svn: 175293
|
| |
|
|
|
|
|
| |
While there postpone register name printing after uniquing.
No intended functionality change.
llvm-svn: 175292
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- add sincos to runtime library if target triple environment is GNU
- added canCombineSinCosLibcall() which checks that sincos is in the RTL and
if the environment is GNU then unsafe fpmath is enabled (required to
preserve errno)
- extended sincos-opt lit test
Reviewed by: Hal Finkel
llvm-svn: 175283
|
| |
|
|
|
|
|
|
| |
support constant extension.
This patch doesn't introduce any functionality changes.
llvm-svn: 175280
|
| |
|
|
|
|
|
|
|
|
| |
Several functions and variable names used the term 'tree' to refer
to what is actually a DAG. Correcting this mistake will, hopefully,
prevent confusion in the future.
No functionality change intended.
llvm-svn: 175278
|
| |
|
|
|
|
| |
types..."
llvm-svn: 175273
|
| |
|
|
|
|
|
|
|
| |
It enables to work with a smaller constant, which is target friendly for those which can compare to immediates.
It also avoids inserting a shift in favor of a trunc, which can be free on some targets.
This used to work until LLVM-3.1, but regressed with the 3.2 release.
llvm-svn: 175270
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is essentially a stripped-down version of the ConstandIslands pass (which
always had these two functions), providing just the features necessary for
correctness.
In particular there needs to be a way to resolve the situation where a
conditional branch's destination block ends up out of range.
This issue crops up when self-hosting for AArch64.
llvm-svn: 175269
|
| |
|
|
|
|
|
| |
than we need to and some ELF linkers complain about directly accessing symbols
with default visibility.
llvm-svn: 175268
|
| |
|
|
|
|
|
|
| |
blocks. We still don't have consensus if we should try to change clang or
the standard, but llvm should work with compilers that implement the current
standard and mangle those functions.
llvm-svn: 175267
|
| |
|
|
|
|
| |
https://code.google.com/p/address-sanitizer/issues/detail?id=151
llvm-svn: 175266
|
| |
|
|
|
|
| |
linkage.
llvm-svn: 175264
|
| |
|
|
|
|
|
|
| |
This implements the review suggestion to simplify the AArch64 backend. If we
later discover that we *really* need the extra complexity of the
ConstantIslands pass for performance reasons it can be resurrected.
llvm-svn: 175258
|