| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 175366
|
| |
|
|
| |
llvm-svn: 175365
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 175364
|
| |
|
|
| |
llvm-svn: 175363
|
| |
|
|
|
|
| |
updateScheduledPressure method.
llvm-svn: 175362
|
| |
|
|
|
|
| |
to r175354.
llvm-svn: 175361
|
| |
|
|
|
|
|
|
| |
GNU as rejects them and there are configure scripts in the wild that check if
the assembler rejects ".align 3" to determine whether the alignment is in bytes
or powers of two.
llvm-svn: 175360
|
| |
|
|
| |
llvm-svn: 175359
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
consistent with how BuildMI works. No new tests needed. All should work
the same as before.
llvm-svn: 175342
|
| |
|
|
|
|
| |
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: 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
|
| |
|
|
|
|
| |
No functionality change intended.
llvm-svn: 175310
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
In the near future litpools will be in a different section, which means that
any access to them is at least two instructions. This makes the case for a
movz/movk pair (if total offset <= 32-bits) even more compelling.
llvm-svn: 175257
|
| |
|
|
| |
llvm-svn: 175252
|