| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
more consistent with its name and simplifies assembler code.
llvm-svn: 279922
|
|
|
|
|
|
| |
for CR8-CR15.
llvm-svn: 279921
|
|
|
|
|
|
| |
There's no reason for it to return a signed type. Just return the operand bias in each if instead of starting from 0 and adding in the 'if'.
llvm-svn: 279720
|
|
|
|
|
|
| |
one bit in TSFlags and simplifies MRMSrcMem/MRMSrcReg format handling.
llvm-svn: 279424
|
|
|
|
|
|
| |
one bit in TSFlags and simplifies MRMSrcMem/MRMSrcReg format handling.
llvm-svn: 279423
|
|
|
|
|
|
|
|
| |
new encodings in future commits and this will reduce the size of those commits. NFC
This tries to keep all the ModRM memory and register forms in their own regions of the encodings. Hoping to make it simple on some of the switch statements that operate on these encodings.
llvm-svn: 279422
|
|
|
|
|
|
| |
encodings. This saves one bit in TSFlags. NFC
llvm-svn: 279412
|
|
|
|
|
|
| |
the disassembler doesn't use TSFlags. NFC
llvm-svn: 279411
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some targets, notably AArch64 for ILP32, have different relocation encodings
based upon the ABI. This is an enabling change, so a future patch can use the
ABIName from MCTargetOptions to chose which relocations to use. Tested using
check-llvm.
The corresponding change to clang is in: http://reviews.llvm.org/D16538
Patch by: Joel Jones
Differential Revision: https://reviews.llvm.org/D16213
llvm-svn: 276654
|
|
|
|
| |
llvm-svn: 275069
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thread through MCSubtargetInfo to relaxInstruction function allowing relaxation
to generate jumps with 16-bit sized immediates in 16-bit mode.
This fixes PR22097.
Reviewers: dwmw2, tstellarAMD, craig.topper, jyknight
Subscribers: jfb, arsenm, jyknight, llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D20830
llvm-svn: 275068
|
|
|
|
|
|
| |
Fixes pr28452.
llvm-svn: 274754
|
|
|
|
|
|
| |
This adds it only for movl mov@GOT(%reg), %reg.
llvm-svn: 274678
|
|
|
|
|
|
|
| |
MC doesn't really care about CodeGen stuff, so this was just
complicating target initialization.
llvm-svn: 274258
|
|
|
|
|
|
| |
They are created by ld64 since OS X 10.5.
llvm-svn: 274130
|
|
|
|
| |
llvm-svn: 273516
|
|
|
|
| |
llvm-svn: 271229
|
|
|
|
| |
llvm-svn: 271160
|
|
|
|
|
|
|
|
| |
We were producing R_X86_64_GOTPCRELX for invalid instructions and
sometimes producing R_X86_64_GOTPCRELX instead of
R_X86_64_REX_GOTPCRELX.
llvm-svn: 271118
|
|
|
|
| |
llvm-svn: 271112
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having an enum member named Default is quite confusing: Is it distinct
from the others?
This patch removes that member and instead uses Optional<Reloc> in
places where we have a user input that still hasn't been maped to the
default value, which is now clear has no be one of the remaining 3
options.
llvm-svn: 269988
|
|
|
|
|
|
|
|
|
| |
Since r207518 they are printed exactly like non-hidden stubs on x86 and
since r207517 on ARM.
This means we can use a single set for all stubs in those platforms.
llvm-svn: 269776
|
|
|
|
|
|
| |
The surrounding tools can cope these days, and they were invented for a reason.
llvm-svn: 268437
|
|
|
|
| |
llvm-svn: 267854
|
|
|
|
|
|
|
|
|
| |
The option to control the emission of the new relocations
is -relax-relocations (blatantly copied from GNU as).
It can't be enabled by default because it breaks relatively
recent versions of ld.bfd/ld.gold (late 2015).
llvm-svn: 267307
|
|
|
|
|
|
| |
In preparation for other changes.
llvm-svn: 267300
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed some unused headers, replaced some headers with forward class declarations.
Found using simple scripts like this one:
clear && ack --cpp -l '#include "llvm/ADT/IndexedMap.h"' | xargs grep -L 'IndexedMap[<]' | xargs grep -n --color=auto 'IndexedMap'
Patch by Eugene Kosov <claprix@yandex.ru>
Differential Revision: http://reviews.llvm.org/D19219
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 266595
|
|
|
|
|
|
|
|
|
| |
Restrict the max length of long nops for Lakemont to 7. Experiments on MCU
benchmarks (Dhrystone, Coremark) show that this is the most optimal length.
Differential Revision: http://reviews.llvm.org/D18897
llvm-svn: 265924
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18885
llvm-svn: 265881
|
|
|
|
|
|
| |
functions to populate the REX and VEX prefix bits that extend register encodings. NFC
llvm-svn: 262800
|
|
|
|
| |
llvm-svn: 262799
|
|
|
|
|
|
| |
explicitly reflects the desired size.
llvm-svn: 262798
|
|
|
|
|
|
| |
VEX prefix. The operand is always a register. NFC
llvm-svn: 262468
|
|
|
|
|
|
| |
how VEX prefix handling does.
llvm-svn: 262467
|
|
|
|
| |
llvm-svn: 262464
|
|
|
|
|
|
|
|
|
|
| |
encoded in bits 7:4 of the immediate.
For some instructions the register is not the last operand and the immediate handling had to detect this and hardcode the index to find it. It also required CurOp to be pointing at the last operand handled in the Form switch whereas for any instruction it would be pointing at the next operand.
Now we just capture the value in the Form switch when we know exactly where it is and the CurOp pointer can behave normally.
llvm-svn: 262462
|
|
|
|
|
|
| |
respectively should reduce size tiny bit. NFC
llvm-svn: 262458
|
|
|
|
|
|
| |
earlier so we can stop masking in multiple places. NFC
llvm-svn: 262312
|
|
|
|
| |
llvm-svn: 262310
|
|
|
|
| |
llvm-svn: 262309
|
|
|
|
|
|
| |
comments. NFC
llvm-svn: 262301
|
|
|
|
|
|
| |
isX86_64ExtendedReg. NFC
llvm-svn: 261978
|
|
|
|
|
|
|
| |
We didn't have a mapping from LLVM's x87 floating point registers to
CodeView's encoding.
llvm-svn: 261730
|
|
|
|
| |
llvm-svn: 261515
|
|
|
|
|
|
| |
Turns out the new nop sequences aren't actually nops on x86_64 (PR26554).
llvm-svn: 261365
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Refactor common value, scope, and label tracking logic out of DwarfDebug
into a common base class called DebugHandlerBase.
Update an old LLVM IR test case to avoid an assertion in LexicalScopes.
Reviewers: dblaikie, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16931
llvm-svn: 260432
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Enables eip-based addressing, e.g.,
lea constant(%eip), %rax
lea constant(%eip), %eax
in MC, (used for the x32 ABI). EIP-base addressing is also valid in x86_64,
it is left enabled for that architecture as well.
Patch by João Porto
Differential Revision: http://reviews.llvm.org/D16581
llvm-svn: 259528
|
|
|
|
| |
llvm-svn: 258974
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html
"I felt a great disturbance in the [build system], as if millions of [makefiles] suddenly cried out in terror and were suddenly silenced. I fear something [amazing] has happened."
- Obi Wan Kenobi
Reviewers: chandlerc, grosbach, bob.wilson, tstellarAMD, echristo, whitequark
Subscribers: chfast, simoncook, emaste, jholewinski, tberghammer, jfb, danalbert, srhines, arsenm, dschuff, jyknight, dsanders, joker.eph, llvm-commits
Differential Revision: http://reviews.llvm.org/D16471
llvm-svn: 258861
|
|
|
|
|
|
|
| |
This adds rudimentary support for a few relocations that we will use for
the CodeView debug format.
llvm-svn: 258216
|