This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch to define __NO_STRING_INLINES in system.h


"Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> writes:

> As reported here
> http://gcc.gnu.org/ml/gcc-patches/2003-01/msg01104.html
>
> the string inlines from glibc systems cause warnings when
> bootstrapping gcc.  I've prepared a patch to define
> __NO_STRING_INLINES in system.h to avoid this.  This is probably
> necessary on all glibc systems, not just x86-linux-gnu.
>
> Besides zapping the warnings, I think this is good for two extra
> reasons.  First, the change helps our technology because it helps
> ensure much wider use of and therefore wider testing of our compiler
> string builtins during bootstrap.  Second, it's good policy because it
> projects our confidence in our own mechanism for these optimizations.

While I am entirely in favor of this patch, I do have to point out
that making just this change causes a slight, consistent increase in
the text size of all the compiler binaries.  (i686-linux native build)

                    before    after   delta
cc1                3775717  3777259    1542
cc1obj             3857909  3859451    1542
cc1plus            4673429  4675083    1654
f771               4028924  4030434    1510
gnat1              5416506  5418080    1574
jc1                3911911  3913677    1766

Breaking it down a bit more, here are all compiler-proper, non-Ada
object files whose text size shrank after the change, sorted by front
end.  (Ada is excluded because most of its source code is in Ada and
therefore unaffected by the change; also it is difficult to
disentangle the true set of gnat1 object files from all the stuff
built by make gnatlib_and_tools.)

                    before    after   delta
bitmap.o              4512     4496     -16
cfg.o                 7806     7790     -16
except.o             23229    23213     -16
fold-const.o        139635   139603     -32
haifa-sched.o        15842    15810     -32
insn-extract.o       14274    14258     -16
ra-rewrite.o         17428    17412     -16
ra.o                  5999     5983     -16
real.o               21842    21662    -180
simplify-rtx.o       21483    21467     -16
toplev.o             71913    71905      -8
varasm.o             55056    54979     -77
i386.o              136798   136670    -128
cpphash.o              660      644     -16
cpplex.o             14395    14384     -11
c-common.o           88021    87967     -54
c-format.o           29018    28970     -48
c-pragma.o            4029     4017     -12
cp/class.o          130057   130025     -32
cp/decl.o           207823   207807     -16
f/top.o               8362     8258    -104
java/lang.o          11562    11473     -89

and here are all those that grew:

                    before    after   delta
alias.o              24250    24346      96
calls.o              30270    30350      80
combine.o            91051    91227     176
conflict.o            2189     2221      32
dbxout.o             28858    28874      16
df.o                 26251    26347      96
diagnostic.o         10141    10157      16
dwarf2out.o         112873   112905      32
emit-rtl.o           33358    33438      80
function.o           53330    53346      16
gcse.o               43422    43662     240
ggc-common.o          3862     3889      27
ggc-page.o            6655     7039     384
global.o             13849    13881      32
integrate.o          29534    29550      16
local-alloc.o        17930    17994      64
ra-build.o           22455    22471      16
ra-colorize.o        23716    23732      16
recog.o              21948    21964      16
regclass.o           19640    19880     240
reload1.o            67923    67971      48
rtl.o                 8653     8685      32
sbitmap.o             4235     4283      48
ssa.o                13064    13112      48
stmt.o               51891    51987      96
timevar.o             3618     3634      16
tree.o               59297    59409     112
unroll.o             23735    23815      80
varray.o               648      696      48
cppinit.o             8948     8982      34
cppmacro.o           11079    11115      36
c-opts.o             16743    16761      18
c-pch.o               1668     1686      18
cp/parser.o          73224    73256      32
cp/pt.o             172008   172120     112
cp/repo.o             3053     3075      22
f/com.o             161609   161643      34
java/class.o         63762    63766       4
java/jcf-depend.o      775      793      18
java/parse.o        344253   344458     205

Unfortunately I do not have reliable speed measurements to go with
this; my computer was doing other CPU-intensive things during both
builds.  I would be very surprised if this made any difference to the
intrinsic performance of the compiler; I would not be surprised if
bootstrap got faster, but that would be because the compiler doesn't
have to chew through the messy macro expansions anymore.

