Re: When was decimal floating point added to gcc?

2007-06-03 Thread Ben Elliston
On Sat, 2007-06-02 at 18:48 -0700, H. J. Lu wrote:

> > > When was decimal floating point added to gcc? I couldn't find it
> > > in any gcc changes.html. Shouldn't it be mentioned somewhere?

> Are they mentioned in any gcc changes.html?

No, they're not.  They probably should be.

Ben




Re: When was decimal floating point added to gcc?

2007-06-03 Thread Gerald Pfeifer
On Sun, 3 Jun 2007, Ben Elliston wrote:
>> Are they mentioned in any gcc changes.html?
> No, they're not.  They probably should be.

Do you think we could talk the submitters/maintainers into donating a 
patch? :-)

Gerald


Help in understanding ccp propagator

2007-06-03 Thread Revital1 Eres

Hello,

I will greatly appreciate any suggestions regarding the following
problem I have with the ccp propagator. I am testing the new store
ccp patch which propagates constants by walking the virtual use-def
chain (http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00055.html) and I
encountered the following problem while testing tree_join.cc file which
is under libstdc++-v3 testsuite:

The final propagator replaces the right operand (D.65705_98) in the
following if condition with a constant zero which causes the program to be
aborted as i0_62 is not always zero:

  # i0_62 = PHI 
:;
  D.61410.first = i0_62;
...
   D.65705_98 = D.61410.first;
-  if (D.65704_96 >= 0)
+  if (D.65704_96 >= D.65705_98)
 goto ;
   else
 goto ;

Tracing the execution of the propagator it seems that the if statement
is first been propogated with zero after simulating the execution; but not
updated after the lattice value of the variables it depends on changed.

Here is the scenario of the propagator:

1) D.61410.first is been updated to zero:

19921 Visiting PHI node: i0_62 = PHI 
19922 Argument #0 (29 -> 4 not executable)
19923
19924 Argument #1 (3 -> 4 executable)
19925 0   Value: CONSTANT 0
19926
19927 PHI node value: CONSTANT 0
19928
19929 Lattice value changed to CONSTANT 0.  Adding SSA edges to worklist.
19930
19931 Visiting statement:
19932 D.61410.first = i0_62;
19933
19934 Lattice value changed to CONSTANT 0.  Adding SSA edges to worklist.
19935

2) D.65705_98 is been upadted to zero:

20235 Visiting statement:
20236 D.65705_98 = D.61410.first;
20237
20238 Lattice value changed to CONSTANT 0.  Adding SSA edges to worklist.
20239
20240 Visiting statement:
20241 if (D.65704_96 >= D.65705_98)


3) D.61410.first latice value changed to VARYING.

20360 Simulating statement (from ssa_edges): D.61410.first = i0_62;
20361
20362 Visiting statement:
20363 D.61410.first = i0_62;
20364
20365 Lattice value changed to VARYING.  Adding SSA edges to worklist.

4) if D.65705_98 is been replaced to zero:

25422 Substituing values and folding statements
25423
25424 Folded statement Folded statement: if (D.65704_96 >= D.65705_98)
25425 into: if (D.65704_96 >= 0)

I am not sure why after the lattice value of D.61410.first has been
changed to VARYING D.65705_98 and the if statement is not been updated
as well.

Thanks,
Revital



Re: How to enable Mudflap in gcc 4.x?

2007-06-03 Thread Frank Ch. Eigler
"Deepen Mantri" <[EMAIL PROTECTED]> writes:

> [...]
> To enable libmudflap library, I am passing the "--enable-libmudflap"
> option in the gcc configure script  But I get the following error
> during final gcc building:
> "configure error: none of the known symbol names works
> [configure-target-libmudflap] Error 1"

libmudflap needs to know the know the name of the entry point symbol,
to enable one of its heuristics.  See the ENTRY_POINT area in
configure.ac, and update it for your own runtime.  Be aware that
libmduflap's libc-wrapper functions may need porting for your libc.


