Re: Hash Function for "switch statement"

2010-03-22 Thread Unruh, Erwin
Hi, the discussion so far did omit one specific aspect. When comparing two implementations for a switch, you have to compare the full code. For the hash you have to include the code to calculate the hash function. This might be more code than a simple tree lookup. The example function: >public

order of -D and -U is significant

2009-08-03 Thread Unruh, Erwin
In current gcc the order of options -D and -U is significant. The Single Unix(r) Specification explicitly specifies that the order should not matter for the c89 command. It reads (cited from version 2, which is ten years old): -D name[=value] Define name as if by a C-language #define directive. I

-ftime-report might wrap

2009-01-28 Thread Unruh, Erwin
Hello, I stumbled over a problem in timevar.c, function timevar_accumulate. When USE_CLOCK is set on a 32-bit system, the counter silently wraps around. This can result in negative time values, or some time being ignored (because one pass uses more than 72 minutes of time). A check like

spill failure with SMALL_REGISTER_CLASSES

2008-10-27 Thread Unruh, Erwin
Hello, I have a problem with reload. I am working on a private variation of the i386 port. I am using GCC 4.1.2. The insn (insn 38 36 39 1 x.c:30 (parallel [ (set (reg:SI 2 cx [80]) (ashift:SI (reg:SI 6 bp [81]) (subreg:QI (reg:SI 1 dx [78]) 3)))

RE: Problem with reg_equiv_alt_mem

2007-03-12 Thread Unruh, Erwin
>On 3/12/07, Unruh, Erwin <[EMAIL PROTECTED]> wrote: >> In a private port I had the problem that reg_equiv_alt_mem_list did >> contain the same RTL as reg_equiv_memory_loc. This caused an assert in >> delete_output_reload, where these are compared with equal_rtx_p

Problem with reg_equiv_alt_mem

2007-03-12 Thread Unruh, Erwin
In a private port I had the problem that reg_equiv_alt_mem_list did contain the same RTL as reg_equiv_memory_loc. This caused an assert in delete_output_reload, where these are compared with equal_rtx_p. The list is build with push_reg_equiv_alt_mem, but only when "tem != orig". The value tem is bu

RE: Reload Problem in delete_output_reload

2006-12-05 Thread Unruh, Erwin
>> I did find something which might be the real problem. Within >> delete_output_reload there are two calls to count_occurrences. The >> second one will be called with parameters > >... > >> Due to this difference, no occurence is found. So the second >> operand=20 of the (plus:DI ...) is not

RE: Reload Problem in delete_output_reload

2006-12-05 Thread Unruh, Erwin
>From: Ulrich Weigand > >Erwin Unruh wrote: > >> I have a problem with delete_output_reload. It sometimes deletes >> instructions which are needed. Here an analysis of a recent >case (In a >> private version of the S390 port). The original S390 shows >almost the >> same reloads, but chooses d

Reload Problem in delete_output_reload

2006-12-04 Thread Unruh, Erwin
Hello, I have a problem with delete_output_reload. It sometimes deletes instructions which are needed. Here an analysis of a recent case (In a private version of the S390 port). The original S390 shows almost the same reloads, but chooses different registers. Before reload we have (insn 1597 169

RE: Is there a GIMPLE equivalent of UNSPEC?

2005-11-17 Thread Unruh, Erwin
PM To: Unruh, Erwin Cc: GCC mailing list Subject: Re: Is there a GIMPLE equivalent of UNSPEC? On Nov 17, 2005 01:11 PM, "Unruh, Erwin" <[EMAIL PROTECTED]> wrote: > is there some > equivalent. No, there isn't.  You are not being very specific about the problem you are tr

Is there a GIMPLE equivalent of UNSPEC?

2005-11-17 Thread Unruh, Erwin
Hello, I am working on a private GCC port. Currently I am trying to move it from 3.3.2 to 4.1.x. I have some strange constructs in the expansion of the va_arg macro. In 3.3.2 I used two "unspec" RTL constructs to solve that problem. Now va_arg has to be transformed to GIMPLE. So my question: is th