Michael Beck [Mon, 17 Aug 2009 21:53:48 +0000 (21:53 +0000)]
- moved pass constructors from irtools to irpass
- add an irg_verify_pass()
[r26374]
Matthias Braun [Mon, 17 Aug 2009 08:23:02 +0000 (08:23 +0000)]
benewalloc: more special casing of unknowns as phi-inputs needed
[r26371]
Matthias Braun [Mon, 17 Aug 2009 08:17:54 +0000 (08:17 +0000)]
benewalloc: fix unknowns being used at phi inputs
[r26370]
Matthias Braun [Mon, 17 Aug 2009 08:11:04 +0000 (08:11 +0000)]
benewalloc: fix assert hitting when dying value was used at 2 inputs
[r26369]
Matthias Braun [Mon, 17 Aug 2009 08:06:08 +0000 (08:06 +0000)]
generally rewire inputs before enforce_constraints, this fixes more bugs and makes the fixes from last commit easier
[r26368]
Matthias Braun [Mon, 17 Aug 2009 07:44:45 +0000 (07:44 +0000)]
fix a few errors and warnings in the new pass code; improve some comments
[r26367]
Michael Beck [Mon, 17 Aug 2009 00:19:59 +0000 (00:19 +0000)]
- removed verify and dump parameters from passes
- add more passes
[r26366]
Matthias Braun [Sun, 16 Aug 2009 22:23:59 +0000 (22:23 +0000)]
benewalloc: fix enforce_constraints sometimes looking at the original value instead of the current copy of a value
[r26365]
Matthias Braun [Sun, 16 Aug 2009 20:15:09 +0000 (20:15 +0000)]
fix output constraints not always being respected
[r26364]
Matthias Braun [Sun, 16 Aug 2009 19:36:25 +0000 (19:36 +0000)]
cleanup and fix permutate_values (3-cycles and values being used 2 times with 1 being a fixpoint were broken)
[r26363]
Matthias Braun [Sun, 16 Aug 2009 17:31:05 +0000 (17:31 +0000)]
fix double typedef of ir_prog
[r26362]
Michael Beck [Sun, 16 Aug 2009 13:19:09 +0000 (13:19 +0000)]
- graph passes can be added to prog managers now
- more passes implemented
- small fixes
[r26356]
Michael Beck [Sun, 16 Aug 2009 03:48:44 +0000 (03:48 +0000)]
- add more passes
[r26351]
Michael Beck [Sun, 16 Aug 2009 03:20:04 +0000 (03:20 +0000)]
- Put typical case of pass construction into irtools
- add more passes
[r26350]
Michael Beck [Sun, 16 Aug 2009 02:06:00 +0000 (02:06 +0000)]
- removed C99 features
- typos fixed
[r26349]
Michael Beck [Sun, 16 Aug 2009 01:47:41 +0000 (01:47 +0000)]
- add pass for optimize_graph_df()
[r26348]
Michael Beck [Sun, 16 Aug 2009 01:34:39 +0000 (01:34 +0000)]
- removed useless spaces
[r26347]
Michael Beck [Sun, 16 Aug 2009 01:33:42 +0000 (01:33 +0000)]
- add pass for combo()
- fixed pass generator for lower_intrinsics
- add irpass.h to firm.h header
[r26346]
Michael Beck [Sun, 16 Aug 2009 01:09:11 +0000 (01:09 +0000)]
- add pass for lower_intrinsics()
[r26345]
Michael Beck [Sun, 16 Aug 2009 01:06:37 +0000 (01:06 +0000)]
- implemented a pass manager, so optimizations could be added in advance to "a pass" and run an once as a pipeline
- two managers yet: graph manager runs passes on all graphs of an irp, prog manager runs passes on all irp's (currently only one)
[r26344]
Matthias Braun [Fri, 14 Aug 2009 21:15:29 +0000 (21:15 +0000)]
free values again if we know we don't need them anymore
[r26343]
Matthias Braun [Fri, 14 Aug 2009 20:48:31 +0000 (20:48 +0000)]
benewalloc: fix live-in values without phis not getting set to their copies
[r26342]
Matthias Braun [Fri, 14 Aug 2009 20:31:52 +0000 (20:31 +0000)]
fix more bugs in new allocator
[r26341]
Matthias Braun [Fri, 14 Aug 2009 20:31:15 +0000 (20:31 +0000)]
fix block message in register allocator verifier
[r26340]
Christoph Mallon [Fri, 14 Aug 2009 18:13:07 +0000 (18:13 +0000)]
Do not allocate backend info for Projs. Their tuple hold all info and asking the Projs is plain wrong.
[r26337]
Christoph Mallon [Fri, 14 Aug 2009 18:09:32 +0000 (18:09 +0000)]
Skip projs before getting backend flags.
[r26336]
Matthias Braun [Fri, 14 Aug 2009 13:16:29 +0000 (13:16 +0000)]
fix a bug in constraint enforcement; improve phi handling and phi0 construction (still not finished)
[r26335]
Matthias Braun [Fri, 14 Aug 2009 08:39:05 +0000 (08:39 +0000)]
benewalloc: cleanups; dump intermediate results; rework copy tracking logic; started working on SSA construction
[r26334]
Matthias Braun [Thu, 13 Aug 2009 10:26:49 +0000 (10:26 +0000)]
- rework backend node dumping; add a dumper for Phi nodes
- make phi nodes use backend_info instead of phi_handler hashmaps
[r26332]
Christoph Mallon [Wed, 12 Aug 2009 17:36:19 +0000 (17:36 +0000)]
Minor corrections.
[r26331]
Christoph Mallon [Wed, 12 Aug 2009 11:59:03 +0000 (11:59 +0000)]
Remove unnecessary #include "phiclass.h".
[r26330]
Matthias Braun [Wed, 12 Aug 2009 09:14:55 +0000 (09:14 +0000)]
fix rbitset_is_empty; put opening brace of functions on an own line
[r26329]
Matthias Braun [Tue, 11 Aug 2009 11:46:32 +0000 (11:46 +0000)]
- implement output constraint enforcement for new register allocator
- rename bespilloptions.* to bespill.* and bespill.* to bespillutil.*
[r26327]
Matthias Braun [Tue, 11 Aug 2009 11:45:44 +0000 (11:45 +0000)]
SwitchJmp doesn't have 1 'none' output
[r26326]
Matthias Braun [Tue, 11 Aug 2009 11:45:18 +0000 (11:45 +0000)]
add rbitsets_have_common function
[r26325]
Matthias Braun [Thu, 6 Aug 2009 16:36:43 +0000 (16:36 +0000)]
fix
[r26321]
Matthias Braun [Thu, 6 Aug 2009 14:49:04 +0000 (14:49 +0000)]
- Rewrite internal backend logic for querying register constraints.
(We have a separate get_input, and get_output callback for now).
This should make the code faster for now and is a first step towards
changing the interface to query register constraints on the mode_T node
itself instead of the Proj nodes.
- Handle middleend node constraints and stuff in benode.c instead of in each
backend
- Remove irn_class_branch we already had is_cfop in the middleend
- Fix a bunch of bugs/problems in the process
[r26320]
Matthias Braun [Wed, 5 Aug 2009 15:16:07 +0000 (15:16 +0000)]
fix read from uninitialized memory
[r26318]
Matthias Braun [Wed, 5 Aug 2009 10:53:46 +0000 (10:53 +0000)]
reorganize backend headers (kill some _t variants in favor of a be_types.h)
[r26317]
Matthias Braun [Tue, 4 Aug 2009 11:36:09 +0000 (11:36 +0000)]
fix register allocation verifier not checking output constraints for mode_T nodes
[r26315]
Matthias Braun [Mon, 3 Aug 2009 17:26:53 +0000 (17:26 +0000)]
initial work for phi-nodes (ifs should work, loops not yet)
[r26314]
Matthias Braun [Mon, 3 Aug 2009 12:40:06 +0000 (12:40 +0000)]
more work on permutate values (not finished yet)
[r26313]
Matthias Braun [Sun, 2 Aug 2009 18:09:24 +0000 (18:09 +0000)]
fix warning and compilation error in optimized mode
[r26311]
Matthias Braun [Sun, 2 Aug 2009 18:09:07 +0000 (18:09 +0000)]
fix a few bugs in benewalloc, split codegen timer in 2
[r26310]
Matthias Braun [Fri, 31 Jul 2009 12:39:52 +0000 (12:39 +0000)]
cleanup backend: make pre_spill_prepare_constraint independent of chordal allocator structures (and rework it a bit in the process)
[r26304]
Matthias Braun [Fri, 31 Jul 2009 12:39:14 +0000 (12:39 +0000)]
unnecessary include
[r26303]
Matthias Braun [Fri, 31 Jul 2009 12:39:02 +0000 (12:39 +0000)]
fix warning
[r26302]
Matthias Braun [Fri, 31 Jul 2009 12:38:45 +0000 (12:38 +0000)]
fix warning
[r26301]
Matthias Braun [Fri, 31 Jul 2009 10:35:46 +0000 (10:35 +0000)]
fix last commit
[r26299]
Matthias Braun [Fri, 31 Jul 2009 10:27:57 +0000 (10:27 +0000)]
declare load/store alternative in iroptimize header
[r26298]
Matthias Braun [Fri, 31 Jul 2009 10:22:42 +0000 (10:22 +0000)]
less abreviations: rebitset_cpy => rebitset_copy
[r26297]
Sebastian Buchwald [Wed, 15 Jul 2009 15:01:42 +0000 (15:01 +0000)]
condeval is called jump threading now
[r26280]
Matthias Braun [Fri, 10 Jul 2009 13:56:22 +0000 (13:56 +0000)]
condeval is called Jump Threading now
[r26260]
Michael Beck [Mon, 6 Jul 2009 18:39:53 +0000 (18:39 +0000)]
- hopefully fixed the lftr now
[r26241]
Michael Beck [Sun, 5 Jul 2009 17:38:32 +0000 (17:38 +0000)]
- fixed warnings regarding unused irg's
[r26239]
Michael Beck [Sun, 5 Jul 2009 17:14:32 +0000 (17:14 +0000)]
- remove all irg parameter from node constructors having a block
- SymConst's are now ALWAYS placed in the start block
[r26236]
Matthias Braun [Mon, 29 Jun 2009 09:09:31 +0000 (09:09 +0000)]
remove unused common/firmwalk.* code
[r26224]
Matthias Braun [Mon, 29 Jun 2009 09:06:41 +0000 (09:06 +0000)]
remove pointless and unused common/statistics.* code
[r26223]
Matthias Braun [Mon, 29 Jun 2009 09:04:43 +0000 (09:04 +0000)]
Cleanup: remove firm_common_t.h (and the PRECISE_EXC_CONTEXT define)
[r26222]
Matthias Braun [Mon, 29 Jun 2009 08:58:41 +0000 (08:58 +0000)]
fix bad merge in last commit
[r26221]
Matthias Braun [Mon, 29 Jun 2009 08:19:31 +0000 (08:19 +0000)]
rework python generators: we can make use of the classes/inheritance language features to nicely define our nodes
[r26220]
Matthias Braun [Fri, 26 Jun 2009 08:41:09 +0000 (08:41 +0000)]
mark get_Block_irg inline to avoid warnings
[r26190]
Michael Beck [Thu, 25 Jun 2009 22:48:39 +0000 (22:48 +0000)]
Add an irg attribute the Bad nodes: so get_Block_irg() can operate on
Bad nodes just like on Block nodes.
This simplifies get_irn_irg() and implements the idea the the irg can
be retrieved from "the block" of a node.
[r26188]
Michael Beck [Wed, 24 Jun 2009 19:48:06 +0000 (19:48 +0000)]
- fixed warning
[r26181]
Michael Beck [Wed, 24 Jun 2009 19:41:25 +0000 (19:41 +0000)]
- add an inline version of get_Block_irg()
[r26180]
Michael Beck [Wed, 24 Jun 2009 19:37:01 +0000 (19:37 +0000)]
- add some doxygen comments laying around
[r26179]
Matthias Braun [Fri, 19 Jun 2009 15:08:39 +0000 (15:08 +0000)]
another instance of wrong block in new_Proj
[r26164]
Matthias Braun [Fri, 19 Jun 2009 13:44:10 +0000 (13:44 +0000)]
verify that Projs are in the same Block as their predecessors (and fix bugs in firm where this wasn't the case)
[r26163]
Matthias Braun [Fri, 19 Jun 2009 12:10:54 +0000 (12:10 +0000)]
- Get rid of the infamous Start->ProjX->Start backedge
[r26162]
Matthias Braun [Thu, 18 Jun 2009 14:47:25 +0000 (14:47 +0000)]
transform assert to an if, as some students tend to hit it
[r26157]
Matthias Braun [Thu, 18 Jun 2009 11:34:52 +0000 (11:34 +0000)]
fix wrong assert, expor copy_node_attr function to public API
[r26153]
Matthias Braun [Thu, 18 Jun 2009 11:34:27 +0000 (11:34 +0000)]
small fixes
[r26152]
Matthias Braun [Wed, 3 Jun 2009 09:10:04 +0000 (09:10 +0000)]
- remove modecode concept which is pointless nowadays
[r26093]
Michael Beck [Tue, 2 Jun 2009 22:38:55 +0000 (22:38 +0000)]
- svn properties added
- typos fixed
- C99 features removed
[r26089]
Michael Beck [Tue, 2 Jun 2009 22:31:52 +0000 (22:31 +0000)]
- C99 features removed
[r26088]
Michael Beck [Tue, 2 Jun 2009 22:26:36 +0000 (22:26 +0000)]
- fixed Win32 build after r26081
[r26087]
Matthias Braun [Mon, 1 Jun 2009 09:53:40 +0000 (09:53 +0000)]
add note/error message about critical edge splitting and IJmps
[r26084]
Matthias Braun [Mon, 1 Jun 2009 08:53:20 +0000 (08:53 +0000)]
fix a bunch of bugs in my last commit (no idea why I didn't see them on my mac)
[r26082]
Matthias Braun [Mon, 1 Jun 2009 08:52:55 +0000 (08:52 +0000)]
rework architecture specific timer code
[r26081]
Matthias Braun [Mon, 1 Jun 2009 08:34:19 +0000 (08:34 +0000)]
Rework Block labels: They are entities now so we don't need a special symconst type for them
[r26080]
Matthias Braun [Mon, 1 Jun 2009 08:29:57 +0000 (08:29 +0000)]
small fixes and improvements to mysql support
[r26079]
Michael Beck [Sat, 30 May 2009 15:30:16 +0000 (15:30 +0000)]
- fixed warning
[r26075]
Michael Beck [Sat, 30 May 2009 15:29:03 +0000 (15:29 +0000)]
- lftr() is still buggy
[r26074]
Michael Beck [Sat, 30 May 2009 13:28:18 +0000 (13:28 +0000)]
- removed permanent debug output
- try to fix linear-function-test-replacement
[r26073]
Michael Beck [Sat, 30 May 2009 12:14:20 +0000 (12:14 +0000)]
- BugFix: when a P<->I conversion for an induction variable took place, run a post pass that fixes probably generated AddI(Iu,Is), SubI(IuIs).
- this fixes fehler169.c
[r26072]
Johannes Franz [Fri, 29 May 2009 14:56:42 +0000 (14:56 +0000)]
removed unnecessary test
[r26070]
Matthias Braun [Fri, 29 May 2009 09:17:32 +0000 (09:17 +0000)]
remove double declarataion spotted by cparser
[r26065]
Michael Beck [Fri, 29 May 2009 01:53:01 +0000 (01:53 +0000)]
- implemented i_mapper_bswap()
[r26062]
Matthias Braun [Thu, 28 May 2009 18:31:38 +0000 (18:31 +0000)]
hacky workaround for some builtin_return_address deficiencies (make gcc testsuite work...)
[r26061]
Matthias Braun [Wed, 27 May 2009 08:12:25 +0000 (08:12 +0000)]
libtool adjust to improve win32 support
[r26057]
Matthias Braun [Wed, 27 May 2009 08:11:37 +0000 (08:11 +0000)]
remove firmnet and ycomp remote support (avoid unnecesary/complicated dependencies for something noone uses)
[r26056]
Matthias Braun [Wed, 20 May 2009 13:33:30 +0000 (13:33 +0000)]
we don't depend on libcore anymore
[r26012]
Michael Beck [Tue, 19 May 2009 11:51:32 +0000 (11:51 +0000)]
- BugFix: add missing check for frame entities. This fixes testsuite/opt/
20001212-1.c
[r26007]
Matthias Braun [Tue, 19 May 2009 09:08:45 +0000 (09:08 +0000)]
remove bogus assert
[r26004]
Matthias Braun [Sun, 17 May 2009 10:19:56 +0000 (10:19 +0000)]
fix my last commit
[r25998]
Matthias Braun [Sun, 17 May 2009 10:13:54 +0000 (10:13 +0000)]
change livense to LGPL
[r25997]
Matthias Braun [Sun, 17 May 2009 10:13:21 +0000 (10:13 +0000)]
- newer gcc warned me about errors in our strncat usage - this function is very
unintuitive as it writes up to n+1 bytes, so you have to do:
strncat(buf, X, sizeof(buf)-1);
- fixed a bunch of other warnings in release mode
[r25996]
Michael Beck [Fri, 15 May 2009 23:52:56 +0000 (23:52 +0000)]
- more docu added
[r25986]
Michael Beck [Fri, 15 May 2009 23:52:29 +0000 (23:52 +0000)]
- removed useless space
[r25985]
Michael Beck [Fri, 15 May 2009 23:51:40 +0000 (23:51 +0000)]
- make errors and warnings more understandable
[r25984]