Appended to this message is a diff of the dissassembly of alias.o.
It looks like difficulty optimizing memset, but I could be wrong.

zw

--- alias-before.s	2003-01-18 16:01:54.000000000 -0800
+++ alias-after.s	2003-01-18 16:01:50.000000000 -0800
@@ -5902,16 +5902,16 @@ init_alias_analysis:
    	mov    %ebx,(%esp,1)
    	call   <init_alias_analysis+0x27>
    	movl   $0x1,0x4(%esp,1)
-   	lea    0xffffff2c(%eax),%ecx
-   	mov    %ecx,0x0
+   	lea    0xffffff2c(%eax),%esi
+   	mov    %esi,0x0
    	mov    %ebx,(%esp,1)
    	call   <init_alias_analysis+0x43>
    	sub    $0x35,%eax
-   	mov    0xfffffff0(%ebp),%esi
+   	mov    0xfffffff0(%ebp),%ecx
    	mov    %eax,0x0
    	mov    0xfffffff0(%ebp),%eax
-   	add    %esi,%esi
-   	mov    %esi,0xc
+   	add    %ecx,%ecx
+   	mov    %ecx,0xc
    	shl    $0x3,%eax
    	mov    %eax,(%esp,1)
    	call   <init_alias_analysis+0x64>
@@ -5930,112 +5930,143 @@ init_alias_analysis:
    	jne    <init_alias_analysis+0xac>
    	mov    0x0,%esi
    	test   %esi,%esi
-   	jne    <init_alias_analysis+0x5b5>
+   	jne    <init_alias_analysis+0x605>
    	movl   $0x0,0xffffffe8(%ebp)
-   	mov    0xc,%esi
-   	mov    0x8,%edi
+   	mov    0x8,%eax
+   	mov    0xc,%ecx
+   	mov    %eax,0xffffffdc(%ebp)
+   	jmp    <init_alias_analysis+0xd0>
+   	nop    
+   	nop    
+   	nop    
+   	nop    
+   	nop    
+   	nop    
+   	nop    
+   	nop    
    	nop    
-   	mov    %edi,(%esp,1)
+   	nop    
+   	nop    
+   	nop    
+   	nop    
+   	movl   $0x0,0xffffffec(%ebp)
+   	lea    0x0(,%ecx,4),%eax
    	xor    %ebx,%ebx
-   	lea    0x0(,%esi,4),%eax
    	mov    %ebx,0x110
-   	mov    $0x20,%esi
-   	movl   $0x0,0xffffffec(%ebp)
+   	cmp    $0x7,%eax
+   	mov    0xffffffdc(%ebp),%edi
    	movb   $0x1,0x104
-   	mov    %eax,0x8(%esp,1)
-   	movl   $0x0,0x4(%esp,1)
-   	call   <init_alias_analysis+0xf2>
+   	jbe    <init_alias_analysis+0x110>
+   	testb  $0x4,0xffffffdc(%ebp)
+   	je     <init_alias_analysis+0x110>
+   	movl   $0x0,(%edi)
+   	sub    $0x4,%eax
+   	mov    0xffffffdc(%ebp),%edi
+   	add    $0x4,%edi
+   	lea    0x0(%esi),%esi
+   	cld    
+   	mov    %eax,%ecx
+   	shr    $0x2,%ecx
+   	xor    %eax,%eax
+   	mov    $0x20,%esi
+   	repz stos %eax,%es:(%edi)
    	movl   $0x0,0x4(%esp,1)
    	mov    0xc,%eax
    	mov    %eax,0x8(%esp,1)
    	mov    0x10c,%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x110>
+   	call   <init_alias_analysis+0x139>
    	cld    
    	mov    0x8,%edi
    	mov    $0x35,%ecx
    	repz movsl %ds:(%esi),%es:(%edi)
-   	call   <init_alias_analysis+0x123>
+   	call   <init_alias_analysis+0x14c>
    	test   %eax,%eax
    	mov    %eax,%ebx
-   	je     <init_alias_analysis+0x154>
+   	je     <init_alias_analysis+0x184>
    	lea    0x0(%esi),%esi