- FChE


Re: Help in understanding ccp propagator

2007-06-03 Thread Daniel Berlin

On 6/3/07, Revital1 Eres <[EMAIL PROTECTED]> wrote:


Hello,

I will greatly appreciate any suggestions regarding the following
problem I have with the ccp propagator. I am testing the new store
ccp patch which propagates constants by walking the virtual use-def
chain (http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00055.html) and I
encountered the following problem while testing tree_join.cc file which
is under libstdc++-v3 testsuite:



BTW, a lot of these will be caught with the new VN i posted, whicih
should be reviewed and go in soon.
That said, ...



The final propagator replaces the right operand (D.65705_98) in the
following if condition with a constant zero which causes the program to be
aborted as i0_62 is not always zero:

  # i0_62 = PHI 
:;
  D.61410.first = i0_62;
...
   D.65705_98 = D.61410.first;
-  if (D.65704_96 >= 0)
+  if (D.65704_96 >= D.65705_98)
 goto ;
   else
 goto ;

Tracing the execution of the propagator it seems that the if statement
is first been propogated with zero after simulating the execution; but not
updated after the lattice value of the variables it depends on changed.



Does your store CPP properly say the vdefs have changed when a
statement's lattice value changes?






Re: [OT] Re: Git repository with full GCC history

2007-06-03 Thread Gabriel Paubert
On Fri, Jun 01, 2007 at 11:57:36AM -0400, Bernardo Innocenti wrote:
> Gabriel Paubert wrote:
> >On Fri, Jun 01, 2007 at 11:00:29AM -0400, Bernardo Innocenti wrote:
> >>Gabriel Paubert wrote:
> >>
> >>>I just upgraded my git to 1.5.2 and repacked the git repository
> >>>with git-gc --aggressive. It is quite impressive: the size of 
> >>>the pack file was almost cut in half, from ~23MB to ~12MB!
> >>The --aggressive option is undocumented in 1.5.2.  What
> >>is it supposed to do?
> >
> >It is documented in my freshly compiled and installed git:
> 
> In the source, I see it just passes "-f" to git-repack, which
> I already did manually, with no improvement.
> 
> So there must be something strange in your repository if
> it packs that much better than mine.  Could you please
> publish it somewhere so I can make some tests?

Well, actually the GCC repository does not pack better
here than yours. It's even worse after having tested 
on 3 different machines just in case. In all cases 
I get about 1.4 GB for the pack with the default 
depth and window parameters.

I don't know what Harvey is up to, he claimed his tree
was between 400 and 500 MB.

There are 50% more objects than in the Linux kernel, 
but with the same packing parameters the pack file is 
almost 10 times larger. It's true that many kernel 
patches are little more than one-liners, but even 
taking this into account, I'm surprised.

Gabriel


Re: [OT] Re: Git repository with full GCC history

2007-06-03 Thread Harvey Harrison

On 6/3/07, Gabriel Paubert <[EMAIL PROTECTED]> wrote:


Well, actually the GCC repository does not pack better
here than yours. It's even worse after having tested
on 3 different machines just in case. In all cases
I get about 1.4 GB for the pack with the default
depth and window parameters.


The defaults changed significantly somewhere near version 1.5.1 I
believe with the delta caching mechanism making it much less expensive
to use a deeper delta depth.



I don't know what Harvey is up to, he claimed his tree
was between 400 and 500 MB.


Sorry, my mistake, the repo I was looking at only contained a clone of trunk.



There are 50% more objects than in the Linux kernel,
but with the same packing parameters the pack file is
almost 10 times larger. It's true that many kernel
patches are little more than one-liners, but even
taking this into account, I'm surprised.


I'm starting to pull the rest of the branches now, but I am also a
little surprised at the difference.

Harvey


Re: [OT] Re: Git repository with full GCC history

