[LLVMdev] POST MORTEM: llvm-test changes

Jeff Cohen jeffc at jolt-lang.org
Sat Sep 11 14:21:37 PDT 2004


On Sat, 11 Sep 2004 13:53:11 -0700
Reid Spencer <reid at x10sys.com> wrote:

> On Sat, 2004-09-11 at 12:49, Jeff Cohen wrote:
> > 
> > ===================== MultiSource/Applications/sgefa
> > 
> sgefa is a known XFAIL. See the nightly test results over the last
> several months. Actually, you should compare your test results with the
> 1.3 release test results (on or about August 13th, 2004). Please only
> report deltas from there. 

Where can I find these?  I see the nightly reports, but they don't say
what's XFAIL much less /how/ they're expected to fail.

> > ===================== MultiSource/Benchmarks/Olden/power
> > 
> > Only cbe failed:
> > 
> >   6c6
> >   < TR=0.81, TI=0.16, P0=6397.86, Q0=1288.50
> >   ---
> >   > TR=0.81, TI=0.16, P0=6397.87, Q0=1288.50
> >   26c26
> >   < TR=0.80, TI=0.16, P0=7565.44, Q0=1525.86
> >   ---
> >   > TR=0.80, TI=0.16, P0=7565.44, Q0=1525.85
> >   34c34
> >   < TR=0.79, TI=0.16, P0=7725.99, Q0=1558.54
> >   ---
> >   > TR=0.79, TI=0.16, P0=7725.99, Q0=1558.53
> >   36c36
> >   < TR=0.79, TI=0.16, P0=8052.56, Q0=1625.04
> >   ---
> >   > TR=0.79, TI=0.16, P0=8052.56, Q0=1625.05
> >   74c74
> >   < TR=0.79, TI=0.16, P0=7894.33, Q0=1592.81
> >   ---
> >   > TR=0.79, TI=0.16, P0=7894.32, Q0=1592.81
> 
> This works on Linux (it did last night) so not sure why FreeBSD gives
> these rounding errors. Can you investigate? Does the test use fpcmp?

It does:

/usr/home/llvm/obj/../test/Programs/RunSafely.sh 500 /dev/null Output/power.out-llc Output/power.llc 
/usr/home/llvm/obj/../test/Programs/DiffOutput.sh "/usr/home/llvm/obj/tools/Debug/fpcmp  -r 0.00001" llc power 
/usr/home/llvm/obj/../test/Programs/RunSafely.sh 500 /dev/null Output/power.out-cbe Output/power.cbe 
/usr/home/llvm/obj/../test/Programs/DiffOutput.sh "/usr/home/llvm/obj/tools/Debug/fpcmp  -r 0.00001" cbe power 
/usr/home/llvm/obj/../test/Programs/RunSafely.sh 500 /dev/null Output/power.out-jit /usr/home/llvm/obj/tools/Debug/lli -force-interpreter=false  Output/power.llvm.bc 
/usr/home/llvm/obj/../test/Programs/DiffOutput.sh "/usr/home/llvm/obj/tools/Debug/fpcmp  -r 0.00001" jit power 

> > ===================== MultiSource/Benchmarks/FreeBench/mason
> > 
> > All fail (including native) with error "Could not open datafile test.in"
> 
> When's the last time you cvs updated llvm-test, wiped out your build
> directory, reconfigured, and rebuilt?  There have been numerous
> structural changes to llvm-test in the last week. It seems to have
> settled down now and the above error is indicative of at least one of
> the changes that fixed problems.

Last night, after I installed gcc 3.4.2.  I also did a full update.

> >  
> > ===================== SingleSource/Regression/C++/EH/Output/ConditionalExpr
> > 
> > Only cbe failed with:
> > 
> > gcc Output/ConditionalExpr.cbe.c  -std=c99 -fno-strict-aliasing -O2 -o Output/ConditionalExpr.cbe
> > Output/ConditionalExpr.cbe.c:1629: warning: conflicting types for built-in function 'memset'
> > Output/ConditionalExpr.cbe.c: In function `l141__ZNKSt7collateIwE12do_transformEPKwS2_':
> > Output/ConditionalExpr.cbe.c:29424: warning: implicit declaration of function `alloca'
> > /var/tmp//cc7mQbke.o: In function `l292__ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwjRSt12_Ios_Iostate':
> > /var/tmp//cc7mQbke.o(.text+0x122e3): undefined reference to `alloca'
> > /var/tmp//cc7mQbke.o: In function `l164__ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc':
> > /var/tmp//cc7mQbke.o(.text+0x139aa): undefined reference to `alloca'
> > /var/tmp//cc7mQbke.o: In function `l311__ZNSt5__padIwSt11char_traitsIwEE6_S_padERSt8ios_basewPwPKwiib':
> > /var/tmp//cc7mQbke.o(.text+0x14db8): undefined reference to `alloca'
> > /var/tmp//cc7mQbke.o: In function `l195__ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe':
> > /var/tmp//cc7mQbke.o(.text+0x15180): undefined reference to `alloca'
> > /var/tmp//cc7mQbke.o(.text+0x153a5): undefined reference to `alloca'
> > /var/tmp//cc7mQbke.o(.text+0x15580): more undefined references to `alloca' follow
> > collect2: ld returned 1 exit status
> > gmake[4]: [Output/ConditionalExpr.cbe] Error 1 (ignored)
> 
> You need to look into this. Why isn't alloca being linked in? Where is
> it on FreeBSD?  This comment goes for all the other C++/EH tests that
> failed for "No alloca".

On FreeBSD it's defined in stdlib.h:

/*
 * The alloca() function can't be implemented in C, and on some
 * platforms it can't be implemented at all as a callable function.
 * The GNU C compiler provides a built-in alloca() which we can use;
 * in all other cases, provide a prototype, mainly to pacify various
 * incarnations of lint.  On platforms where alloca() is not in libc,
 * programs which use it will fail to link when compiled with non-GNU
 * compilers.
 */
#if __GNUC__ >= 2 || defined(__INTEL_COMPILER)
#undef  alloca	/* some GNU bits try to get cute and define this on their own */
#define alloca(sz) __builtin_alloca(sz)
#elif defined(lint)
void	*alloca(size_t);
#endif




More information about the llvm-dev mailing list