Kirill Smelkov
|
ab24aaeca3
|
i386: We can change 'lea 0(%ebp),r' to 'mov %ebp,r'
Because that mov is 1 byte shorter, look:
int *func()
{
return __builtin_frame_address(0);
}
before patch:
00000000 <func>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 81 ec 00 00 00 00 sub $0x0,%esp
9: 8d 45 00 lea 0x0(%ebp),%eax // <- here
c: e9 00 00 00 00 jmp 11 <func+0x11>
11: c9 leave
12: c3 ret
after patch:
00000000 <func>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 81 ec 00 00 00 00 sub $0x0,%esp
9: 89 e8 mov %ebp,%eax // <- here
b: e9 00 00 00 00 jmp 10 <func+0x10>
10: c9 leave
11: c3 ret
|
2012-11-16 10:22:45 +04:00 |
|
Daniel Glöckner
|
9527c4949f
|
i386: fix loading of LLOCAL floats
These loads clobbered ebx as TinyCC wanted to load the address into st0.
|
2012-01-23 01:45:11 +01:00 |
|
Thomas Preud'homme
|
9c25ed13b4
|
s/derefencing/dereferencing/ in i386-gen.c
|
2012-01-08 18:03:17 +01:00 |
|
grischka
|
bf374a5f23
|
rename error/warning -> tcc_(error/warning)
|
2011-08-11 17:07:56 +02:00 |
|
Kirill Smelkov
|
87db8b637e
|
chmod a-x i386-gen.c
No need to keep executable bit on plain C source.
|
2010-06-16 14:37:30 +04:00 |
|
U-UNIT1\dennis
|
d3c432244c
|
generate inc and dec for smaller code
|
2010-04-03 21:20:34 +03:00 |
|
grischka
|
2341ee5142
|
tccpe: improve dllimport/export and use for tcc_add_symbol
|
2010-01-14 20:59:42 +01:00 |
|
grischka
|
88a3ccab9f
|
allow tcc be build from separate objects
If you want that, run: make NOTALLINONE=1
|
2009-12-20 01:53:49 +01:00 |
|
grischka
|
7fa712e00c
|
win32: enable bounds checker & exception handler
exception handler borrowed from k1w1. Thanks.
|
2009-12-19 22:22:43 +01:00 |
|
grischka
|
41e112360f
|
fix uninitialized warnings with 'type.ref'
|
2009-12-19 22:16:22 +01:00 |
|
grischka
|
94bf4d2c22
|
tccpe: improve dllimport
|
2009-12-19 22:16:21 +01:00 |
|
grischka
|
1308e8ebcf
|
integrate x86_64-asm.c into i386-asm.c
Also, disable 16bit support for now as it causes bugs
in 32bit mode. #define I386_ASM_16 if you want it.
|
2009-12-19 22:16:20 +01:00 |
|
grischka
|
5b113f3ee3
|
win32: handle __declspec(dllimport)
|
2009-11-13 18:04:56 +01:00 |
|
Shinichiro Hamaji
|
5dadff3de5
|
x86-64: Fix stab debug information.
We need 32bit relocations for code and 64bit for debug info.
Introduce a new macro R_DATA_PTR to distinguish the two usages.
|
2009-08-24 13:30:03 +02:00 |
|
grischka
|
c998985c74
|
cleanup: constify some global data
|
2009-07-18 22:07:42 +02:00 |
|
grischka
|
610fd47510
|
win32: structure return GCC compatible (ret 4 with cdecl)
|
2009-06-17 02:11:13 +02:00 |
|
grischka
|
f9181416f6
|
move some global variables into TCCState
|
2009-05-11 18:45:44 +02:00 |
|
Daniel Glöckner
|
2c657f6608
|
Set VT_LVAL_xxx flags for function arguments in gfunc_prolog (Daniel Glöckner)
|
2008-09-12 02:36:32 +02:00 |
|
grischka
|
5342b32eef
|
Switch to newer tccpe.c (includes support for resources)
|
2007-12-19 17:36:42 +00:00 |
|
bellard
|
38d2e8b9d8
|
Bug fix: A long long value used as a test expression ignores the upper 32 bits at runtime (Dave Dodge)
|
2006-10-28 14:10:07 +00:00 |
|
bellard
|
e9c64e3f47
|
windows style fastcall (Filip Navara)
|
2005-09-03 22:21:22 +00:00 |
|
bellard
|
09f4ce9857
|
_Bool type fix
|
2005-04-17 13:15:31 +00:00 |
|
bellard
|
9825011ced
|
__chkstk support
|
2005-04-10 22:15:08 +00:00 |
|
bellard
|
c9c05ca5f0
|
copyright update
|
2004-10-27 21:38:03 +00:00 |
|
bellard
|
72a88fbab0
|
primitive fastcall functions support
|
2004-10-18 00:14:40 +00:00 |
|
bellard
|
3bd3c71fd1
|
faster (Daniel Glöckner)
|
2004-10-04 22:06:22 +00:00 |
|
bellard
|
79c72b2419
|
initial TMS320C67xx support (TK)
|
2004-10-04 21:57:35 +00:00 |
|
bellard
|
4df5bd2eb0
|
ARM target support (Daniel Glockner) - allow unsigned char as default on ARM (Daniel Glockner) - fixed small ld script support (Daniel Glockner)
|
2003-10-14 22:15:56 +00:00 |
|
bellard
|
8f5e44a439
|
changed license to LGPL
|
2003-05-24 14:11:17 +00:00 |
|
bellard
|
214ccccea7
|
simpler function call API
|
2003-04-16 21:16:20 +00:00 |
|
bellard
|
b5259da4f2
|
renamed registers
|
2002-12-08 14:34:48 +00:00 |
|
bellard
|
d1e7e264a5
|
added MAX_ALIGN
|
2002-11-24 15:58:50 +00:00 |
|
bellard
|
9620fd18e4
|
added CType structure for type storage - supressed define hash table - added time dump in bench
|
2002-11-18 21:46:44 +00:00 |
|
bellard
|
fde824b7cd
|
handle computed gotos
|
2002-11-03 00:43:01 +00:00 |
|
bellard
|
3748975feb
|
trivial jump size optimization
|
2002-09-08 22:06:11 +00:00 |
|
bellard
|
431d648096
|
fixed PC32 relocation if constant address
|
2002-08-31 12:42:16 +00:00 |
|
bellard
|
d2115bfb27
|
added symbol + relocation handling
|
2002-08-29 23:05:59 +00:00 |
|
bellard
|
4891761bc9
|
realloc text section in code generation
|
2002-08-18 13:19:18 +00:00 |
|
bellard
|
4c9c0ab114
|
added size info
|
2002-07-27 23:08:29 +00:00 |
|
bellard
|
a42941b1f0
|
use data_offset in sections instead of pointer to ease section reallocation
|
2002-07-27 14:06:11 +00:00 |
|
bellard
|
58af3a6cd2
|
moved bcheck.c outside of tcc - optimized add sp code
|
2002-07-24 22:11:30 +00:00 |
|
bellard
|
6cdecbe4e6
|
added runtime library - fixed more relocations
|
2002-07-22 23:37:39 +00:00 |
|
bellard
|
3d902af1a9
|
moved relocation handling to elf generator
|
2002-07-22 00:20:57 +00:00 |
|
bellard
|
be44fce9cd
|
added GOT support
|
2002-07-18 00:51:27 +00:00 |
|
bellard
|
82695ae971
|
fixed PC32 relocation
|
2002-07-14 23:00:53 +00:00 |
|
bellard
|
6cd36b1285
|
added better relocation support (needed for file output)
|
2002-07-14 14:38:33 +00:00 |
|
bellard
|
264dbcfed2
|
fixed floating poing compare - use LVAL type - optimized bound checking
|
2002-07-13 15:55:16 +00:00 |
|
bellard
|
14fb0c49d8
|
added arg to save_regs()
|
2002-05-13 23:00:39 +00:00 |
|
bellard
|
4226681d36
|
added optionnal bound check compile - fixed error reporting
|
2002-03-03 22:45:55 +00:00 |
|
bellard
|
421911f921
|
moved i368 specific code
|
2002-02-10 16:13:14 +00:00 |
|