Christian Würdig [Tue, 15 Aug 2006 14:19:47 +0000 (14:19 +0000)]
added function to retrieve irn ops
Christian Würdig [Tue, 15 Aug 2006 14:19:12 +0000 (14:19 +0000)]
fixed typo
Christian Würdig [Tue, 15 Aug 2006 14:18:41 +0000 (14:18 +0000)]
fixed PsiF
Christian Würdig [Tue, 15 Aug 2006 13:50:18 +0000 (13:50 +0000)]
added latency
Christian Würdig [Tue, 15 Aug 2006 13:50:02 +0000 (13:50 +0000)]
added latency attribute
Christian Würdig [Tue, 15 Aug 2006 13:49:38 +0000 (13:49 +0000)]
fixed xCmp emitter
Christian Würdig [Tue, 15 Aug 2006 13:49:11 +0000 (13:49 +0000)]
added instruction latency
Matthias Braun [Mon, 14 Aug 2006 14:52:48 +0000 (14:52 +0000)]
correct fix
Christian Würdig [Mon, 14 Aug 2006 14:38:54 +0000 (14:38 +0000)]
Added set containing Conv nodes to be killed
Christian Würdig [Mon, 14 Aug 2006 14:15:20 +0000 (14:15 +0000)]
create all convs, remember those to be killed and kill them after transformation (to preserve modes during transformation)
Matthias Braun [Mon, 14 Aug 2006 12:31:33 +0000 (12:31 +0000)]
more compilerhangs
Matthias Braun [Mon, 14 Aug 2006 12:18:23 +0000 (12:18 +0000)]
fix for looping memphis
Sebastian Hack [Mon, 14 Aug 2006 12:01:34 +0000 (12:01 +0000)]
Adding copies for arguments that occur multiple times constrained
Sebastian Hack [Mon, 14 Aug 2006 11:43:53 +0000 (11:43 +0000)]
More precise copy insertion for constrained instructions
Matthias Braun [Mon, 14 Aug 2006 09:27:38 +0000 (09:27 +0000)]
- don't use C99isms
Matthias Braun [Mon, 14 Aug 2006 08:33:42 +0000 (08:33 +0000)]
fix typo
Matthias Braun [Mon, 14 Aug 2006 08:01:09 +0000 (08:01 +0000)]
- Spillslot coalescing now collects all nodes that have class spill/reload
- Stackparams get rematerialized now
- several warning fixes
Christian Würdig [Sun, 13 Aug 2006 13:24:14 +0000 (13:24 +0000)]
updated node emitter (missing attributes)
Christian Würdig [Sun, 13 Aug 2006 13:23:28 +0000 (13:23 +0000)]
set orig node while transforming AddSP
Christian Würdig [Sun, 13 Aug 2006 13:23:02 +0000 (13:23 +0000)]
added modufy_sp flag for AddSP
Christian Würdig [Sun, 13 Aug 2006 13:22:26 +0000 (13:22 +0000)]
while limiting registers: clear ignore registers before applying limits from config, otherwise esp is always cleared
Christian Würdig [Sun, 13 Aug 2006 13:20:24 +0000 (13:20 +0000)]
added support for irn flag modify_ep
Michael Beck [Sat, 12 Aug 2006 22:45:42 +0000 (22:45 +0000)]
BugFix:
- do not delete the graph before it is access the last time ...
Matthias Braun [Sat, 12 Aug 2006 16:17:22 +0000 (16:17 +0000)]
- New register allocation verifier
Christian Würdig [Fri, 11 Aug 2006 14:34:37 +0000 (14:34 +0000)]
fixed perm lowering (sometimes perm removed from schedule when it shouldn't be)
Christian Würdig [Fri, 11 Aug 2006 14:20:19 +0000 (14:20 +0000)]
added new callback to set frame entity
Christian Würdig [Fri, 11 Aug 2006 14:19:57 +0000 (14:19 +0000)]
added new callback to set frame entity
Christian Würdig [Fri, 11 Aug 2006 14:19:42 +0000 (14:19 +0000)]
added new callback to set frame entity
Christian Würdig [Fri, 11 Aug 2006 13:38:58 +0000 (13:38 +0000)]
irn classify is now a mask
added convienience macro for checking against a certain irn class
Christian Würdig [Fri, 11 Aug 2006 13:38:09 +0000 (13:38 +0000)]
irn classify now returns a mask
Christian Würdig [Fri, 11 Aug 2006 13:37:40 +0000 (13:37 +0000)]
added got_reload flag
Matthias Braun [Fri, 11 Aug 2006 13:16:25 +0000 (13:16 +0000)]
dowhile problem
Christian Würdig [Fri, 11 Aug 2006 12:23:59 +0000 (12:23 +0000)]
added be_AddSP transformation
Christian Würdig [Fri, 11 Aug 2006 12:23:41 +0000 (12:23 +0000)]
added ia32_AddSP emitter
removed be_AddSP emitter
Christian Würdig [Fri, 11 Aug 2006 12:23:26 +0000 (12:23 +0000)]
added AddSP node
Christian Würdig [Fri, 11 Aug 2006 12:23:00 +0000 (12:23 +0000)]
fixed allcaa handling again
Matthias Braun [Fri, 11 Aug 2006 11:35:19 +0000 (11:35 +0000)]
don't add projs to pops that nobody uses
Matthias Braun [Fri, 11 Aug 2006 09:14:03 +0000 (09:14 +0000)]
- don't end in an endless loop for invalid types (but hit an assert)
Matthias Braun [Fri, 11 Aug 2006 08:43:56 +0000 (08:43 +0000)]
compiler hangs for this test
Christian Würdig [Thu, 10 Aug 2006 20:05:03 +0000 (20:05 +0000)]
fixed GetST0 creation
Christian Würdig [Thu, 10 Aug 2006 20:03:53 +0000 (20:03 +0000)]
added AddSP emitter
Christian Würdig [Thu, 10 Aug 2006 20:03:28 +0000 (20:03 +0000)]
fixed remat flag for load nodes
Christian Würdig [Thu, 10 Aug 2006 20:02:56 +0000 (20:02 +0000)]
fixed comment
Christian Würdig [Thu, 10 Aug 2006 18:55:47 +0000 (18:55 +0000)]
added script to create difference between two reports
Matthias Braun [Thu, 10 Aug 2006 14:11:39 +0000 (14:11 +0000)]
- lower MemPerms into a series of pushs and pops
Sebastian Hack [Thu, 10 Aug 2006 13:58:12 +0000 (13:58 +0000)]
Fixed a bug in benode.c
Adjusted abi construction for alloca's
Sebastian Hack [Thu, 10 Aug 2006 12:43:58 +0000 (12:43 +0000)]
Added pn_... stuff for AddSP
Sebastian Hack [Thu, 10 Aug 2006 12:23:27 +0000 (12:23 +0000)]
Set register of AddSP res Proj
Adam Szalkowski [Thu, 10 Aug 2006 11:59:58 +0000 (11:59 +0000)]
another bug fixed
Sebastian Hack [Thu, 10 Aug 2006 11:56:37 +0000 (11:56 +0000)]
Fixed a bug in register class handling of AddSP
Christian Würdig [Thu, 10 Aug 2006 11:14:25 +0000 (11:14 +0000)]
some bugifxes for alloca handling
Adam Szalkowski [Thu, 10 Aug 2006 08:55:51 +0000 (08:55 +0000)]
fixed bugs
Matthias Braun [Wed, 9 Aug 2006 22:06:51 +0000 (22:06 +0000)]
no random results
Matthias Braun [Wed, 9 Aug 2006 22:05:31 +0000 (22:05 +0000)]
don't calculate too long
Matthias Braun [Wed, 9 Aug 2006 21:22:45 +0000 (21:22 +0000)]
- Don't perform memory operands merging too early
- Extend spillslot verifier to detect "lonely" spills
- Make ia32 backend display warnings when emitting unknown nodes
Adam Szalkowski [Wed, 9 Aug 2006 18:14:03 +0000 (18:14 +0000)]
using lc_opts
Sebastian Hack [Wed, 9 Aug 2006 16:08:57 +0000 (16:08 +0000)]
Several changes
Matthias Braun [Wed, 9 Aug 2006 12:48:43 +0000 (12:48 +0000)]
fix simd1 test
Christian Würdig [Wed, 9 Aug 2006 12:45:00 +0000 (12:45 +0000)]
BugFix: when transforming be_Call nodes it can happen that they don't have a memory
Christian Würdig [Wed, 9 Aug 2006 12:44:18 +0000 (12:44 +0000)]
make transformations before checking 2 addresscode constraints
Matthias Braun [Wed, 9 Aug 2006 12:43:11 +0000 (12:43 +0000)]
- add new finish call to architecture calls. This call is meant to be the last place where the arch code should modify the irg before emitting assembler code. This allows to gather statistics, verify the graph at the last possible moment before it is emitted
Matthias Braun [Wed, 9 Aug 2006 12:20:12 +0000 (12:20 +0000)]
test
Sebastian Hack [Wed, 9 Aug 2006 12:03:11 +0000 (12:03 +0000)]
Fixed some typos
Christian Würdig [Wed, 9 Aug 2006 11:54:18 +0000 (11:54 +0000)]
changed requirements
Christian Würdig [Wed, 9 Aug 2006 11:54:01 +0000 (11:54 +0000)]
fixed be_Return gen
Christian Würdig [Wed, 9 Aug 2006 11:53:45 +0000 (11:53 +0000)]
fixed call memory
Adam Szalkowski [Wed, 9 Aug 2006 11:35:29 +0000 (11:35 +0000)]
added default values for vars
Matthias Braun [Wed, 9 Aug 2006 11:27:27 +0000 (11:27 +0000)]
return 0 from main function
Matthias Braun [Wed, 9 Aug 2006 11:14:21 +0000 (11:14 +0000)]
- place memperms in the predblocks of the memphi, not in the blocks of the phi argument
Christian Würdig [Wed, 9 Aug 2006 09:00:19 +0000 (09:00 +0000)]
runs more often for benchmarking
Christian Würdig [Wed, 9 Aug 2006 08:59:26 +0000 (08:59 +0000)]
added missing variable
Christian Würdig [Wed, 9 Aug 2006 08:54:37 +0000 (08:54 +0000)]
edge reroutinmg was broken here
Matthias Braun [Wed, 9 Aug 2006 08:37:51 +0000 (08:37 +0000)]
- Fixed bugs in schedule verifier
- Fixed bug in memperm scheduling
Sebastian Hack [Wed, 9 Aug 2006 07:57:26 +0000 (07:57 +0000)]
Fixed a bug
Christian Würdig [Tue, 8 Aug 2006 16:01:45 +0000 (16:01 +0000)]
can now handle subdirs
Matthias Braun [Tue, 8 Aug 2006 15:42:15 +0000 (15:42 +0000)]
- Schedule Verifier checks for nodes that should be scheduled
Matthias Braun [Tue, 8 Aug 2006 14:05:11 +0000 (14:05 +0000)]
- improve scheduling of memperm
- Added some naive rematerialisation code, which should work for constants,
reloads (so that no 2nd spill is created) and should later support stackparms
once backend leaves them in the graph.
Matthias Braun [Tue, 8 Aug 2006 13:38:19 +0000 (13:38 +0000)]
- fix gcc warning
Matthias Braun [Tue, 8 Aug 2006 13:33:31 +0000 (13:33 +0000)]
- make liveness computation ignore end node (to avoid unnecessary interferences because of keepalive edges)
Christian Würdig [Tue, 8 Aug 2006 13:25:34 +0000 (13:25 +0000)]
an old floating point benchmark
Matthias Braun [Tue, 8 Aug 2006 12:14:54 +0000 (12:14 +0000)]
- compute liveness for (nearly) all nodes
- place memperm projs into the same block as the memperm
- schedule all projs of memperm
Sebastian Hack [Tue, 8 Aug 2006 08:19:52 +0000 (08:19 +0000)]
Added environment variable for the compiler binary
Sebastian Hack [Tue, 8 Aug 2006 08:18:02 +0000 (08:18 +0000)]
Added support for memory phis in liveness
Matthias Braun [Mon, 7 Aug 2006 15:12:53 +0000 (15:12 +0000)]
- Schedule memperm node
- Fix spillslot coalescing timer not being displayed
Matthias Braun [Sat, 5 Aug 2006 13:29:46 +0000 (13:29 +0000)]
avoid trouble with some ANSI C ehaders
Matthias Braun [Sat, 5 Aug 2006 13:28:03 +0000 (13:28 +0000)]
don't abort if compilation takes too long
Matthias Braun [Sat, 5 Aug 2006 13:18:45 +0000 (13:18 +0000)]
use custom value_interfere function in verifiers (which is slower but doesn't rely on correct liveness information), fix memperm creation
Sebastian Hack [Fri, 4 Aug 2006 18:15:31 +0000 (18:15 +0000)]
Fixed the bugfix
Christoph Mallon [Fri, 4 Aug 2006 16:41:47 +0000 (16:41 +0000)]
Fix warnings
Matthias Braun [Fri, 4 Aug 2006 15:27:42 +0000 (15:27 +0000)]
- new spillslot verifier (doesn't catch all errors at the moment, because lifeness analysis ignores non-schedule nodes)
Matthias Braun [Fri, 4 Aug 2006 14:18:38 +0000 (14:18 +0000)]
warning fix
Matthias Braun [Fri, 4 Aug 2006 14:15:25 +0000 (14:15 +0000)]
- new spillslots dump phase
Matthias Braun [Fri, 4 Aug 2006 13:26:21 +0000 (13:26 +0000)]
after_compile script example (for makereport.sh)
Matthias Braun [Fri, 4 Aug 2006 13:03:40 +0000 (13:03 +0000)]
removed firm.ini which should not be here
Matthias Braun [Fri, 4 Aug 2006 12:55:20 +0000 (12:55 +0000)]
- another warning fix
Matthias Braun [Fri, 4 Aug 2006 12:54:33 +0000 (12:54 +0000)]
fix a few more warnings
Matthias Braun [Fri, 4 Aug 2006 12:42:22 +0000 (12:42 +0000)]
warning fix
Adam Szalkowski [Fri, 4 Aug 2006 12:35:02 +0000 (12:35 +0000)]
void functions do not store at end
Matthias Braun [Fri, 4 Aug 2006 12:33:27 +0000 (12:33 +0000)]
- forgot to add some files
Matthias Braun [Fri, 4 Aug 2006 12:31:55 +0000 (12:31 +0000)]
Rewrote spillslot handling:
- No need to set strange spillcontexts on spills anymore
- Spillcontexts are now assigned and coalesced in a separate pass after spilling/register allocation of all register classes
- There might be cases where the new code inserts memcopies, these are not implemented in the ia32 backend yet