Christoph Mallon [Sat, 24 Nov 2012 22:17:18 +0000 (23:17 +0100)]
bearch: Assert, instead of test, that the register requirement is not arch_register_req_type_none in arch_reg_is_allocatable().
If it is, something is very wrong.
Christoph Mallon [Sat, 24 Nov 2012 21:34:03 +0000 (22:34 +0100)]
cleanup: Reduce code duplication.
Christoph Mallon [Sat, 24 Nov 2012 21:18:46 +0000 (22:18 +0100)]
bearch: Remove arch_get_inverse() and associated code.
Christoph Mallon [Sat, 24 Nov 2012 21:05:01 +0000 (22:05 +0100)]
beinfo: Remove the unused function be_info_initialized().
Christoph Mallon [Sat, 24 Nov 2012 21:04:32 +0000 (22:04 +0100)]
beinfo: Remove declaration of the non-existent function be_info_duplicate().
Christoph Mallon [Sat, 24 Nov 2012 20:57:20 +0000 (21:57 +0100)]
cleanup: Remove unnecessary #include from becopyopt.h.
Christoph Mallon [Sat, 24 Nov 2012 20:51:22 +0000 (21:51 +0100)]
cleanup: Remove unnecessary #include from beifg.h.
Christoph Mallon [Sat, 24 Nov 2012 20:47:04 +0000 (21:47 +0100)]
cleanup: Remove unnecessary #include from belive.h.
Christoph Mallon [Sat, 24 Nov 2012 20:40:47 +0000 (21:40 +0100)]
cleanup: Remove unnecessary #include from beutil.h.
Christoph Mallon [Sat, 24 Nov 2012 20:40:32 +0000 (21:40 +0100)]
cleanup: Remove has_reg_class().
Christoph Mallon [Sat, 24 Nov 2012 20:29:44 +0000 (21:29 +0100)]
beinfo: Remove unnecessary test from sched_edge_hook().
Projs are not scheduled, so they will fail this test later on.
Christoph Mallon [Sat, 24 Nov 2012 20:29:23 +0000 (21:29 +0100)]
cleanup: Remove unnecessary #include from besched.[ch].
Christoph Mallon [Sat, 24 Nov 2012 20:28:19 +0000 (21:28 +0100)]
besched: Remove the unused/unnecessary functions sched_has_next() and sched_has_prev().
Christoph Mallon [Sat, 24 Nov 2012 20:05:48 +0000 (21:05 +0100)]
belive: Assert that only scheduled nodes are used in _value_dominates_intrablock() and _value_strictly_dominates_intrablock().
Christoph Mallon [Sat, 24 Nov 2012 20:01:40 +0000 (21:01 +0100)]
cleanup: Remove unnecessary #include from beintlive_t.h.
Christoph Mallon [Sat, 24 Nov 2012 19:58:00 +0000 (20:58 +0100)]
bearch: Remove special handling that a node has no backend info, when getting a register requirement of the node.
This should not occur anymore.
Christoph Mallon [Sat, 24 Nov 2012 19:57:19 +0000 (20:57 +0100)]
belive: Remove unused functions and macros.
Christoph Mallon [Sat, 24 Nov 2012 19:40:17 +0000 (20:40 +0100)]
cleanup: Remove unnecesary #include from bearch.h.
Christoph Mallon [Sat, 24 Nov 2012 19:37:18 +0000 (20:37 +0100)]
betranshlp: Simply crash with on null pointer instead of having an explicit panic.
Christoph Mallon [Sat, 24 Nov 2012 19:14:35 +0000 (20:14 +0100)]
bearch: Remove unnecessary indirection to access arch_no_register_req.
Christoph Mallon [Sat, 24 Nov 2012 19:11:16 +0000 (20:11 +0100)]
bearch: Remove obsolete special case for out info of switch nodes.
Christoph Mallon [Sat, 24 Nov 2012 18:54:40 +0000 (19:54 +0100)]
heur4: Remove unused macro constants.
Christoph Mallon [Sat, 24 Nov 2012 18:46:57 +0000 (19:46 +0100)]
heur4: Check all n_regs order[] entries, not just k.
This is relevant, when there is an allocateable register with a higher number than some non-allocateable register.
Christoph Mallon [Sat, 24 Nov 2012 18:43:00 +0000 (19:43 +0100)]
sparc: Correct dwarf number of register %i7.
Christoph Mallon [Sat, 24 Nov 2012 18:14:56 +0000 (19:14 +0100)]
ir: Shuffle node macros, so functions in the header declaring the macros use the inline versions of the node functions.
Christoph Mallon [Sat, 24 Nov 2012 17:37:38 +0000 (18:37 +0100)]
heur4: Avoid unnecessary bitset operations when the node is not limited.
Christoph Mallon [Sat, 24 Nov 2012 16:15:17 +0000 (17:15 +0100)]
bechordal: Remove the write-only bitset out_constr from pre_process_constraints().
Christoph Mallon [Sat, 24 Nov 2012 15:55:40 +0000 (16:55 +0100)]
bechordal: Remove the write-only attribute colors_n from struct be_chordal_alloc_env_t.
Christoph Mallon [Sat, 24 Nov 2012 15:53:20 +0000 (16:53 +0100)]
bechordal: Remove the write-only bitset in_colors from struct be_chordal_alloc_env_t.
Christoph Mallon [Sat, 24 Nov 2012 15:46:33 +0000 (16:46 +0100)]
bechordal: Remove unused macro.
Christoph Mallon [Sat, 24 Nov 2012 15:25:24 +0000 (16:25 +0100)]
becopyheur2: Use bitset_foreach_clear() instead of bitset_flip_all() + bitset_foreach().
Christoph Mallon [Sat, 24 Nov 2012 15:13:10 +0000 (16:13 +0100)]
bechordal: Simplify get_decisive_partner_regs().
Christoph Mallon [Sat, 24 Nov 2012 15:10:42 +0000 (16:10 +0100)]
bechordal: Remove impossible case from get_decisive_partner_regs().
o2 gets determined from o1, so o1 cannot be null.
Christoph Mallon [Sat, 24 Nov 2012 15:09:47 +0000 (16:09 +0100)]
bechordal: Remove unnecessary bitset copies from get_decisive_partner_regs().
Christoph Mallon [Sat, 24 Nov 2012 14:55:54 +0000 (15:55 +0100)]
bechordal: Remove invalid cases from assertion.
The register classes must not be null here.
All allocatable register requirements must have a class.
Christoph Mallon [Sat, 24 Nov 2012 14:55:12 +0000 (15:55 +0100)]
beinsn: Remove a pointless if.
The register class cannot be null here, because only operands for the current class are collected before.
Christoph Mallon [Sat, 24 Nov 2012 14:26:01 +0000 (15:26 +0100)]
belive: Change be_liveness_nodes_live_at() to be_liveness_nodes_live_before().
The operation we want to perform is to get the live values just before a node.
Christoph Mallon [Sat, 24 Nov 2012 14:16:30 +0000 (15:16 +0100)]
be: Change insert_Perm_after() to insert_Perm_before().
The operation we want to perform is to insert a Perm before a node.
Christoph Mallon [Sat, 24 Nov 2012 13:15:39 +0000 (14:15 +0100)]
beinsn: Remove the attribute next_insn from struct be_insn_t.
Just use sched_next().
Christoph Mallon [Sat, 24 Nov 2012 13:04:30 +0000 (14:04 +0100)]
beinsn: Remove the attributes in_constraints and out_constraints from struct be_insn_t.
They are only used locally.
Write their combined value directly to has_constraints.
Christoph Mallon [Sat, 24 Nov 2012 13:00:57 +0000 (14:00 +0100)]
be: Remove the indirection via chordal_scan_insn() to be_scan_insn().
Christoph Mallon [Sat, 24 Nov 2012 12:38:08 +0000 (13:38 +0100)]
bechordal: Remove the unused attribute ilp_server[] from struct be_ra_chordal_opts_t.
Christoph Mallon [Sat, 24 Nov 2012 12:36:50 +0000 (13:36 +0100)]
bechordal: Remove the unused attribute ilp_solver[] from struct be_ra_chordal_opts_t.
Christoph Mallon [Sat, 24 Nov 2012 12:34:49 +0000 (13:34 +0100)]
bechordal: Make be_ra_chordal_color() static.
Christoph Mallon [Sat, 24 Nov 2012 12:32:09 +0000 (13:32 +0100)]
bechordal: Use foreach_border_head() instead of the raw list_for_each_entry()/list_for_each_entry_reverse().
The uses of list_for_each_entry() can use reverse, too.
They are only debug output.
Christoph Mallon [Sat, 24 Nov 2012 12:25:30 +0000 (13:25 +0100)]
bechordal: Remove the pointless wrapper macro get_block_border_head().
Christoph Mallon [Sat, 24 Nov 2012 12:24:20 +0000 (13:24 +0100)]
bechordal: Remove the unused macros border_next() and border_prev().
Christoph Mallon [Sat, 24 Nov 2012 12:23:20 +0000 (13:23 +0100)]
bechordal: Merge the macro chordal_has_class() and the function has_reg_class().
Christoph Mallon [Sat, 24 Nov 2012 11:51:27 +0000 (12:51 +0100)]
beabi: Remove unnecessary #include from beabi.h.
Christoph Mallon [Sat, 24 Nov 2012 11:45:04 +0000 (12:45 +0100)]
beabi: Remove the declaration of the non-existent function be_abi_call_get_method_type().
Christoph Mallon [Sat, 24 Nov 2012 11:39:21 +0000 (12:39 +0100)]
beabi: Remove pointless local variable.
Christoph Mallon [Sat, 24 Nov 2012 11:35:58 +0000 (12:35 +0100)]
beabi: Remove parameters from create_be_return(), which can be deduced from the parameter irn.
Christoph Mallon [Sat, 24 Nov 2012 11:31:39 +0000 (12:31 +0100)]
beabi: The parameter irn of create_be_return() never is null.
Christoph Mallon [Sat, 24 Nov 2012 11:12:54 +0000 (12:12 +0100)]
beabi: Remove the attribute cls_addr from struct be_abi_call_t.
It is only used locally.
Christoph Mallon [Sat, 24 Nov 2012 11:01:00 +0000 (12:01 +0100)]
beabi: Remove the unused function be_abi_call_set_call_address_reg_class().
Christoph Mallon [Sat, 24 Nov 2012 10:58:49 +0000 (11:58 +0100)]
beabi: Remove the unused attribute between_type from struct be_abi_call_t.
Christoph Mallon [Sat, 24 Nov 2012 10:55:13 +0000 (11:55 +0100)]
beabi: Remove the global variable be_omit_fp.
Simply directly use the be_options.
Christoph Mallon [Sat, 24 Nov 2012 10:53:02 +0000 (11:53 +0100)]
beabi: Remove redundant adjustment of try_omit_fp in process_ops_in_block().
It was initialised properly by be_abi_call_new().
Christoph Mallon [Sat, 24 Nov 2012 10:49:18 +0000 (11:49 +0100)]
beabi: Always be_abi_call_get_flags() before be_abi_call_set_flags().
The template and amd64 backends left the omit_fp flag undefined due to allocating an uninitialized be_abi_call_flags_t on the stack.
Christoph Mallon [Sat, 24 Nov 2012 10:45:49 +0000 (11:45 +0100)]
beabi: Turn be_abi_call_flags_t into a struct.
Remove the union aspect to interpret the flags as one unsigned int.
Christoph Mallon [Sat, 24 Nov 2012 10:20:27 +0000 (11:20 +0100)]
beabi: Remove the atttribute on_stack from struct be_abi_call_arg_t.
It is the complement of the atttribute in_reg.
Christoph Mallon [Sat, 24 Nov 2012 09:51:50 +0000 (10:51 +0100)]
beabi: Use the stack alignment, instead of hardcoding 4, to align the frame size.
Christoph Mallon [Sat, 24 Nov 2012 09:51:10 +0000 (10:51 +0100)]
beabi: Remove the attribute frame_tp from struct lower_frame_sels_env_t.
It is only used locally.
Christoph Mallon [Sat, 24 Nov 2012 09:44:20 +0000 (10:44 +0100)]
beabi: Remove the unused attribute static_link_pos from struct lower_frame_sels_env_t.
Christoph Mallon [Sat, 24 Nov 2012 09:43:38 +0000 (10:43 +0100)]
bearch: Remove the write-only attribute link_class from struct arch_env_t.
Christoph Mallon [Sat, 24 Nov 2012 09:42:28 +0000 (10:42 +0100)]
beabi: Remove the write-only attribute link_class from struct lower_frame_sels_env_t.
Christoph Mallon [Sat, 24 Nov 2012 09:08:34 +0000 (10:08 +0100)]
amd64: Remove struct amd64_irg_data_t.
Most attributes were unused.
The only one used (dump) is now directly read from the be_options.
Christoph Mallon [Sat, 24 Nov 2012 09:06:09 +0000 (10:06 +0100)]
bemain: init_graph in arch_isa_if_t may now be a null pointer.
Remove empty init_graph functions from arm and sparc backends.
Christoph Mallon [Sat, 24 Nov 2012 09:05:16 +0000 (10:05 +0100)]
bestack: Remove pointless local variable.
Christoph Mallon [Sat, 24 Nov 2012 09:04:41 +0000 (10:04 +0100)]
bestack: Remove the write-only attribute between_size from struct bias_walk.
Christoph Mallon [Sat, 24 Nov 2012 09:01:17 +0000 (10:01 +0100)]
beabi: Pass be_abi_irg_t around locally instead of storing it in be_irg_t.
Christoph Mallon [Sat, 24 Nov 2012 09:03:16 +0000 (10:03 +0100)]
beabi: Do not pass an environment to fix_pic_symconsts(), which it does not use.
Christoph Mallon [Sat, 24 Nov 2012 08:33:52 +0000 (09:33 +0100)]
beabi: Remove the attribute start from struct be_abi_irg_t.
It is only used in one function.
Christoph Mallon [Sat, 24 Nov 2012 08:32:10 +0000 (09:32 +0100)]
beabi: Remove the unused attribute start_block_bias from struct be_abi_irg_t.
Christoph Mallon [Sat, 24 Nov 2012 07:59:00 +0000 (08:59 +0100)]
be: Remove the irg from the birg.
There was only one user of this information left, which is changed to directly use irgs.
Christoph Mallon [Sat, 24 Nov 2012 07:53:03 +0000 (08:53 +0100)]
arm: Remove the unused function create_const().
Christoph Mallon [Sat, 24 Nov 2012 07:52:33 +0000 (08:52 +0100)]
amd64: Remove the unused function create_const().
Christoph Mallon [Fri, 23 Nov 2012 21:21:22 +0000 (22:21 +0100)]
edges: Remove support for private edge data.
Christoph Mallon [Fri, 23 Nov 2012 21:15:47 +0000 (22:15 +0100)]
edges: Remove unused macros.
Christoph Mallon [Sat, 24 Nov 2012 09:58:56 +0000 (10:58 +0100)]
tr: Remove if from set_type_size(), which would lead to a silent failure in release mode.
Now we get a nice crash.
Sebastian Buchwald [Fri, 23 Nov 2012 13:02:33 +0000 (14:02 +0100)]
Combo: Ensure split by partition for Phi nodes.
This fixes opt/combo3.c and opt/combo4.c.
Sebastian Buchwald [Thu, 22 Nov 2012 09:37:28 +0000 (10:37 +0100)]
Improved readability of debug output.
Sebastian Buchwald [Thu, 22 Nov 2012 09:22:53 +0000 (10:22 +0100)]
Dump partitions before adding them to the worklist.
This makes the debug output more readable.
Sebastian Buchwald [Tue, 20 Nov 2012 07:37:10 +0000 (08:37 +0100)]
Fixed some typos.
Christoph Mallon [Fri, 23 Nov 2012 06:41:08 +0000 (07:41 +0100)]
timer: Enlarge the display space for the time.
Christoph Mallon [Thu, 22 Nov 2012 16:48:54 +0000 (17:48 +0100)]
verifier: Check the result mode of Div and Mod.
Christoph Mallon [Thu, 22 Nov 2012 16:47:59 +0000 (17:47 +0100)]
verifier: Check that Div has a num mode, not a data mode.
Matthias Braun [Fri, 16 Nov 2012 18:33:27 +0000 (19:33 +0100)]
update for release
Matthias Braun [Wed, 21 Nov 2012 16:48:36 +0000 (17:48 +0100)]
fix assert: there are initializers with size==0
Matthias Braun [Mon, 19 Nov 2012 16:10:42 +0000 (17:10 +0100)]
ldstopt: fix for case of non-const global initializer
Matthias Braun [Fri, 16 Nov 2012 17:38:12 +0000 (18:38 +0100)]
ia32: fix stupid bug introduced in last commit
makereport didn't catch it because it uses -march=native flags by
default which produces code without fucompp.
Matthias Braun [Thu, 15 Nov 2012 15:03:03 +0000 (16:03 +0100)]
ia32_x87: remove the distinction between vfp and fp concepts
It's really the same stuff just before and after running ia32_x87
simulator, there is no real need to have 2 different things.
Christoph Mallon [Thu, 15 Nov 2012 13:53:15 +0000 (14:53 +0100)]
x87: Add a heuristic for fxch-ing one operand in sim_binop(), if both operands die.
Matthias Braun [Thu, 15 Nov 2012 09:29:13 +0000 (10:29 +0100)]
bedwarf: use be_gas_emit_string to fix escaping issues
Matthias Braun [Thu, 15 Nov 2012 09:28:04 +0000 (10:28 +0100)]
begnuas: simplify, add be_gas_emit_string()
simplify it by always using .asciz instead of sometimes .string/.ascii.
All new gcc/binutils understand .asciz.
Matthias Braun [Thu, 15 Nov 2012 08:29:39 +0000 (09:29 +0100)]
bedwarf: query backend for pointer size
Also improve doku of machine_size element in backend_params struct.
Christoph Mallon [Wed, 14 Nov 2012 11:59:50 +0000 (12:59 +0100)]
x87: Only use fucompp if one operand happens to be at st(1).
Otherwise the extra effort to get the operands to the right position is not worth it.
Further, this avoids the unnecessary effort when we not going to use fucompp in favor of fucomi anyway.
Christoph Mallon [Wed, 14 Nov 2012 12:20:22 +0000 (13:20 +0100)]
x87: Enable x87_create_fpop() to remove entries other than just the tos.
Christoph Mallon [Wed, 14 Nov 2012 12:15:06 +0000 (13:15 +0100)]
x87: Remove the parameter num from x87_create_fpop().
Christoph Mallon [Wed, 14 Nov 2012 09:49:41 +0000 (10:49 +0100)]
x87: Improve sim_binop(): Only use fxch if both operands are not at tos.