for all non-ppc(32/64) Darwin platforms
o pass the macosx-version-min/iphoneos-version-min to clang as an assembler,
so that it properly sets this information starting with Xcode 7 (solves
errors when targeting the iOS simulator, and warnings about object files
being compiled for a different OS X version when targeting (Mac) OS X)
o the old assembler is still selectable via -Aas-darwin (required with
Xcode 3.1.x and older)
o since the first Xcode version that shipped with Clang is Xcode 3.2, which
is available for Mac OS X 10.6, most users should not encounter any issues
with the new default (in fact, it fixes some tests for x86 because Clang
supports some instructions that "as" doesn't). Clang does not support
Stabs however, so -gs does require the use of -Aas-darwin
git-svn-id: trunk@31830 -
GNU as from binutils for Darwin, and Apple's "as" is based on an old
version of GNU as)
o this will not cause any backward compatibility problems, as the
previous identifier for as_darwin was "AS-Darwin" and the compiler
compared the uppercase value of the -A parameter to the identifier,
so it was not explicitly selectable earlier. The new name is "AS",
so it is explicitly selectable via -Aas like on other platforms.
git-svn-id: trunk@31806 -
a code and temp generator for the architectural target instead of for LLVM
* write the code for pure assembler routines using a GNU-style external
assembler writer for the target, with a decorator to wrap it in
LLVM module-level assembly statements
git-svn-id: trunk@31633 -
assembler writer that is compatible with the current architecture,
for use by the LLVM assembler writer to write inline assembly
git-svn-id: trunk@31631 -
that we can use assembler writers with different conventions from the
currently set target_asm (e.g. an x86 assembler writer for inline assembly
in LLVM IR)
git-svn-id: trunk@31628 -
case the section options contain the new option 'oso_sparse_data') in the
internal object writer (needed for the huge memory model)
git-svn-id: trunk@31503 -
last encountered section at the object cut location when writing a smartlinked
library with the internal assembler. This fixes the $HUGECODE directive with
the internal assembler on i8086 and maybe other things on other platforms,
that use library based smartlinking in combination with the internal asm.
git-svn-id: trunk@30615 -
TAArch64AppleAssembler to determine whether we have to add extra
parameters to support assembling via a pipe ("as" is a symlink to
clang for Arch64 on OS X, and needs to be explicitly told its going to
receive assembler code from standard input)
git-svn-id: trunk@29952 -
Precisize rules for selection of thumb instructions.
Add short-cut notation support for most simple Thumb2 instructions ( add r1,#4 instead of add r1,r1,#4 ).
git-svn-id: branches/laksen/armiw@29343 -
typed constant data
o llvm declarations now get an extra "initdata" list that contains the
typed constant data associated with this declaration (if any)
git-svn-id: branches/hlcgllvm@28111 -
to free up space for more ait_* types in taitype (can't have
more than 32 because they have to fit in a small set)
o factored out writing of floating point numbers as an array of
byte in the external assemblers
git-svn-id: branches/hlcgllvm@28105 -
* Change MIPS jump tables in PIC mode to use gp-relative constants, making them ABI-compliant and not requiring dynamic relocations.
git-svn-id: trunk@26886 -