| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 175530
|
| |
|
|
|
|
|
|
|
|
|
| |
Due to the execution order of doFinalization functions, the GC information were
deleted before AsmPrinter::doFinalization was executed. Thus, the
GCMetadataPrinter::finishAssembly was never called.
The patch fixes that by moving the code of the GCInfoDeleter::doFinalization to
Printer::doFinalization.
llvm-svn: 175528
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A vectorized sitfp on doubles will get scalarized to a sequence of an
extract_element of <2 x i32>, a bitcast to f32 and a sitofp.
Due to the the extract_element, and the bitcast we will uneccessarily generate
moves between scalar and vector registers.
The patch fixes this by using a COPY_TO_REGCLASS and a EXTRACT_SUBREG to extract
the element from the vector instead.
radar://13191881
llvm-svn: 175520
|
| |
|
|
|
|
| |
BtnezT8SltiX16, BtnezT8SltiuX16 .
llvm-svn: 175486
|
| |
|
|
| |
llvm-svn: 175474
|
| |
|
|
| |
llvm-svn: 175460
|
| |
|
|
|
|
|
|
| |
If the memcpy has an odd length with an alignment of 2, this would incorrectly
assert on the last 1 byte copy.
rdar://13202135
llvm-svn: 175459
|
| |
|
|
| |
llvm-svn: 175457
|
| |
|
|
| |
llvm-svn: 175446
|
| |
|
|
| |
llvm-svn: 175420
|
| |
|
|
| |
llvm-svn: 175417
|
| |
|
|
| |
llvm-svn: 175416
|
| |
|
|
|
|
|
|
|
|
| |
This expansion will be moved to expandISelPseudos as soon as I can figure
out how to do that. There are other instructions which use this
ExpandFEXT_T8I816_ins and as soon as I have finished expanding them all,
I will delete the macro asm string text so it has no way to be used
in the future.
llvm-svn: 175413
|
| |
|
|
| |
llvm-svn: 175401
|
| |
|
|
|
|
| |
Also fix one test by changing "vpermilps" to "vpshufd".
llvm-svn: 175357
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
not matter but makes it more gcc compatible which avoids possible subtle
problems. Also, turned back on a disabled check in helloworld.ll.
llvm-svn: 175237
|
| |
|
|
| |
llvm-svn: 175190
|
| |
|
|
|
|
|
|
| |
inline asm with 64-bit data on ARM
Update test case to use -mtriple=arm-linux-gnueabi
llvm-svn: 175186
|
| |
|
|
|
|
|
|
|
| |
It fixes around 100 tfb piglit tests and 16 glean tests.
NOTE: This is a candidate for the Mesa stable branch.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175183
|
| |
|
|
|
|
|
|
|
| |
The parser will now accept instructions with alignment specifiers written like
vld1.8 {d16}, [r0:64]
, while also still accepting the incorrect syntax
vld1.8 {d16}, [r0, :64]
llvm-svn: 175164
|
| |
|
|
|
|
| |
Added a test.
llvm-svn: 175144
|
| |
|
|
|
| |
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175138
|
| |
|
|
|
|
|
|
| |
This reverts commit fd1335e982bbf93c5f450ed4fd29f9f787435c85.
Use a triple this time.
llvm-svn: 175134
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8b75e6bc35fb3f9c1e788dbd05084c0f4a60a0f3.
The FileCheck tests are not equivalent:
test/CodeGen/X86/tailcall-structret.ll:6:10: error: expected string not found in input
; CHECK: jmp init
^
<stdin>:1:2: note: scanning from here
.section __TEXT,__text,regular,pure_instructions
^
<stdin>:13:2: note: possible intended match here
jmp _init ## TAILCALL
^
llvm-svn: 175124
|
| |
|
|
| |
llvm-svn: 175107
|
| |
|
|
| |
llvm-svn: 175102
|
| |
|
|
|
| |
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175096
|
| |
|
|
| |
llvm-svn: 175093
|
| |
|
|
| |
llvm-svn: 175089
|
| |
|
|
|
|
| |
on ARM
llvm-svn: 175088
|
| |
|
|
| |
llvm-svn: 175087
|
| |
|
|
|
|
| |
instead of redefining separate instructions for them.
llvm-svn: 175086
|
| |
|
|
|
|
|
| |
displacements.
rdar://12974533
llvm-svn: 175083
|
| |
|
|
|
|
|
|
|
|
| |
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.
llvm-svn: 175073
|
| |
|
|
|
|
|
| |
Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.
llvm-svn: 175066
|
| |
|
|
|
|
|
|
|
|
|
| |
This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.
Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.
llvm-svn: 175057
|
| |
|
|
| |
llvm-svn: 175044
|
| |
|
|
|
|
| |
since a caller uses preserved registers across the call.
llvm-svn: 175043
|
| |
|
|
|
|
| |
assembly.
llvm-svn: 175036
|
| |
|
|
| |
llvm-svn: 175035
|
| |
|
|
|
|
| |
Patch by: Kevin Schoedel
llvm-svn: 174974
|
| |
|
|
|
|
| |
instructions.
llvm-svn: 174973
|
| |
|
|
|
|
|
|
|
|
|
| |
DAGCombiner::ReduceLoadWidth was converting (trunc i32 (shl i64 v, 32))
into (shl i32 v, 32) into undef. To prevent this, check the shift count
against the final result size.
Patch by: Kevin Schoedel
Reviewed by: Nadav Rotem
llvm-svn: 174972
|