+   	lea    0x0(%edi,1),%edi
    	movzwl (%ebx),%edx
    	movzwl %dx,%eax
    	cmpb   $0x69,0x0(%eax)
-   	je     <init_alias_analysis+0x2d6>
+   	je     <init_alias_analysis+0x320>
    	cmp    $0x31,%dx
-   	je     <init_alias_analysis+0x2c0>
+   	je     <init_alias_analysis+0x305>
    	mov    0xc(%ebx),%ebx
    	test   %ebx,%ebx
-   	jne    <init_alias_analysis+0x130>
-   	mov    0xc,%esi
+   	jne    <init_alias_analysis+0x160>
+   	mov    0xc,%ecx
    	xor    %ebx,%ebx
-   	cmp    %esi,%ebx
-   	jae    <init_alias_analysis+0x2b2>
-   	mov    0x8,%edi
+   	cmp    %ecx,%ebx
+   	jae    <init_alias_analysis+0x2f8>
+   	mov    0x8,%esi
+   	mov    %esi,0xffffffdc(%ebp)
    	lea    0x0(%esi),%esi
-   	mov    (%edi,%ebx,4),%edx
+   	mov    0xffffffdc(%ebp),%eax
+   	mov    (%eax,%ebx,4),%edx
    	test   %edx,%edx
-   	je     <init_alias_analysis+0x1c0>
-   	mov    0x4,%ecx
-   	mov    (%ecx,%ebx,4),%eax
+   	je     <init_alias_analysis+0x200>
+   	mov    0x4,%esi
+   	mov    (%esi,%ebx,4),%eax
    	cmp    %eax,%edx
-   	je     <init_alias_analysis+0x1c0>
+   	je     <init_alias_analysis+0x200>
    	mov    %eax,0x4(%esp,1)
-   	mov    (%edi,%ebx,4),%eax
+   	mov    0xffffffdc(%ebp),%edx
+   	mov    (%edx,%ebx,4),%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x18f>
+   	call   <init_alias_analysis+0x1c5>
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x2a1>
+   	jne    <init_alias_analysis+0x2e4>
    	movl   $0x1,0xffffffec(%ebp)
-   	mov    0x8,%edi
-   	mov    0x4,%ecx
-   	mov    0xc,%esi
-   	mov    (%edi,%ebx,4),%eax
-   	mov    %eax,(%ecx,%ebx,4)
+   	mov    0x8,%ecx
+   	mov    0x4,%esi
+   	mov    %ecx,0xffffffdc(%ebp)
+   	mov    (%ecx,%ebx,4),%eax
+   	mov    0xc,%ecx
+   	mov    %eax,(%esi,%ebx,4)
    	lea    0x0(%esi),%esi
+   	lea    0x0(%edi,1),%edi
    	inc    %ebx
-   	cmp    %esi,%ebx
-   	jb     <init_alias_analysis+0x170>
+   	cmp    %ecx,%ebx
+   	jb     <init_alias_analysis+0x1a0>
    	mov    0xffffffec(%ebp),%eax
    	test   %eax,%eax
-   	je     <init_alias_analysis+0x1d9>
+   	je     <init_alias_analysis+0x219>
    	incl   0xffffffe8(%ebp)
    	cmpl   $0x9,0xffffffe8(%ebp)
-   	jle    <init_alias_analysis+0xc0>
+   	jle    <init_alias_analysis+0xd0>
    	mov    $0x35,%edx
    	cmp    0xfffffff0(%ebp),%edx
-   	jge    <init_alias_analysis+0x208>
-   	mov    0x0,%ecx
+   	jge    <init_alias_analysis+0x248>
+   	mov    0x0,%esi
    	mov    0x0,%ebx
-   	mov    (%ecx,%edx,4),%eax
+   	mov    (%esi,%edx,4),%eax
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x202>
+   	jne    <init_alias_analysis+0x242>
    	mov    0xc(%ebx),%eax
    	mov    0x30(%eax),%eax
    	mov    (%eax,%edx,4),%eax
-   	mov    %eax,(%ecx,%edx,4)
+   	mov    %eax,(%esi,%edx,4)
    	inc    %edx
    	cmp    0xfffffff0(%ebp),%edx
