Skip to contentSkip to conversation

Compiler warnings.

Linux-ia64 Steffen Persvold 2 participants 3 messages Jun 22, 2002

lore
Share & tools
lore
#0 lore raw

Hi all,

For some time I've been compiling applications and kernels on IA64. Sometimes the assembler gives me warnings about "RAW dependencies" which makes me wonder about the quality of the gcc compiler. Is this something that should be paid attention to ?

Here's a warning (and not the only one) I get when I compile the latest 2.4.18 patchset with gcc 2.96 (gcc version 2.96 20000731 (Debian GNU/Linux IA64 experimental)) :

gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-020622/include
-Wall -Wstrict-prototypes -Wno-trigraphs -g -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -ffixed-r13 -mfixed-rangeñ0-f15,f32-f127 -falign-functions2 -mconstant-gp -DKBUILD_BASENAME=vmscan -c -o vmscan.o vmscan.c
{standard input}: Assembler messages:
{standard input}:594: Warning: Use of 'st8' violates RAW dependency 'DTC' (data) {standard input}:594: Warning: Only the first path encountering the conflict is reported {standard input}:581: Warning: This is the location of the conflicting usage

I haven't tried the 3.0.1 compiler yet.

Thanks,
--

  Steffen Persvold   | Scalable Linux Systems |   Try out the world's best
 mailto:[email protected] |  http://www.scali.com  | performing MPI implementation:
Tel: (+47) 2262 8950 |   Olaf Helsets vei 6   |      - ScaMPI 1.13.8 -
Fax: (+47) 2262 8951 |   N0621 Oslo, NORWAY   | >320MBytes/s and <4uS latency
#1 lore raw
Quoted 22 lines · Steffen Persvold

Hi all,

For some time I've been compiling applications and kernels on IA64. Sometimes the assembler gives me warnings about "RAW dependencies" which makes me wonder about the quality of the gcc compiler. Is this something that should be paid attention to ?

Here's a warning (and not the only one) I get when I compile the latest 2.4.18 patchset with gcc 2.96 (gcc version 2.96 20000731 (Debian GNU/Linux IA64 experimental)) :

gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-020622/include

(quoted diff) +0 -4
-Wall -Wstrict-prototypes -Wno-trigraphs -g -O2 -fomit-frame-pointer 
-fno-strict-aliasing -fno-common -pipe  -ffixed-r13 
-mfixed-rangeñ0-f15,f32-f127 -falign-functions2 -mconstant-gp  
-DKBUILD_BASENAME=vmscan  -c -o vmscan.o vmscan.c

{standard input}: Assembler messages:
{standard input}:594: Warning: Use of 'st8' violates RAW dependency 'DTC' (data) {standard input}:594: Warning: Only the first path encountering the conflict is reported {standard input}:581: Warning: This is the location of the conflicting usage

Quoted 2 lines

I haven't tried the 3.0.1 compiler yet.

I forgot, I've also been seeing "WAW dependencies" :

gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-020622/include -Wall
-Wstrict-prototypes -Wno-trigraphs -g -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -ffixed-r13
-mfixed-rangeñ0-f15,f32-f127 -falign-functions2 -DMODULE -DMODVERSIONS
-include /usr/src/linux-2.4.18-020622/include/linux/modversions.h -DDBG=0
-DT3_JUMBO_RCV_RCB_ENTRY_COUNT%6 -DNICE_SUPPORT
-DPCIX_TARGET_WORKAROUND=1 -DINCLUDE_TBI_SUPPORT -DINCLUDE_5701_AX_FIX=1
-DKBUILD_BASENAMEµ7um -c -o b57um.o b57um.c
{standard input}: Assembler messages:
{standard input}:13085: Warning: Use of 'cmp.ne' violates WAW dependency 'PR%, % in 1 - 15' (impliedf), specific resource number is 7 {standard input}:13085: Warning: Only the first path encountering the conflict is reported
{standard input}:13081: Warning: This is the location of the conflicting usage

Regards,
--

  Steffen Persvold   | Scalable Linux Systems |   Try out the world's best
 mailto:[email protected] |  http://www.scali.com  | performing MPI implementation:
Tel: (+47) 2262 8950 |   Olaf Helsets vei 6   |      - ScaMPI 1.13.8 -
Fax: (+47) 2262 8951 |   N0621 Oslo, NORWAY   | >320MBytes/s and <4uS latency
#2 lore raw
In reply to Steffen Persvold
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Steffen Persvold

Steffen> For some time I've been compiling applications and kernels Steffen> on IA64. Sometimes the assembler gives me warnings about Steffen> "RAW dependencies" which makes me wonder about the quality Steffen> of the gcc compiler. Is this something that should be paid Steffen> attention to ?

I don't think you need to worry much here. I keep a fairly close eye on them and they tend to be all spurious messages due to the fact that the assembler has an incomplete understanding of the code (and its invariants). The compiler should generate more directives to help the assembler, but the code itself is generally correct.

I think gcc3.1 may be a bit better. I only get 2 or 3 spurious messages with it (apart from some that are due to inline asm, which are harder to avoid).

	--david