sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
11 yıl önce |
Jeppe Johansen
|
07b2982e77
Don't do ARM FoldShiftLdrStr peephole optimization if there's an offset in the reference.
|
11 yıl önce |
masta
|
0736bf4ded
Try to change typical constant AND-masking operations into shifts for ARM
|
11 yıl önce |
nickysn
|
85dd9e5789
+ added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1)
|
11 yıl önce |
masta
|
3ab665e554
Try to split constant XORs into two shiftimms on ARM.
|
11 yıl önce |
masta
|
f8889e3d6d
Use optimize_op_const in ARM cg
|
11 yıl önce |
florian
|
561ec1f782
* unified internal errors
|
11 yıl önce |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 yıl önce |
Jonas Maebe
|
555634b755
* (re)set upper bits of register when appropriate for all operations in
|
12 yıl önce |
florian
|
8fb7cf822b
* unified internal errors
|
12 yıl önce |
florian
|
e0f48b9f02
* calculate stack correction on exit correctly if stack parameters are passed
|
12 yıl önce |
florian
|
36e6f99843
* fix tthumbcgarm.g_flags2reg, mov reg,#imm for thumb updates the flags
|
12 yıl önce |
florian
|
e2ec3bbcb0
* do shifts for sign/zero extensions correctly
|
12 yıl önce |
florian
|
333e84202f
* fixed a_load_reg_reg for thumb
|
12 yıl önce |
Károly Balogh
|
86cb4d0c12
use a TSuperRegister instead of an aint
|
12 yıl önce |
Károly Balogh
|
c677f1fd69
trying harder to follow the code style (no functional changes)
|
12 yıl önce |
Károly Balogh
|
cb4d01627f
save an extra reg if it's required to keep 64bit stack alignment on ARM
|
12 yıl önce |
florian
|
d4968e054b
+ arm: tsettings.instructionset
|
12 yıl önce |
florian
|
f34bee1df7
* arm thumb does not support ror reg1,reg2,#imm
|
12 yıl önce |
florian
|
3ebe708574
* do not use r13/r15 for certain data processing operations
|
12 yıl önce |
florian
|
bb73a2891b
* prevent generation of mul/mla statements with illegal registers
|
12 yıl önce |
Jonas Maebe
|
4ec9ec2009
+ PIC support for Darwin/ARM:
|
12 yıl önce |
florian
|
6606955b88
+ basic support for pic on arm-linux
|
12 yıl önce |
Jonas Maebe
|
57cdd8c106
* set symbol type/binding of data referred by ppc and arm/darwin stubs (part
|
12 yıl önce |
Jonas Maebe
|
3b9b6a0cd7
* explicitly define the asmsymbols for Darwin call stubs as local
|
12 yıl önce |
Jeppe Johansen
|
0bb8d24e24
Add some immediate forms of shift instructions to tcgthumb.a_op_const_reg
|
12 yıl önce |
florian
|
e6489ed7d2
* arm thumb: do not generate illegal ror instructions
|
12 yıl önce |
florian
|
7bea00e5fb
* arm thumb: allow interface trampolines to non-virtual methods with large offsets
|
12 yıl önce |
florian
|
6197330bad
* arm thumb: take care of constant restrictions when creating interface wrappers for non-virtual methods
|
12 yıl önce |
florian
|
f3b7f6197b
* arm thumb: generate proper code for rol
|
12 yıl önce |