-   	jl     <init_alias_analysis+0x1ef>
+   	jl     <init_alias_analysis+0x22f>
    	movl   $0x0,0xffffffe8(%ebp)
-   	mov    0x4,%ecx
+   	mov    0x4,%esi
    	lea    0x0(%esi,1),%esi
    	lea    0x0(%edi,1),%edi
    	incl   0xffffffe8(%ebp)
    	xor    %ebx,%ebx
-   	cmp    %esi,%ebx
+   	cmp    %ecx,%ebx
    	movl   $0x0,0xffffffec(%ebp)
-   	jae    <init_alias_analysis+0x242>
-   	mov    (%ecx,%ebx,4),%eax
+   	jae    <init_alias_analysis+0x282>
+   	mov    (%esi,%ebx,4),%eax
    	test   %eax,%eax
-   	je     <init_alias_analysis+0x23d>
+   	je     <init_alias_analysis+0x27d>
    	cmpw   $0x49,(%eax)
-   	je     <init_alias_analysis+0x282>
+   	je     <init_alias_analysis+0x2c5>
    	inc    %ebx
-   	cmp    %esi,%ebx
-   	jb     <init_alias_analysis+0x230>
+   	cmp    %ecx,%ebx
+   	jb     <init_alias_analysis+0x270>
    	mov    0xffffffec(%ebp),%eax
    	test   %eax,%eax
    	setne  %al
@@ -6043,14 +6074,15 @@ init_alias_analysis:
    	setle  %dl
    	and    %edx,%eax
    	test   $0x1,%al
-   	jne    <init_alias_analysis+0x220>
-   	mov    %edi,(%esp,1)
-   	call   <init_alias_analysis+0x25b>
+   	jne    <init_alias_analysis+0x260>
+   	mov    0xffffffdc(%ebp),%edx
+   	mov    %edx,(%esp,1)
+   	call   <init_alias_analysis+0x29e>
    	xor    %eax,%eax
    	mov    %eax,0x8
    	mov    0x10c,%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x26f>
+   	call   <init_alias_analysis+0x2b2>
    	xor    %eax,%eax
    	mov    %eax,0x10c
    	add    $0x2c,%esp
@@ -6061,205 +6093,218 @@ init_alias_analysis:
    	ret    
    	mov    0x4(%eax),%eax
    	cmp    %ebx,%eax
-   	je     <init_alias_analysis+0x298>
-   	mov    (%ecx,%eax,4),%eax
-   	mov    %eax,(%ecx,%ebx,4)
+   	je     <init_alias_analysis+0x2db>
+   	mov    (%esi,%eax,4),%eax
+   	mov    %eax,(%esi,%ebx,4)
    	movl   $0x1,0xffffffec(%ebp)
-   	jmp    <init_alias_analysis+0x23d>
-   	movl   $0x0,(%ecx,%ebx,4)
-   	jmp    <init_alias_analysis+0x28f>
-   	mov    0xc,%esi
-   	mov    0x8,%edi
-   	jmp    <init_alias_analysis+0x1c0>
-   	mov    0x8,%edi
-   	jmp    <init_alias_analysis+0x1c5>
-   	lea    0x0(%esi),%esi
+   	jmp    <init_alias_analysis+0x27d>
+   	movl   $0x0,(%esi,%ebx,4)
+   	jmp    <init_alias_analysis+0x2d2>
+   	mov    0x8,%esi
+   	mov    0xc,%ecx
+   	mov    %esi,0xffffffdc(%ebp)
+   	jmp    <init_alias_analysis+0x200>
+   	mov    0x8,%eax
+   	mov    %eax,0xffffffdc(%ebp)
+   	jmp    <init_alias_analysis+0x205>
    	cmpl   $0xffffffa9,0x18(%ebx)
-   	jne    <init_alias_analysis+0x14d>
+   	jne    <init_alias_analysis+0x17d>
    	movb   $0x0,0x104
-   	jmp    <init_alias_analysis+0x14d>
+   	jmp    <init_alias_analysis+0x17d>
+   	nop    
+   	lea    0x0(%esi,1),%esi
    	mov    0x0,%ecx
    	test   %ecx,%ecx
