| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
This fixes clang generated blocks' variables' debug info.
Radar 9279956.
llvm-svn: 130373
|
|
|
|
|
|
| |
location expressions.
llvm-svn: 130326
|
|
|
|
|
|
| |
space, if requested, will be used for complex addresses of the Blocks' variables.
llvm-svn: 130178
|
|
|
|
| |
llvm-svn: 129995
|
|
|
|
| |
llvm-svn: 129952
|
|
|
|
| |
llvm-svn: 129947
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
|
|
|
|
|
|
|
| |
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.
This is part of a work-in-progress.
llvm-svn: 127986
|
|
|
|
|
|
|
| |
Also more cleanly separate the ARM vs. Thumb functionality. Previously, the
encoding would be incorrect for some Thumb instructions (the indirect calls).
llvm-svn: 127637
|
|
|
|
|
|
|
|
| |
actual instruction as the non-Darwin defs, but have different call-clobber
semantics and so need separate patterns. They don't need to duplicate the
encoding information, however.
llvm-svn: 127515
|
|
|
|
| |
llvm-svn: 127510
|
|
|
|
|
|
| |
effect that we get proper instruction printing using the "pop" mnemonic for it.
llvm-svn: 127502
|
|
|
|
|
|
| |
corresponds to "add" instruction, not to "sub" as in .pad case
llvm-svn: 127106
|
|
|
|
|
|
| |
constpool. Emit unwinding information in case when this load from constpool is used to change the stack pointer in the prologue.
llvm-svn: 127105
|
|
|
|
|
|
| |
because there is no way given the constpool index to examine the actual entry: the reason is clones inserted by constant island pass, which are not tracked at all! The only connection is done during asmprinting time via magic label names which is really gross and needs to be eventually fixed.
llvm-svn: 127104
|
|
|
|
| |
llvm-svn: 127103
|
|
|
|
|
|
|
| |
This is just very first approximation how the stuff should be done
(e.g. ARM-only for now). More to follow.
llvm-svn: 127101
|
|
|
|
| |
llvm-svn: 126882
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=8931
llvm-svn: 126689
|
|
|
|
| |
llvm-svn: 125025
|
|
|
|
|
|
|
| |
Unified EmitTextAttribute for both Asm and Obj emission (.cpu only)
Added necessary cortex-A8 related attrs for codegen compat tests.
llvm-svn: 124995
|
|
|
|
|
|
|
|
|
|
| |
1. Fixed ARM pc adjustment.
2. Fixed dynamic-no-pic codegen
3. CSE of pc-relative load of global addresses.
It's now enabled by default for Darwin.
llvm-svn: 123991
|
|
|
|
|
|
|
|
|
|
|
|
| |
movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4))
movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4))
LPC0_0:
add r0, pc, r0
It's not yet enabled by default as some tests are failing. I suspect bugs in
down stream tools.
llvm-svn: 123619
|
|
|
|
|
|
|
|
|
|
|
| |
that way, unfortunately. If you want to change them to work additively instead
of a one-variant-kind-per-symbolref, that's great and I completely agree it's
worth doing, but it really should be a separate patch. Until then, this isn't
correct."
So I am reverting this bit until a more opportune time.
llvm-svn: 123340
|
|
|
|
|
|
|
|
| |
R_ARM_MOVT_PREL and R_ARM_MOVW_PREL_NC.
2. Fix minor bug in ARMAsmPrinter - treat bitfield flag as a bitfield, not an enum.
3. Add support for 3 new elf section types (no-ops)
llvm-svn: 123294
|
|
|
|
| |
llvm-svn: 123276
|
|
|
|
|
|
|
|
|
| |
earlyclobber stuff. This should fix PRs 2313 and 8157.
Unfortunately, no testcase, since it'd be dependent on register
assignments.
llvm-svn: 122663
|
|
|
|
|
|
|
|
|
|
|
| |
ARM::tMOVgpr2gpr. But this check didn't change. As a result, we were getting
misaligned references to the jump table from an ADR instruction.
There is a test case, but unfortunately it's sensitive to random code changes.
<rdar://problem/8782223>
llvm-svn: 122131
|
|
|
|
|
|
|
| |
The standard error handling in AsmPrinter::EmitInlineAsm handles this much
better, so just use it.
llvm-svn: 122100
|
|
|
|
| |
llvm-svn: 121990
|
|
|
|
| |
llvm-svn: 121798
|
|
|
|
| |
llvm-svn: 121790
|
|
|
|
| |
llvm-svn: 121788
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instruction based on the t_addrmode_s# mode and what it returned. There is some
obvious badness to this. In particular, it's hard to do MC-encoding when the
instruction may change out from underneath you after the t_addrmode_s# variable
is finally resolved.
The solution is to revert a long-ago change that merged the reg/reg and reg/imm
versions. There is the addition of several new addressing modes. They no longer
have extraneous operands associated with them. I.e., if it's reg/reg we don't
have to have a dummy zero immediate tacked on to the SDNode.
There are some obvious cleanups here, which will happen shortly.
llvm-svn: 121747
|
|
|
|
|
|
|
|
| |
much later, which makes the entire
process cleaner.
llvm-svn: 121735
|
|
|
|
| |
llvm-svn: 121349
|
|
|
|
|
|
| |
referencing the stack pointer as they say they are.
llvm-svn: 121347
|
|
|
|
|
|
| |
pool entries (LEApcrel pseudo). Ongoing saga of rdar://8542291.
llvm-svn: 120635
|
|
|
|
|
|
|
| |
instruction at MC lowering. Add binary encoding information for the ADR,
including fixup data for the label operand.
llvm-svn: 120594
|
|
|
|
| |
llvm-svn: 120551
|
|
|
|
| |
llvm-svn: 120442
|
|
|
|
|
|
| |
rdar://8685712
llvm-svn: 120438
|
|
|
|
| |
llvm-svn: 120371
|
|
|
|
|
|
| |
instructions. This simplifies instruction printing and disassembly.
llvm-svn: 120333
|
|
|
|
|
|
| |
data. Next up, pseudo-izing them.
llvm-svn: 120320
|
|
|
|
| |
llvm-svn: 120310
|
|
|
|
| |
llvm-svn: 120303
|
|
|
|
|
|
| |
in the MC lowering process.
llvm-svn: 119559
|
|
|
|
| |
llvm-svn: 119167
|
|
|
|
|
|
| |
Switch the ARM backend to use 'let' instead of 'set' with this change.
llvm-svn: 119120
|