- 26 Apr, 2016 2 commits
-
-
Christoph Mallon authored
All callers use X86_SIZE_32. Also any smaller size requires a third operand, because the result register does not get completely overwritten.
-
Christoph Mallon authored
Now the original node name is set for all backends, not just ia32. Further, no code in the backends is needed. All new nodes, which are reachable from the returned transformed node and do not have a original node yet, automatically get assigned the original node.
-
- 25 Apr, 2016 13 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Matthias Braun authored
Taking explicit size+po2align makes things easier compared to the previously used ir_type: ir_type* is a middleend concept not everything in the backend is represented as a type/mode anymore (x86_insn_size_t). Furthermore we only respected size+alignment of that type anyway, additional semantics would be unexpectedly ignored. It also simplifies the code in some places. This should also naturally fix a problem in 188.amp where we wrongly passed the type for mode_Ls instead of the type for mode_D before.
-
Matthias Braun authored
- Always dump the actual name and not some apreviation/interpretation. - Add the missing flags. - Use a switch so we get a warning when flags are missing from the list.
-
Matthias Braun authored
Handling of shifts < 32bits was broken with the x8_insn_size_t change.
-
Matthias Braun authored
-
Matthias Braun authored
All users used X86_SIZE_32 anyway and there is little use in writing half a register and without an input you cannot control the value of the rest.
-
- 24 Apr, 2016 6 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
The node is usually less interesting for backend nodes, so it is enough to have it in the detail attributes.
-
- 22 Apr, 2016 5 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
This is shorter than loading from a constant pool. gcc does it, too.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 21 Apr, 2016 1 commit
-
-
Christoph Mallon authored
-
- 20 Apr, 2016 7 commits
-
-
Christoph Mallon authored
base, index an mem are never null after calling build_address().
-
Christoph Mallon authored
-
Christoph Mallon authored
No caller uses this flag.
-
Christoph Mallon authored
'match_upconv' might sign-extend, which is wrong for doing a popcount.
-
Christoph Mallon authored
The operand is a pointer, so always has the right width.
-
Manuel Mohr authored
-
Manuel Mohr authored
-
- 18 Apr, 2016 4 commits
-
-
Christoph Mallon authored
This avoids some (mostly false) warnings about missing initializers.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Matthias Braun authored
-
- 17 Apr, 2016 2 commits
-
-
Matthias Braun authored
Nearly all structs derived from amd64_attr_t has a size member anyway. Simplify the code and move it to the base amd64_attr_t.
-
Matthias Braun authored
-