-   	jne    <init_alias_analysis+0x5a0>
+   	jne    <init_alias_analysis+0x5f0>
    	mov    0x18(%ebx),%eax
    	cmpw   $0x3b,(%eax)
-   	je     <init_alias_analysis+0x552>
+   	je     <init_alias_analysis+0x5a2>
    	movl   $0x0,0x8(%esp,1)
    	movl   $0x1a60,0x4(%esp,1)
    	mov    0x18(%ebx),%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x308>
+   	call   <init_alias_analysis+0x352>
    	movzwl (%ebx),%eax
    	xor    %esi,%esi
    	cmpb   $0x69,0x0(%eax)
-   	je     <init_alias_analysis+0x530>
+   	je     <init_alias_analysis+0x580>
    	test   %esi,%esi
-   	je     <init_alias_analysis+0x14d>
+   	je     <init_alias_analysis+0x17d>
    	mov    0x4(%esi),%eax
    	cmpw   $0x49,(%eax)
-   	jne    <init_alias_analysis+0x14d>
+   	jne    <init_alias_analysis+0x17d>
    	mov    0x4(%eax),%edi
    	cmp    $0x34,%edi
-   	jbe    <init_alias_analysis+0x14d>
-   	mov    0x8(%esi),%eax
-   	mov    %eax,0xffffffe0(%ebp)
+   	jbe    <init_alias_analysis+0x17d>
+   	mov    0x8(%esi),%edx
+   	mov    %edx,0xffffffe0(%ebp)
    	mov    0x24(%ebx),%eax
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x445>
+   	jne    <init_alias_analysis+0x495>
    	mov    0x0,%edx
    	cmp    (%edx),%edi
-   	jae    <init_alias_analysis+0x430>
+   	jae    <init_alias_analysis+0x480>
    	mov    0x10(%edx,%edi,4),%eax
    	cmpl   $0x1,0xc(%eax)
-   	je     <init_alias_analysis+0x3d2>
+   	je     <init_alias_analysis+0x420>
    	cmp    (%edx),%edi
-   	jae    <init_alias_analysis+0x3ae>
+   	jae    <init_alias_analysis+0x3f8>
    	mov    0x10(%edx,%edi,4),%eax
    	cmpl   $0x1,0xc(%eax)
-   	jne    <init_alias_analysis+0x14d>
+   	jne    <init_alias_analysis+0x17d>
    	movl   $0x1,0x4(%esp,1)
    	mov    0xffffffe0(%ebp),%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x389>
+   	call   <init_alias_analysis+0x3d3>
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x14d>
+   	jne    <init_alias_analysis+0x17d>
    	mov    0x0,%eax
    	mov    0xffffffe0(%ebp),%edx
    	mov    %edx,(%eax,%edi,4)
    	mov    0x0,%eax
    	movb   $0x0,(%edi,%eax,1)
-   	jmp    <init_alias_analysis+0x14d>
+   	jmp    <init_alias_analysis+0x17d>
    	movl   $0x1f7,0x10(%esp,1)
    	movl   $0xb45,0xc(%esp,1)
    	movl   $0x0,0x8(%esp,1)
    	mov    %edi,0x4(%esp,1)
    	mov    %edx,(%esp,1)
-   	call   <init_alias_analysis+0x3ce>
-   	mov    0xffffffe0(%ebp),%eax
-   	cmpw   $0x57,(%eax)
-   	jne    <init_alias_analysis+0x368>
-   	mov    0x4(%eax),%eax
+   	call   <init_alias_analysis+0x418>
+   	lea    0x0(%esi,1),%esi
+   	mov    0xffffffe0(%ebp),%esi
+   	cmpw   $0x57,(%esi)
+   	jne    <init_alias_analysis+0x3b2>
+   	mov    0x4(%esi),%eax
    	cmpw   $0x49,(%eax)
-   	jne    <init_alias_analysis+0x368>
+   	jne    <init_alias_analysis+0x3b2>
    	mov    0x4(%eax),%eax
    	cmp    $0x34,%eax
-   	jbe    <init_alias_analysis+0x368>
-   	mov    0x0,%ecx
-   	mov    (%ecx,%eax,4),%ecx
+   	jbe    <init_alias_analysis+0x3b2>
+   	mov    0x0,%esi
+   	mov    (%esi,%eax,4),%ecx
    	test   %ecx,%ecx
