- 04 Apr, 2016 4 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
We only use the immediate and scale yet on ia32.
-
Matthias Braun authored
-
Matthias Braun authored
This is a bigger rewrite of stack frame handling in the backend: - Do the stack frame type layout late, after all the spill slots have been created. This way we can avoid (and remove) the brittle frame_alloc_area(). - Standardize the meaning of stack entity offsets. After stack frame type layout they are relative to the stack pointer position at the beginning of the function. It is all in one type now, no splitting into "arg", "between" and "stack_frame" type anymore. - Generalize the stack pointer simulation code to work with a single callback. Represent stack state as current offset and align_padding number. Now that callbacks can access and modify them both we do not need custom code in the sparc backend anymore. - Remove alignment specification on IncSP, only keep a ignore_align flag used for the last IncSP that has to remove all existing sp adjustments and may end up on a misaligned SP on ia32/amd64. - Align stack by default on ia32+amd64 backends.
-
- 19 Mar, 2016 1 commit
-
-
Christoph Mallon authored
This way all the backends do not have to filter it by themselves.
-
- 15 Mar, 2016 1 commit
-
-
Christoph Mallon authored
-
- 15 Feb, 2016 2 commits
-
-
Matthias Braun authored
They previously used be_stack_layout but that structure will be remove soon.
-
Matthias Braun authored
-
- 14 Feb, 2016 1 commit
-
-
Matthias Braun authored
-
- 12 Feb, 2016 1 commit
-
-
yb9976 authored
-
- 08 Feb, 2016 4 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
Only keep the basics necessary to emit text lines in beemitter.[ch] and move all the other convenience stuff to beemithlp.[ch].
-
- 05 Feb, 2016 1 commit
-
-
Christoph Mallon authored
-
- 01 Feb, 2016 4 commits
-
-
Christoph Mallon authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 31 Jan, 2016 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 25 Jan, 2016 1 commit
-
-
Christoph Mallon authored
-
- 17 Jan, 2016 1 commit
-
-
Christoph Mallon authored
'thunk' is the current and default style to get the ip. 'pop' is the old way using 'call base; base: pop %reg'.
-
- 11 Jan, 2016 1 commit
-
-
Christoph Mallon authored
-
- 10 Jan, 2016 1 commit
-
-
Matthias Braun authored
-
- 14 Dec, 2015 1 commit
-
-
Matthias Braun authored
This is done by introducing a new new_global_entity() function for constructing globals/adding a visibility argument to new_alias_entity().
-
- 03 Dec, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
Now the ls_mode is respected by default, wich is more sensible, and '#' is used to emit a 32 bit register.
-
- 23 Sep, 2015 1 commit
-
-
Matthias Braun authored
-
- 20 Sep, 2015 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 07 Sep, 2015 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 29 Jul, 2015 1 commit
-
-
Matthias Braun authored
Calls+Jumps really use PC relative addresses even if they look the same in the assembler. Create an immediate kind for that, this allows a slightly simpler bemit_entity().
-
- 22 Jul, 2015 1 commit
-
-
Matthias Braun authored
This uses the newly introduced be_Relocation node to perform most PIC transformations in ia32_pic.c. This introduces the elf and elf-no-plt PIC modes. The "efl" mode does not work yet because the additional ebx input makes calls register pressure unfaithful.
-
- 20 Jul, 2015 4 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Matthias Braun authored
This is not really a new entity type but merely a relocation type. Handle it with a x86_immediate_kind.
-
Matthias Braun authored
-