| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32591 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32386 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"don't free even if not registered"; use for defs that may not be written
to a ppu file, but that must nevertheless survive the compilation of the
current module
* mark all defs created for para locations as "don't free even if not
registered", because we don't discard and recalculate all para locations
after a module has been compiled (since that's not needed)
o solves issues if the paralocations for a routine in the interface of
unit A are calculated while the implementation of unit B gets
compiled, and a new reusable type is allocated at that point which
is not used anywhere else (after r32160)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32235 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
get_oper_type to match that. It was previously creating bad spilling.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32100 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: http://svn.freepascal.org/svn/fpc/trunk@31830 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
selected via -Aas-darwin (since it compares uppercased strings)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31808 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31807 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: http://svn.freepascal.org/svn/fpc/trunk@31806 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31805 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31804 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31755 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31732 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31731 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31730 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31728 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31712 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31706 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
- Fixed access to symbols with offset.
- Always use register R9 for GOT pointer to prevent bugs when free register limit is reached in a function.
- GOT is not needed for function calls by name.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31681 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
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: http://svn.freepascal.org/svn/fpc/trunk@31628 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
| |
external assembler writer, so we can reuse the archtecture-specific
writers to write inline assembly in LLVM IR files
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31625 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
Added cputype and fputype info to tcontrollerdatatype arrays.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31574 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31572 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31562 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31561 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
| |
as it's also little endian-specific (mantis #28592)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31466 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
|
| |
labels of LOC_JUMP in the node's location. This generates some extra jumps
for short circuit boolean and/or-expressions if optimizations are off, but
with optimisations enabled the generated code is the same (except for JVM
because the jump threading optimisation isn't enabled there yet).
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31431 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31430 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31257 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31147 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
o allows removing the ugly x86 hacks
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31144 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30925 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
pointer parameters so typically in a register
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30878 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30775 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
| |
in second_int_to_bool, resolves issue #28007
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30765 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
| |
* explicit reset is needed
* variable must be declared again
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30757 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30733 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30599 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30590 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
|
|
|
|
| |
something without a location at all; it's a hint/optional operation,
so if there's nothing to prefetch just don't do anything
(mantis #27811)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30502 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|
|
|
| |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30429 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|\
| |
| |
| | |
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@30349 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| |
| |
| | |
Fix missing conflicts for multiplication instructions for >=ARMv6.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30276 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| |
| |
| | |
rotate only works from 8 to 31. Caused 0x8000001F to be mistaken for a valid immediate.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30266 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| | |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30254 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| | |
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@30336 3ad0048d-3df7-0310-abae-a5850022a9f2
|
|\ \
| |/
| |
| | |
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/hlcgllvm@30241 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| |
| |
| |
| |
| | |
support pre or post indexing.
Fix emission of offsets.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30234 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| |
| |
| | |
(tai_symbolpair)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30197 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| | |
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30188 3ad0048d-3df7-0310-abae-a5850022a9f2
|
| |
| |
| |
| |
| |
| | |
Add fused mac instructions for VFPv4.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30187 3ad0048d-3df7-0310-abae-a5850022a9f2
|