-   	je     <init_alias_analysis+0x368>
+   	je     <init_alias_analysis+0x3b2>
    	mov    0xffffffe0(%ebp),%esi
    	mov    0x8(%esi),%eax
    	cmpw   $0x42,(%eax)
-   	jne    <init_alias_analysis+0x368>
+   	jne    <init_alias_analysis+0x3b2>
    	mov    0x4(%eax),%eax
    	mov    %ecx,(%esp,1)
    	mov    %eax,0x4(%esp,1)
-   	call   <init_alias_analysis+0x41c>
+   	call   <init_alias_analysis+0x46a>
    	mov    0x0,%edx
    	mov    %eax,(%edx,%edi,4)
-   	jmp    <init_alias_analysis+0x3a0>
-   	mov    %esi,%esi
+   	jmp    <init_alias_analysis+0x3ea>
+   	lea    0x0(%esi,1),%esi
    	movl   $0x1f7,0x10(%esp,1)
    	movl   $0xb38,0xc(%esp,1)
-   	jmp    <init_alias_analysis+0x3be>
+   	jmp    <init_alias_analysis+0x408>
    	movl   $0x0,0x8(%esp,1)
    	movl   $0x4,0x4(%esp,1)
    	mov    %ebx,(%esp,1)
-   	call   <init_alias_analysis+0x459>
+   	call   <init_alias_analysis+0x4a9>
    	mov    %eax,0xffffffe4(%ebp)
    	test   %eax,%eax
-   	je     <init_alias_analysis+0x47b>
+   	je     <init_alias_analysis+0x4cb>
    	mov    0x0,%eax
    	cmp    (%eax),%edi
-   	jae    <init_alias_analysis+0x507>
+   	jae    <init_alias_analysis+0x557>
    	mov    0x10(%eax,%edi,4),%eax
    	cmpl   $0x1,0xc(%eax)
-   	je     <init_alias_analysis+0x49e>
+   	je     <init_alias_analysis+0x4ee>
    	movl   $0x0,0x8(%esp,1)
    	movl   $0x3,0x4(%esp,1)
    	mov    %ebx,(%esp,1)
-   	call   <init_alias_analysis+0x48f>
+   	call   <init_alias_analysis+0x4df>
    	mov    %eax,0xffffffe4(%ebp)
    	test   %eax,%eax
-   	je     <init_alias_analysis+0x350>
-   	mov    0xffffffe4(%ebp),%edx
-   	mov    0x4(%edx),%eax
+   	je     <init_alias_analysis+0x39a>
+   	mov    0xffffffe4(%ebp),%ecx
+   	mov    0x4(%ecx),%eax
    	cmpw   $0x3,(%eax)
-   	je     <init_alias_analysis+0x350>
+   	je     <init_alias_analysis+0x39a>
    	movl   $0x1,0x4(%esp,1)
-   	mov    0x4(%edx),%eax
+   	mov    0x4(%ecx),%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x4bd>
+   	call   <init_alias_analysis+0x50d>
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x350>
-   	mov    0xffffffe4(%ebp),%ecx
-   	mov    0x4(%ecx),%eax
+   	jne    <init_alias_analysis+0x39a>
+   	mov    0xffffffe4(%ebp),%edx
+   	mov    0x4(%edx),%eax
    	mov    %eax,0x4(%esp,1)
    	mov    0x4(%esi),%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x4da>
+   	call   <init_alias_analysis+0x52a>
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x350>
-   	mov    0xffffffe4(%ebp),%esi
+   	jne    <init_alias_analysis+0x39a>
+   	mov    0xffffffe4(%ebp),%ecx
    	mov    0x0,%edx
-   	mov    0x4(%esi),%eax
+   	mov    0x4(%ecx),%eax
    	mov    %eax,(%edx,%edi,4)
    	mov    0x0,%eax
-   	cmpb   $0x3,0x2(%esi)
+   	cmpb   $0x3,0x2(%ecx)
    	sete   (%edi,%eax,1)
