Jonas Maebe
c0b451e788
- removed as_darwin, since there is no difference with as_gas (there is no
...
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 -
2015-09-23 21:25:38 +00:00
Jonas Maebe
840c043c75
* always use unified assembler syntax on Darwin (required by Xcode 7+)
...
git-svn-id: trunk@31805 -
2015-09-23 20:38:18 +00:00
Jonas Maebe
c5f64a51da
* also support unified syntax for non-thumb2 (not yet activatable/usable)
...
git-svn-id: trunk@31804 -
2015-09-23 20:38:14 +00:00
yury
61a1976e09
* Removed a leftover of my code. It is not needed anymore.
...
git-svn-id: trunk@31755 -
2015-09-18 10:34:27 +00:00
yury
432248cbf1
* Removed lot of unused vars.
...
git-svn-id: trunk@31732 -
2015-09-17 12:48:58 +00:00
yury
40628fa614
* Removed unused vars.
...
git-svn-id: trunk@31731 -
2015-09-17 12:24:59 +00:00
yury
80e5eb0c5d
* ARM: I hope this is a final proper fix for GOT initialization. + Test.
...
git-svn-id: trunk@31730 -
2015-09-17 12:18:04 +00:00
yury
1dff9bf025
* ARM: Fixed GOT init when optimization is off.
...
git-svn-id: trunk@31728 -
2015-09-16 21:30:20 +00:00
yury
f2c8824963
* ARM: Do not use R9 as a fixed GOT register.
...
git-svn-id: trunk@31712 -
2015-09-16 13:52:15 +00:00
yury
df9d6db398
* Fixed instruction re-scheduler for ARM in case of PIC.
...
git-svn-id: trunk@31706 -
2015-09-16 11:54:12 +00:00
yury
61c0448903
* Big fix for ARM GOT support to make it work:
...
- 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: trunk@31681 -
2015-09-14 23:15:10 +00:00
Jonas Maebe
991e1f49bd
* store a pointer to the used tasminfo record in every assembler writer, so
...
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 -
2015-09-12 23:32:13 +00:00
Jonas Maebe
b3d0197f98
* factored out the output file handling (mostly writing data) from the
...
external assembler writer, so we can reuse the archtecture-specific
writers to write inline assembly in LLVM IR files
git-svn-id: trunk@31625 -
2015-09-12 23:32:01 +00:00
Jeppe Johansen
3cb9be73bc
Moved tcontrollerdatatype out into cpuinfo.
...
Added cputype and fputype info to tcontrollerdatatype arrays.
git-svn-id: trunk@31574 -
2015-09-07 20:36:54 +00:00
florian
4d349c9c71
* take care of limited offsets of stf/ldf, resolves issue #23620
...
git-svn-id: trunk@31572 -
2015-09-07 20:14:27 +00:00
Jeppe Johansen
297c17d4f0
Add missing prefix for VCMP for FPv4_S16.
...
git-svn-id: trunk@31562 -
2015-09-06 20:34:08 +00:00
Jeppe Johansen
dac294c680
Fix ARMv3/ARMv2A support.
...
git-svn-id: trunk@31561 -
2015-09-06 20:33:26 +00:00
Jonas Maebe
f374b81c12
* disabled ARM-specific code for smallset in-operations on big endian targets,
...
as it's also little endian-specific (mantis #28592 )
git-svn-id: trunk@31466 -
2015-08-31 13:06:42 +00:00
Jonas Maebe
0fc1fd6ac1
* replaced current_procinfo.currtrue/falselabel with storing the true/false
...
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: trunk@31431 -
2015-08-27 18:28:57 +00:00
Jonas Maebe
10b2ea3b1b
* use handle_locjump() instead of local inlined version
...
git-svn-id: trunk@31430 -
2015-08-27 18:28:52 +00:00
Jeppe Johansen
2b80d46492
Added STM32F7xx controller units and types.
...
git-svn-id: trunk@31257 -
2015-07-31 22:21:16 +00:00
Jonas Maebe
f40ea04540
* changed getarraydef() into a tarraydef.getreusable() class method
...
git-svn-id: trunk@31147 -
2015-06-23 21:23:18 +00:00
Jonas Maebe
f402b0d7df
* changed getpointerdef() into a tpointerdef.getreusable() class method
...
o allows removing the ugly x86 hacks
git-svn-id: trunk@31144 -
2015-06-22 08:17:49 +00:00
Jeppe Johansen
36dfe750d8
Added Freescale MK20D7 controller support.
...
git-svn-id: trunk@30925 -
2015-05-28 11:46:22 +00:00
florian
b4fc11fe06
* implemented r30870 for all platforms: pass dyn. array parameters like pointer parameters so typically in a register
...
git-svn-id: trunk@30878 -
2015-05-17 12:29:28 +00:00
Jeppe Johansen
6662cb6dd5
ARMv6M was missing alignments for jumptables
...
git-svn-id: trunk@30775 -
2015-05-03 16:16:32 +00:00
florian
b222d0b663
* correctly handle LOC_SUBSETREG,LOC_CSUBSETREG,LOC_SUBSETREF,LOC_CSUBSETREF in second_int_to_bool, resolves issue #28007
...
git-svn-id: trunk@30765 -
2015-05-02 13:52:50 +00:00
florian
7dd1d6aa77
o fixes handling of iso i/o parameters/program parameters:
...
* explicit reset is needed
* variable must be declared again
git-svn-id: trunk@30757 -
2015-05-01 20:58:31 +00:00
Jeppe Johansen
b6729a8f0b
Workaround for IE 20060521 when building the ARM compiler
...
git-svn-id: trunk@30733 -
2015-04-26 20:10:57 +00:00
Jeppe Johansen
65a69129c5
Add initial support for STM32F429 core
...
git-svn-id: trunk@30599 -
2015-04-14 21:55:37 +00:00
Jeppe Johansen
f31f87e8c7
Fix spilling_get_operation_type for MRS and MSR instructions
...
git-svn-id: trunk@30590 -
2015-04-14 17:20:47 +00:00
Jonas Maebe
9079227c56
* don't give an internalerror when trying to prefetch a regvar or even
...
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: trunk@30502 -
2015-04-08 20:35:13 +00:00
Jonas Maebe
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
...
git-svn-id: trunk@30429 -
2015-04-04 14:29:16 +00:00
Jonas Maebe
201121d7c9
* synchronised with trunk till r30345
...
git-svn-id: branches/hlcgllvm@30349 -
2015-03-28 12:28:15 +00:00
Jonas Maebe
687bb15299
* renamed getdatalabel() to getglobaldatalabel
...
git-svn-id: branches/hlcgllvm@30336 -
2015-03-27 21:25:34 +00:00
Jeppe Johansen
fa5bd1c513
ARMv7M supports UMULL.
...
Fix missing conflicts for multiplication instructions for >=ARMv6.
git-svn-id: trunk@30276 -
2015-03-22 14:39:43 +00:00
Jeppe Johansen
5ca1740bee
Fix issue in is_thumb32_imm. imm<11:10> have to be non-zero meaning the rotate only works from 8 to 31. Caused 0x8000001F to be mistaken for a valid immediate.
...
git-svn-id: trunk@30266 -
2015-03-21 12:46:45 +00:00
Jeppe Johansen
09acd9b1ab
Add workaround for ARM thumb when using GAS.
...
git-svn-id: trunk@30254 -
2015-03-17 21:24:07 +00:00
Jonas Maebe
bd203a5b57
* synchronised with trunk till r30240
...
git-svn-id: branches/hlcgllvm@30241 -
2015-03-15 19:44:58 +00:00
Jeppe Johansen
f92f0751f4
Fix selection of LDR/STR instructions in thumb mode. Most forms don't support pre or post indexing.
...
Fix emission of offsets.
git-svn-id: trunk@30234 -
2015-03-15 12:12:13 +00:00
Jonas Maebe
8445381929
* merged ait_set and ait_thumb_set into a single tai class
...
(tai_symbolpair)
git-svn-id: trunk@30197 -
2015-03-14 18:35:28 +00:00
Jeppe Johansen
52e505bff7
Fixed internal error in GOT related code for ARM internal assembler.
...
git-svn-id: trunk@30188 -
2015-03-14 16:03:16 +00:00
Jeppe Johansen
439027a8de
Add most pre-UAL VFP instruction forms.
...
Add fused mac instructions for VFPv4.
git-svn-id: trunk@30187 -
2015-03-14 14:59:13 +00:00
Jeppe Johansen
64f127141f
Add VFPv4 FPU type for ARM.
...
Fix assembler reader so it can read instructions longer than 5 characters.
git-svn-id: trunk@30186 -
2015-03-14 12:49:07 +00:00
Jeppe Johansen
73abf5e630
Merge from armiw branch.
...
Update ARM internal assembler to support most ARM, Thumb and Thumb-2 instructions.
Changed generation of VFP instructions to use UAL mnemonics.
Added divided and unified assembler syntax support to ARM assembly reader.
git-svn-id: trunk@30181 -
2015-03-13 19:22:27 +00:00
Jeppe Johansen
3d7dce81fe
Make MRS and MSR use the right encoding on Thumb architectures.
...
Set regnumber_count_bsstart to 128 to be able to search all registers.
git-svn-id: branches/laksen/armiw@30150 -
2015-03-08 17:30:38 +00:00
Jeppe Johansen
03b9e5117f
Fix off by 1 error in assembler reader which prevented B instructions from being parsed.
...
git-svn-id: branches/laksen/armiw@30147 -
2015-03-08 12:52:43 +00:00
Jeppe Johansen
914e9e7b49
Merged from trunk
...
git-svn-id: branches/laksen/armiw@30146 -
2015-03-08 12:33:46 +00:00
Jeppe Johansen
d12b913e70
Add initial support in ARM-embedded for Allwinner A20.
...
git-svn-id: trunk@30144 -
2015-03-08 12:22:57 +00:00
Jonas Maebe
67b8aceaee
* synchronized with privatetrunk till r30095
...
git-svn-id: branches/hlcgllvm@30101 -
2015-03-05 20:32:15 +00:00