- 17 Mar, 2017 2 commits
-
-
Christoph Mallon authored
For architectures without a swap instruction (all except general purpose register set on amd64 and ia32) this results in shorter code. In many cases (probably except swapping two registers) it is also better this way on amd64/ia32 due to fewer uops and modern processors eliminating mov during decoding.
-
Christoph Mallon authored
All these backends can deal with 64 bit shifts by amounts >= 32, because after 64 bit lowering they are just normal shifts with amount < 32.
-
- 16 Mar, 2017 4 commits
-
-
Christoph Mallon authored
arm, sparc: Use !in_rX requirements so that register assignment of orrpl (arm) and cas (sparc) cannot fail.
-
Andreas Zwinkau authored
-
Andreas Zwinkau authored
Use python2 because scripts/gen_ir.py uses "#!/usr/bin/env python"
-
Andreas Zwinkau authored
-
- 13 Mar, 2017 1 commit
-
-
yb9976 authored
-
- 10 Mar, 2017 1 commit
-
-
yb9976 authored
-
- 20 Feb, 2017 3 commits
-
-
Matthias Braun authored
The previous commit would enable if conversion that do not produce Mux nodes by default for all targets. Seems the mips, arm target cannot handle all resulting nodes yet (Shifts != wordsize for example), so go back to no if conversion.
-
Matthias Braun authored
- Moves machine triple handling code form cparser into libfirm - Create new APIs to set the target and query information about it - Move backend_params into the new target API - Backends initialize ir_target instead of backend_params now - Add new API to get information about the target platform: - Mangle a name for the target platform (and remove compilerlib mangling callback) - Can query size and alignment of basic C types for the platform - Move some constant target information into arch_isa_if_t (we move it to target_info_t later when we realize it needs to be dynamic) - Redo backend initialization. Examples: Simple case: Initialize for host: ir_init(); Complex case: cross-compile to sparc with PIC enabled: ir_init_library(); ir_target_set("sparc-leon-linux-gnu"); ir_target_option("pic"); ir_target_init();
-
Matthias Braun authored
-
- 19 Feb, 2017 1 commit
-
-
Matthias Braun authored
-
- 17 Feb, 2017 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 01 Feb, 2017 1 commit
-
-
yb9976 authored
-
- 30 Jan, 2017 1 commit
-
-
Christoph Mallon authored
Their user was removed in 2d7ca566 more than nine years ago.
-
- 29 Jan, 2017 3 commits
-
-
Matthias Braun authored
Hopefully this fixes the fallout from acf1a376
-
Christoph Mallon authored
It was accidentally removed in ec7cfdce.
-
Christoph Mallon authored
-
- 28 Jan, 2017 4 commits
-
-
Matthias Braun authored
Let backends perform the irarch setup in lower_for_target(). Frontends do not need to explicitely enable it any longer and there is no need to keep the settings around in backend_params.
-
Matthias Braun authored
Do not put stuff unnecessarily into backend params. - Pass lower_va_arg directly as a parameter to lower_builtins - Pass stack_param align directly to be_default_lower_va_arg
-
Matthias Braun authored
No need to pass around a custom field.
-
Matthias Braun authored
-
- 26 Jan, 2017 1 commit
-
-
uxcqa authored
Phi nodes with one input occur in degenerate graphs only, but can "trick" jumpthreading into duplicating blocks with more than one successor, which is not supported.
-
- 25 Jan, 2017 1 commit
-
-
Christoph Mallon authored
-
- 24 Jan, 2017 4 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 22 Jan, 2017 7 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
It prints the given node along the word TODO as panic message. This is useful for unfinished development work.
-
- 16 Jan, 2017 1 commit
-
-
Christoph Mallon authored
-
- 14 Jan, 2017 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
They can happen at -O0.
-