| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
file with -macho, the Mach-O specific object file parser option.
After some discussion I chose to do this implementation contained in the logic
of llvm-objdump’s MachODump.cpp using a second disassembler for thumb when
needed and with updates mostly contained in the MachOObjectFile class.
llvm-svn: 215931
|
| |
|
|
|
|
| |
<rdar://problem/15607571>
llvm-svn: 215924
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point XMM and YMM instructions.
Sub-group: Other instructions.
<rdar://problem/15607571>
llvm-svn: 215923
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point XMM and YMM instructions.
Sub-group: Logic instructions.
<rdar://problem/15607571>
llvm-svn: 215922
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point XMM and YMM instructions.
Sub-group: Math instructions.
<rdar://problem/15607571>
llvm-svn: 215921
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point XMM and YMM instructions.
Sub-group: Arithmetic instructions.
<rdar://problem/15607571>
llvm-svn: 215920
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point XMM and YMM instructions.
Sub-group: Conversion instructions.
<rdar://problem/15607571>
llvm-svn: 215919
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point XMM and YMM instructions.
Sub-group: Move instructions.
<rdar://problem/15607571>
llvm-svn: 215918
|
| |
|
|
|
|
|
|
|
| |
Group: Integer MMX and XMM instructions.
Sub-group: Other instructions.
<rdar://problem/15607571>
llvm-svn: 215917
|
| |
|
|
|
|
|
|
|
| |
Group: Integer MMX and XMM instructions.
Sub-group: Logic instructions.
<rdar://problem/15607571>
llvm-svn: 215916
|
| |
|
|
|
|
|
|
|
| |
Group: Integer MMX and XMM instructions.
Sub-group: Arithmetic instructions.
<rdar://problem/15607571>
llvm-svn: 215915
|
| |
|
|
|
|
|
|
|
| |
Group: Integer MMX and XMM instructions.
Sub-group: Move instructions.
<rdar://problem/15607571>
llvm-svn: 215914
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point x87 instructions.
Sub-group: Math instructions.
<rdar://problem/15607571>
llvm-svn: 215913
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point x87 instructions.
Sub-group: Arithmetic instructions.
<rdar://problem/15607571>
llvm-svn: 215912
|
| |
|
|
|
|
|
|
|
| |
Group: Floating Point x87 instructions.
Sub-group: Move instructions.
<rdar://problem/15607571>
llvm-svn: 215911
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: Other instructions.
<rdar://problem/15607571>
llvm-svn: 215910
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: Synchronization instructions.
<rdar://problem/15607571>
llvm-svn: 215909
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: String instructions.
<rdar://problem/15607571>
llvm-svn: 215908
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: Control transfer instructions.
<rdar://problem/15607571>
llvm-svn: 215907
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: Logic instructions.
<rdar://problem/15607571>
llvm-svn: 215906
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: Arithmetic instructions.
<rdar://problem/15607571>
llvm-svn: 215905
|
| |
|
|
|
|
|
|
|
| |
Group: Integer instructions.
Sub-group: Move instructions.
<rdar://problem/15607571>
llvm-svn: 215904
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Make use of isAtLeastRelease/Acquire in the ARM/AArch64 backends
These helper functions are introduced in D4844.
Depends D4844
Test Plan: make check-all passes
Reviewers: jfb
Subscribers: aemerson, llvm-commits, mcrosier, reames
Differential Revision: http://reviews.llvm.org/D4937
llvm-svn: 215902
|
| |
|
|
|
|
|
| |
This allows the AArch64 backend to handle fadd, fsub, fmul and fdiv
operations on f16 (half-precision) types by promoting to f32.
llvm-svn: 215891
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
linkage
Externally-defined functions with weak linkage should not be
tail-called on ARM or AArch64, as the AAELF spec requires normal calls
to undefined weak functions to be replaced with a NOP or jump to the
next instruction. The behaviour of branch instructions in this
situation (as used for tail calls) is implementation-defined, so we
cannot rely on the linker replacing the tail call with a return.
llvm-svn: 215890
|
| |
|
|
|
|
| |
Added a test.
llvm-svn: 215889
|
| |
|
|
|
|
| |
from an outer scope. NFC.
llvm-svn: 215888
|
| |
|
|
|
|
|
|
|
|
| |
ARM in particular is getting dangerously close to exceeding 32 bits worth of
possible subtarget features. When this happens, various parts of MC start to
fail inexplicably as masks get truncated to "unsigned".
Mostly just refactoring at present, and there's probably no way to test.
llvm-svn: 215887
|
| |
|
|
| |
llvm-svn: 215886
|
| |
|
|
|
|
|
|
| |
avoid needing to mention the size."
Getting a weird buildbot failure that I need to investigate.
llvm-svn: 215870
|
| |
|
|
|
|
| |
needing to mention the size.
llvm-svn: 215868
|
| |
|
|
|
|
| |
Thanks to David Blaikie for the suggestion.
llvm-svn: 215867
|
| |
|
|
|
|
|
| |
Simply indicate the functions that are part of the runtime library that we do
not setup libcalls for. This is merely for ease of identification. NFC.
llvm-svn: 215863
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The set of functions defined in the RTABI was separated for no real reason.
This brings us closer to proper utilisation of the functions defined by the
RTABI. It also sets the ground for correctly emitting function calls to AEABI
functions on all AEABI conforming platforms.
The previously existing lie on the behaviour of __ldivmod and __uldivmod is
propagated as it is beyond the scope of the change.
The changes to the test are due to the fact that we now use the divmod functions
which return both the quotient and remainder and thus we no longer need to
invoke two functions on Linux (making it closer to EABI's behaviour).
llvm-svn: 215862
|
| |
|
|
|
|
| |
Whitespace fix, NFC.
llvm-svn: 215861
|
| |
|
|
| |
llvm-svn: 215860
|
| |
|
|
| |
llvm-svn: 215858
|
| |
|
|
| |
llvm-svn: 215855
|
| |
|
|
| |
llvm-svn: 215852
|
| |
|
|
| |
llvm-svn: 215851
|
| |
|
|
|
|
|
|
|
|
|
| |
accept default cc0 register...
It causes a number of regressions when -fintegrated-as is enabled. This happens
because there are codegen-only instructions that incorrectly uses the first
operand as the encoding for the $fcc register. The regressions do not occur when
-via-file-asm is also given.
llvm-svn: 215847
|
| |
|
|
|
|
|
|
|
|
| |
This was a thinko. The intent was to flip the explicit bits that need toggling
rather than all bits. This would result in incorrect behaviour (which now is
tested).
Thanks to Nico Weber for pointing this out!
llvm-svn: 215846
|
| |
|
|
|
|
| |
This matches the behavior of GNU objdump.
llvm-svn: 215844
|
| |
|
|
|
|
|
| |
Use it to implement some ELF only virtual interfaces instead of using error
prone series of dyn_casts.
llvm-svn: 215838
|
| |
|
|
| |
llvm-svn: 215828
|
| |
|
|
| |
llvm-svn: 215827
|
| |
|
|
|
|
|
| |
It should remove dosens of lines in handling instrinsics (in a huge switch) and give an easy way to add new intrinsics.
I did not completed to move al intrnsics to the table, I'll do this in the upcomming commits.
llvm-svn: 215826
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(select y, x, 0.0) when the multiply has fast math flags set.
While this might seem like an obvious canonicalization, there is one subtle problem with it. The result of the original expression
is undef when x is NaN (remember, fast math flags), but the result of the select is always defined when x is NaN. This means that the
new expression is strictly more defined than the original one. One unfortunate consequence of this is that the transform is not reversible!
It's always legal to make increase the defined-ness of an expression, but it's not legal to reduce it. Thus, targets that prefer the original
form of the expression cannot reverse the transform to recover it. Another way to think of it is that the transform has lost source-level
information (the fast math flags), which is undesirable.
llvm-svn: 215825
|
| |
|
|
|
|
| |
clang-format.
llvm-svn: 215824
|
| |
|
|
|
|
| |
Fixes things like fmul x, 2 -> fadd x, x
llvm-svn: 215820
|