-   	jmp    <init_alias_analysis+0x14d>
+   	jmp    <init_alias_analysis+0x17d>
    	movl   $0x1f7,0x10(%esp,1)
    	movl   $0xb2f,0xc(%esp,1)
    	movl   $0x0,0x8(%esp,1)
    	mov    %edi,0x4(%esp,1)
    	mov    %eax,(%esp,1)
-   	jmp    <init_alias_analysis+0x3cd>
+   	jmp    <init_alias_analysis+0x417>
    	nop    
    	lea    0x0(%esi,1),%esi
    	mov    0x18(%ebx),%eax
    	mov    %eax,%esi
    	cmpw   $0x3b,(%eax)
-   	je     <init_alias_analysis+0x31e>
+   	je     <init_alias_analysis+0x368>
    	mov    %eax,0x4(%esp,1)
    	mov    %ebx,(%esp,1)
-   	call   <init_alias_analysis+0x547>
+   	call   <init_alias_analysis+0x597>
    	mov    %eax,%esi
-   	jmp    <init_alias_analysis+0x31e>
+   	jmp    <init_alias_analysis+0x368>
    	mov    0x24(%ebx),%edx
    	test   %edx,%edx
-   	je     <init_alias_analysis+0x2f1>
+   	je     <init_alias_analysis+0x33b>
    	movl   $0x0,0x8(%esp,1)
    	movl   $0x12,0x4(%esp,1)
    	mov    %ebx,(%esp,1)
-   	call   <init_alias_analysis+0x571>
+   	call   <init_alias_analysis+0x5c1>
    	test   %eax,%eax
-   	je     <init_alias_analysis+0x2f1>
+   	je     <init_alias_analysis+0x33b>
    	movl   $0x0,0x8(%esp,1)
    	movl   $0x0,0x4(%esp,1)
    	mov    0x18(%ebx),%eax
    	mov    0x4(%eax),%eax
    	mov    %eax,(%esp,1)
    	call   <record_set>
-   	jmp    <init_alias_analysis+0x30c>
+   	jmp    <init_alias_analysis+0x356>
    	mov    %ebx,(%esp,1)
-   	call   <init_alias_analysis+0x5a4>
+   	call   <init_alias_analysis+0x5f4>
    	test   %eax,%eax
-   	jne    <init_alias_analysis+0x14d>
-   	jmp    <init_alias_analysis+0x2e4>
+   	jne    <init_alias_analysis+0x17d>
+   	jmp    <init_alias_analysis+0x32e>
    	mov    0xc,%eax
    	shl    $0x2,%eax
    	mov    %eax,0x4(%esp,1)
    	mov    0xf4,%eax
    	mov    %eax,(%esp,1)
-   	call   <init_alias_analysis+0x5ca>
+   	call   <init_alias_analysis+0x61a>
    	mov    %eax,0xf4
-   	mov    0xc,%edx
-   	movl   $0x0,0x4(%esp,1)
-   	mov    %eax,(%esp,1)
-   	shl    $0x2,%edx
-   	mov    %edx,0x8(%esp,1)
-   	call   <init_alias_analysis+0x5ec>
+   	mov    %eax,%edi
+   	mov    0xc,%eax
+   	shl    $0x2,%eax
+   	cmp    $0x7,%eax
+   	jbe    <init_alias_analysis+0x646>
+   	test   $0x4,%edi
+   	je     <init_alias_analysis+0x646>
+   	movl   $0x0,(%edi)
+   	sub    $0x4,%eax
+   	add    $0x4,%edi
+   	cld    
+   	mov    %eax,%ecx
+   	shr    $0x2,%ecx
+   	xor    %eax,%eax
+   	repz stos %eax,%es:(%edi)
    	jmp    <init_alias_analysis+0xac>
    	lea    0x0(%esi,1),%esi
    	lea    0x0(%edi,1),%edi
@@ -6419,7 +6464,7 @@ gt_pch_na_reg_base_value:
    	pop    %ebx
    	pop    %ebp
    	ret    
-   	movl   $0x5620,0x8(%esp,1)
+   	movl   $0x5680,0x8(%esp,1)
    	xor    %ebx,%ebx
    	movl   $0x4,0x4(%esp,1)
    	mov    %eax,(%esp,1)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]