This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/36861] [4.3 Regression] boost's compressed avl confuses GCC
- From: "lothar at tradescape dot biz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jul 2008 18:55:51 -0000
- Subject: [Bug tree-optimization/36861] [4.3 Regression] boost's compressed avl confuses GCC
- References: <bug-36861-11487@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #19 from lothar at tradescape dot biz 2008-07-28 18:55 -------
Created an attachment (id=15973)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15973&action=view)
oprofile logs
I compiled optimized executables with and without -fno-strict-aliasing and
generated an oprofile log for them:
/opt2/linux/ix86/bin/g++-4.3.1 -m64 -O3 -no-strict-aliasing -g
-I/opt2/linux/x86_64/include/boost-1_35 -DUSE_OPTIMIZATION=0 -o ./avltest-non
./avltest.cpp
/opt2/linux/ix86/bin/g++-4.3.1 -m64 -O3 -fno-strict-aliasing -g
-I/opt2/linux/x86_64/include/boost-1_35 -DUSE_OPTIMIZATION=0 -o ./avltest-non
./avltest.cpp
sudo opcontrol --reset; sudo opcontrol --start; ./avltest-no; ./avltest-non ;
sudo opcontrol --stop
opannotate --source --assembly --demangle=smart --threshold=1 ./avltest-no
>./avltest-no.oprofile.txt
opannotate --source --assembly --demangle=smart --threshold=1 ./avltest-non
>./avltest-non.oprofile.txt
diff -u ./avltest-no.oprofile.txt ./avltest-non.oprofile.txt
./avltest-diff.oprofile.txt
$ time ./avltest-non
sizeof(Node)=72
sizeof(NodeSet)=40
creating file ./avltest.img done
region.get_address()=0x7f4d43ed1000
region.get_size()=3600056
p_set=0x7f4d43ed1000
p_values=0x7f4d43ed1030
created/inserted 50000 entries
region.get_address()=0x7f4d43b62000
region.get_size()=3600056
p_set=0x7f4d43b62000
p_values=0x7f4d43b62030
checked 50000 entries, result=1249975000
real 0m0.614s
user 0m0.140s
sys 0m0.016s
$ time ./avltest-no
sizeof(Node)=72
sizeof(NodeSet)=40
creating file ./avltest.img done
region.get_address()=0x7f7fdce43000
region.get_size()=3600056
p_set=0x7f7fdce43000
p_values=0x7f7fdce43030
created/inserted 50000 entries
region.get_address()=0x7f7fdcad4000
region.get_size()=3600056
p_set=0x7f7fdcad4000
p_values=0x7f7fdcad4030
checked 50000 entries, result=1249975000
real 0m22.634s
user 0m22.277s
sys 0m0.120s
I hope these tests aid in finding the problem
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36861