2007-06-03 Thread Bernardo Innocenti

Harvey Harrison wrote:



I get about 1.4 GB for the pack with the default
depth and window parameters.


I forgot to mention that I obtained an ~800MB repository
with git 1.5.0.x after increasing the window size to 20.



The defaults changed significantly somewhere near version 1.5.1 I
believe with the delta caching mechanism making it much less expensive
to use a deeper delta depth.


Did you enable UseDeltaBaseOffset perhaps?  Or any of the git-gc
configuration parameters?

I suspecet I may have huge loose objects created by
git-svn because of how it does branching and rebasing.



I don't know what Harvey is up to, he claimed his tree
was between 400 and 500 MB.


Sorry, my mistake, the repo I was looking at only contained a clone of trunk.


Mine too. I have not cloned the branches.



I'm starting to pull the rest of the branches now, but I am also a
little surprised at the difference.


Please, make your tree available for inspection.


--
  // Bernardo Innocenti
\X/  http://www.codewiz.org/


Re: [OT] Re: Git repository with full GCC history

2007-06-03 Thread Harvey Harrison

On 6/3/07, Bernardo Innocenti <[EMAIL PROTECTED]> wrote:

Harvey Harrison wrote:


>> I get about 1.4 GB for the pack with the default
>> depth and window parameters.

I forgot to mention that I obtained an ~800MB repository
with git 1.5.0.x after increasing the window size to 20.




Now I don't know what is going on, I tried to reproduce my packfile
and get a 1.4GB packfile.  But I'm sure I redid the same operations?
I'd just disregard my size numbers until I can figure out what I've
done wrong.


> The defaults changed significantly somewhere near version 1.5.1 I
> believe with the delta caching mechanism making it much less expensive
> to use a deeper delta depth.

Did you enable UseDeltaBaseOffset perhaps?  Or any of the git-gc
configuration parameters?


I did recently upgrade to the tip of 'next' branch of git, will go
back to my previous version.

I have set

[core]
legacyheaders = false
[repack]
usedeltabaseoffset = true

in my .gitconfig.



Please, make your tree available for inspection.



If I can reproduce it I'll see if I can find some webspace.

Harvey


Libjava is broken again

2007-06-03 Thread H. J. Lu
This patch

http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00151.html

breaks libjava. One problem is it modifies

libjava/classpath/m4/acinclude.m4

without ChangeLog entry. I believe this one

-  if test "x${GCJ}" = x && test "x${JIKES}" = x && test 
"x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx 
&& test "x${user_specified_javac}" != xecj; then
-  AC_MSG_ERROR([cannot find javac, try --with-gcj, --with-jikes, 
--with-kjc, --with-ecj, or --with-gcjx])
+dnl  if test "x${GCJ}" = x && test "x${JIKES}" = x && test 
"x${user_specified_javac}" != xkjc; then
+  if test "x${ECJ}" = x && test "x${JAVAC}" = x && test 
"x${user_specified_javac}" != xecj; then

changes to check ${ECJ} instead of ${GCJ}, which breaks libjava
build.


H.J.
---
Index: m4/acinclude.m4
===
--- m4/acinclude.m4 (revision 125301)
+++ m4/acinclude.m4 (working copy)
@@ -8,23 +8,25 @@
   CLASSPATH_WITH_GCJ
   CLASSPATH_WITH_JIKES
   CLASSPATH_WITH_KJC
-  CLASSPATH_WITH_GCJX
   CLASSPATH_WITH_ECJ
+  CLASSPATH_WITH_JAVAC
 
   if test "x${user_specified_javac}" = x; then
 AM_CONDITIONAL(FOUND_GCJ, test "x${GCJ}" != x)
 AM_CONDITIONAL(FOUND_JIKES, test "x${JIKES}" != x)
 AM_CONDITIONAL(FOUND_ECJ, test "x${ECJ}" != x)
+AM_CONDITIONAL(FOUND_JAVAC, test "x${JAVAC}" != x)
   else
 AM_CONDITIONAL(FOUND_GCJ, test "x${user_specified_javac}" = xgcj)
 AM_CONDITIONAL(FOUND_JIKES, test "x${user_specified_javac}" = xjikes)
 AM_CONDITIONAL(FOUND_ECJ, test "x${user_specified_javac}" = xecj)
+AM_CONDITIONAL(FOUND_JAVAC, test "x${user_specified_javac}" = xjavac)
   fi
   AM_CONDITIONAL(FOUND_KJC, test "x${user_specified_javac}" = xkjc)
-  AM_CONDITIONAL(FOUND_GCJX, test "x${user_specified_javac}" = xgcjx)
 
-  if test "x${GCJ}" = x && test "x${JIKES}" = x && test 
"x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx 
&& test "x${user_specified_javac}" != xecj; then
-  AC_MSG_ERROR([cannot find javac, try --with-gcj, --with-jikes, 
--with-kjc, --with-ecj, or --with-gcjx])
+dnl  if test "x${GCJ}" = x && test "x${JIKES}" = x && test 
"x${user_specified_javac}" != xkjc; then
+  if test "x${ECJ}" = x && test "x${JAVAC}" = x && test 
"x${user_specified_javac}" != xecj; then
+  AC_MSG_ERROR([cannot find javac, try --with-ecj])
   fi
 ])
 
@@ -184,41 +186,6 @@
 ])
 
 dnl ---
-AC_DEFUN([CLASSPATH_WITH_GCJX],
-[
-  AC_ARG_WITH([gcjx], 
- [AS_HELP_STRING(--with-gcjx,bytecode compilation with gcjx)],
-  [
-if test "x${withval}" != x && test "x${withval}" != xyes && test 
"x${withval}" != xno; then
-  CLASSPATH_CHECK_GCJX(${withval})
-else
-  if test "x${withval}" != xno; then
-CLASSPATH_CHECK_GCJX
-  fi
-fi
-user_specified_javac=gcjx
-  ],
-  [ 
-CLASSPATH_CHECK_GCJX
-  ])
-  AC_SUBST(GCJX)
-])
-
-dnl ---
-AC_DEFUN([CLASSPATH_CHECK_GCJX],
-[
-  if test "x$1" != x; then
-if test -f "$1"; then
-  GCJX="$1"
-else
-  AC_PATH_PROG(GCJX, "$1")
-fi
-  else
-AC_PATH_PROG(GCJX, "gcjx")
-  fi
-])
-
-dnl ---
 AC_DEFUN([CLASSPATH_WITH_JAVAH],
 [
   AC_ARG_WITH([javah],
@@ -471,3 +438,38 @@
   esac
   AC_SUBST(toolexeclibdir)
 ])
+
+dnl ---
+AC_DEFUN([CLASSPATH_WITH_JAVAC],
+[
+  AC_ARG_WITH([javac],
+ [AS_HELP_STRING(--with-javac,bytecode compilation with javac)],
+  [
+if test "x${withval}" != x && test "x${withval}" != xyes && test 
"x${withval}" != xno; then
+  CLASSPATH_CHECK_JAVAC(${withval})
+else
+  if test "x${withval}" != xno; then
+CLASSPATH_CHECK_JAVAC
+  fi
+fi
+user_specified_javac=javac
+  ],
+  [ 
+CLASSPATH_CHECK_JAVAC
+  ])
+  AC_SUBST(JAVAC)
+])
+
+dnl ---
+AC_DEFUN([CLASSPATH_CHECK_JAVAC],
+[
+  if test "x$1" != x; then
+if test -f "$1"; then
+  JAVAC="$1"
+else
+  AC_PATH_PROG(JAVAC, "$1")
+fi
+  else
+AC_PATH_PROG(JAVAC, "javac")
+  fi
+])