IC expression here:
>
> stmt = gimple_build_assing (ptr_var, build_fold_addr_expr (array_var));
>
> Richard.
>
> >
> > Steve Ellcey
> > sell...@imgtec.com
Thanks for the help Richard, that worked.
Steve Ellcey
sell...@imgtec.com
magic formula to
generate gimple code that causes ptr_var to point to array_var?
Is ADDR_EXPR the right way to get the address of the array instead of
the value in a gimple_build_assign call?
Steve Ellcey
sell...@imgtec.com
ts in cases where the regular stack pointer may have
been changed in order to be aligned. Is that correct?
Any help/advice on how the hooks for dynamically realigned stack are supposed
to all work together would be appreciated.
Steve Ellcey
t see any other platforms using that technique and I was wondering
if there is any more generalized method for spilling registers to memory
with an alignment requirement greater than MAX_STACK_ALIGNMENT.
Steve Ellcey
sell...@imgtec.com
On Sun, 2015-02-22 at 10:30 -0800, Matthew Fortune wrote:
> Steve Ellcey writes:
> > Or one could change convert_mult_to_fma to add a check if fma is fused
> > vs. non-fused in addition to the check for the flag_fp_contract_mode
> > in order to decide whether to convert ex
or
disadvantages of these two approaches.
Steve Ellcey
sell...@imgtec.com
On Tue, 2015-01-27 at 09:36 -0700, Jeff Law wrote:
> On 01/27/15 09:20, Steve Ellcey wrote:
> > On Tue, 2015-01-27 at 08:02 -0800, H.J. Lu wrote:
> >> For the past couple days, gcc.gnu.org/sourceware.org is
> >> quite slow for me when accessing git and bugzilla. Am
into that before.
Steve Ellcey
sell...@imgtec.com
a bug?
Steve Ellcey
Which is the same as you would use if you didn't specify mips32r2 in
MULTILIB_OPTIONS at all. I expect MULTILIB_OSDIRNAMES to work the same
way and ignore any mapping entries with the mips32r2 option but maybe I
am wrong (I'm still testing it out).
Steve Ellcey
sell...@imgtec.com
On Thu, 2015-01-08 at 22:12 +, Joseph Myers wrote:
> On Thu, 8 Jan 2015, Steve Ellcey wrote:
>
> > So I set these macros and SPECs:
> > # m32 and be are defaults
> > MULTILIB_OPTIONS = m64 mel # In makefile fragment
> >
ldn't SYSROOT_SUFFIX_SPEC be used for the gcc shared libraries
as well as the sysroot areas? I.e. install and search for libgcc_s.so.1 in:
/lib # 32 bits
/lib/../lib64 # 64 bits
Steve Ellcey
sell...@imgtec.com
On Thu, 2014-10-09 at 19:50 +, Joseph S. Myers wrote:
> On Thu, 9 Oct 2014, Steve Ellcey wrote:
>
> > Do you know which pass does the simple
> > '(float)function((double)float_val)' demotion? Maybe that would be a
> > good place to extend things.
>
here is no pass which does the demotion and the
> only case of demotion that happens is with a simple
> (float)function((double)float_val);
>
> Thanks,
> Andrew
Do you know which pass does the simple
'(float)function((double)float_val)' demotion? Maybe that would be a
good place to extend things.
Steve Ellcey
precision log and sin functions are presumably
faster then the double precision ones making the entire code much faster.
Is there a reason why GCC couldn't (under -ffast-math) call the single
precision routines for the first case?
Steve Ellcey
sell...@mips.com
options contain equal signs (-mabi=32, -mabi=64) so
it would be hard/confusing to map an option to a directory when the
option itself contains an equal sign.
Steve Ellcey
sell...@mips.com
r FAIL
and don't examine the testing output that closely. I see the 'usual' C
and C++ faliiures after this error and the rest of the testsuite seems to
run fine.
Steve Ellcey
sell...@mips.com
Test Run By sellcey on Fri Sep 5 03:08:58 2014
Native configuration is
n with. I am not sure which yet.
Steve Ellcey
sell...@mips.com
% cat x.c
int NoBarrier_AtomicIncrement(volatile int* ptr, int increment) {
int temp, temp2;
__asm__ __volatile__(".set push\n"
".set noreorder\n"
"1:\n"
> default_options_table in opts.c.
Thanks Andrew and Marc, I knew it would be obvious once I saw it.
Steve
mization levels. Likewise in common.opt
I see flags for various optimization passes but nothing to tie them to
-O1 or -O2, etc.
I'm probably missing something obvious, but a pointer would be much
appreciated.
Steve Ellcey
is a bug in handling MULTILIB_OSDIRNAMES?
Steve Ellcey
sell...@mips.com
he explanation
and change the MIPS scan? Should I leave avr and arc alone (split them
off from mips) since I have no evidence that they are failing?
Steve Ellcey
sell...@mips.com
be enough for now. Here is the patch I came up with
and tested. I had to tweak a couple of things in
gcc/common/config/mips/mips-common.c so I wouldn't mind if you took a
look at it before I checked it in. Testing looked all right once I
initialized TARGET_FP_EXCEPTIONS and TARGET_FU
easier to add new flags later, especially if
someone is just adding a flag temporarily as an experiment to test
something.
Does this sound reasonable to you? If so what flags do you think we
might want to move out of target_flags to a different variable?
Steve Ellcey
sell...@mips.com
On Fri, 2013-12-13 at 11:26 +0100, Richard Biener wrote:
> On Thu, Dec 12, 2013 at 8:19 PM, Steve Ellcey wrote:
> > I have a question about the partial pre (-ftree-partial-pre) optimization
> > that was added in GCC 4.8. I have noticed that this optimization is slowing
> &
I don't have a test case that I can include (EEMBC is licensed).
Steve Ellcey
sell...@mips.com
On Mon, 2013-12-09 at 08:21 +1300, Maxim Kuvyrkov wrote:
> I'm looking into this.
>
> Thanks,
>
> --
> Maxim Kuvyrkov
> www.kugelworks.com
My mips-mti-linux-gnu build is working after I applied this patch
locally. I didn't do a test build of mips64-linux-gnu.
On Fri, 2013-11-22 at 13:48 -0800, H.J. Lu wrote:
> On Fri, Nov 22, 2013 at 1:24 PM, Steve Ellcey wrote:
> >
> > I am building a cross GCC (targeting MIPS) on an x86-64 Linux system but I
> > want to build the compiler as a 32 bit executable. I thought the right way
>
lag and I don't want to override the options used when building the
libraries anyway, only the options used to build executables.
Am I setting the wrong CFLAGS/CXXFLAGS variables? Or is this a bug?
Steve Ellcey
sell...@mips.com
char *) finds
the caddr_t type and all is fine. When building a canadian cross on
linux using the mingw compilers then the check for caddr_t fails
and auto-host.h winds up with "#define caddr_t char *" in it and that
causes a build failure later on.
Steve Ellcey
sell...@mips.com
unds because then, when
GLIBCXX_CHECK_C99_TR1 checks for the headers, it uses the saved values
which will be false if the headers don't exist in C.
Steve Ellcey
sell...@mips.com
no fenv.h in the newlib headers to include.
The problem seems to be that GLIBCXX_CHECK_C99_TR1 is using the C++
compiler to check for fenv.h and not the C compiler. But that choice
seems to be intentional so I am not sure what to do about it.
Steve Ellcey
sell...@mips.com
ne if $f0
is used for a return value by using mips_return_mode_in_fpr_p but I
can't find something equivalent for argument registers. Any ideas?
Steve Ellcey
sell...@mips.com
e having access to the FPU unit in FR1 mode
may be advantageous enough to accept the cost of saving and restoring
the FP registers but where we still need to be ABI compatible with fp32
code.
Steve Ellcey
sell...@mips.com
re of the
floating point registers that I was hoping for. If I call
__builtin_mips_switch_fp_mode(0) explicitly then I do see the fp
registers get saved and restored.
Steve Ellcey
sell...@mips.com
diff --git a/gcc/config/mips/mips-ftypes.def b/gcc/config/mips/mips-ftypes.def
index 1268c53..7c
fixed the problem.
Steve Ellcey
sell...@mips.com
On Tue, 2013-07-30 at 20:32 +0100, Richard Sandiford wrote:
> "Steve Ellcey " writes:
> > I have noticed that gcc.target/mips/fpr-moves-7.c and
> > gcc.target/mips/fpr-moves-8.c fail when running the GCC
> > testsuite with -msoft-float.
>
> Which configurati
allowing these tests to pass with -mhard-float.
If I run with -msoft-float then -msym32 never gets set and the test fails.
Should addressing=absolute be set here for soft-float in mips.exp
or do you think these two tests should just not be run in soft-float mode?
Steve Ellcey
sell...@mips.com
during the make process, it
looks like it didn't get made correctly for you. You might be missing
some tool (grep, awk, etc) that is needed when making option.h.
Steve Ellcey
sell...@mips.com
$3. I think what I need to
fix this is a target specific way to modify the cost calculations before
the IV variables are chosen.
Steve Ellcey
sell...@mips.com
lize I should try running my test
with -fno-ivopts. That got rid of the '-4' usage and I wound up getting
the code that I was after. I still hope someone can help me understand
why ivopts made the transformation it did though. I am afraid that just
turning off ivopts may have a larger affect then I am after.
Steve Ellcey
sell...@mips.com
void the '-4' offsets that are used.
Ideally, one would think that GCC should generate the same code
for both of these loops but it does not.
Steve Ellcey
sell...@mips.com
PENDENCIES flag in the haifa scheduler. As an experiment,
I added DONT_BREAK_DEPENDENCIES to the scheduling flags and it no longer
did that transformation.
Thanks.
Steve Ellcey
sell...@mips.com
I have an instruction scheduling question I was hoping someone could help me
with. Specifically, I am trying to figure out where and how GCC is deciding
to move the add of a constant to a register above the use of that register and
then changing the register usage by change the offsets associated
aused by
libgfortran/intrinsics/time_1.h defining localtime_r as a static function
(because HAVE_LOCALTIME_R is not set) after seeing a non-static definition
from include/time.h (part of newlib).
As anyone run into this or know how to fix it?
Steve Ellcey
sell...@mips.com
Is anyone else seeing this build failure with ToT GCC? I am
building the mips-mti-linux-gnu target on an x86 linux box and
the libgcc build fails because the newly built GCC is dying.
Before I try to figure out which patch broke this I wanted to see
if anyone already knows about it.
Steve
using gimple_duplicate_sese_region as is.
Comments?
Steve Ellcey
sell...@imgtec.com
/* Alias analysis for GNU C
Copyright (C) 2013 Free Software Foundation, Inc.
Contributed by Steve Ellcey (sell...@imgtec.com).
This file is part of GCC.
GCC is free software; you can redistribute it and/or modi
rror: unrecognized command line option '-msellcey'
xgcc: error: unrecognized command line option '-mplugin'
xgcc: error: unrecognized command line option '-mdynopt.so'
Steve Ellcey
sell...@imgtec.com
I tried putting /home/sellcey/plugin/dynopt.so in single quotes, that
did not help either.
Steve Ellcey
sell...@imgtec.com
erate everything before doing the second block but that didn't seem
to work.
Steve Ellcey
sell...@imgtec.com
the dominator information so it gets
recalculated from scratch or something like that?
Steve Ellcey
sell...@imgtec.com
On Wed, 2013-04-24 at 15:54 -0700, Steve Ellcey wrote:
>
> /* Copy the basic block that is the destination block of orig_edge, then
>modify/replace the edge in orig_edge->src basic block with a new edge
>that goes to the new block. Fix up any PHI nodes that may need to
On Wed, 2013-04-24 at 14:31 -0600, Jeff Law wrote:
> On 04/24/2013 11:38 AM, Steve Ellcey wrote:
> Just do duplicate_block (B, NULL, NULL)
>
> Then I'd remove the switch statement and the outgoing edges from B'
> except the edge B'->C.
>
>
er my pass has changed the code. I think I need to do more to fix
any PHI nodes in B and B' but I am not sure what. I also notice that
copy_bbs in cfghooks (which calls duplicate_block) has calls to
get_immediate_dominator and set_immediate_dominator, maybe I need to
copy that code as well?
Steve Ellcey
sell...@imgtec.com
and block 3, and there is an edge
from 8 to 3, does copy_bbs automatically create a new edge pointing from the
copy of block 8 to block 3 and replace that in the copied blocks? I think it
does, but I am not sure.
Steve Ellcey
sell...@imgtec.com
Output from the test program using my new optim
node? Or could the block with the definition be an
indirect predecessor of the block with the phi? Does it matter what
pass in the compiler I am at? I.e. maybe they start out as direct
predecessors and various optimizations could change that.
Steve Ellcey
sell...@imgtec.com
On Fri, 2013-03-22 at 13:00 -0600, Jeff Law wrote:
> There's a BZ for this issue with a bit more state for this issue.
>
> jeff
Found it. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742
Steve Ellcey
sell...@imgtec.com
re into
the GCC implementation and what constraints there are and why they
prevent its use in CoreMark.
Steve Ellcey
sell...@imgtec.com
each block on this path
to make sure it doesn't change the value of 's' since there may be paths
that change 's' as well as paths that don't.
Does anyone have any ideas on a more efficient way to find the paths I am
looking for or have any other comments on this optimization?
Steve Ellcey
sell...@imgtec.com
memory while
having GCC recognize that they are not 'normal' registers that you can
do operations on and should not be part of the normal register
allocation scheme.
Steve Ellcey
per speed testing. In the end I'm afraid I just let it drop.
>
> Thanks,
> Richard
I'll try your patch on some of my benchmarks and see what happens.
One interesting thing I have noticed (sizewise) is that not using t0-t7
at all in MIPS16 code resulted in a code size reduction of around 1%.
Steve Ellcey
was wondering why we don't use something like ARM has.
I.e.:
const int mips_reg_alloc_order[] = REG_ALLOC_ORDER;
memcpy(reg_alloc_order, mips_reg_alloc_order, sizeof (reg_alloc_order));
Steve Ellcey
sell...@imgtec.com
f we
should change GCC in someway to make the _MIPS_ISA macro more useful.
Or should we just ignore this macro and get people to use __mips or one
of the other macros instead?
Steve Ellcey
steve.ell...@imgtec.com (Previously sell...@mips.com)
g directory
`/local/home/sellcey/gcc/libatomic/obj-mips-mti-linux-gnu/gcc/final/mips-mti-linux-gnu/libatomic'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory
`/local/home/sellcey/gcc/libatomic/obj-mips-mti-linux-gnu/gcc/final/mips-mti-linux-gnu/libatomic'
make: *** [che
gnu target
but not with the mips-mti-elf target. I don't see what difference in
these targets is causing the difference in behaviour.
Does anyone know what routines or variables I should be looking at?
Steve Ellcey
sell...@mips.com
bug instructions but Jakub Jelinek thought
that that was not fixing the real bug but compensating for another
problem. He was right and that other problem is the variable tracking /
delay slot conflict.
Steve Ellcey
sell...@mips.com
the basis of
bug 54128, a bootstrap failure on MIPS, though the problem seems generic
to any system with delay slots.
Steve Ellcey
sell...@mips.com
registers so I think gcc should just not put out
any debug information for this register variable. Is that
possible? I couldn't find anyway to do it in GCC. Or should
GCC just put out the register number for DBX_REGISTER_NUMBER
instead of INVALID_REGNUM even if gdb may choke on it?
Steve Ellcey
sell...@mips.com
an mode, the original bug was found on a little-endian system.
Any advice or help?
Steve Ellcey
sell...@mips.com
want using explicit or default flag settings.
Steve Ellcey
sell...@mips.com
On Tue, 2012-06-19 at 20:59 +, Joseph S. Myers wrote:
> On Tue, 19 Jun 2012, Steve Ellcey wrote:
>
> > I am building a multilib mips compiler using '--with-synci' on the
> > configure line. This means that gcc will pass the '-msynci' option
> >
uld like a MULTILIB_EXTRA_OPTS type variable that could add
extra flags to some multilib versions but not others. That doesn't
seem to exist though.
Anyone have any ideas on how to deal with this problem?
Steve Ellcey
sell...@mips.com
AC_PROG_CPP_WERROR in config/acx.m4 and I see it sets
ac_c_preproc_warn_flag to 'yes' but it is not clear to me what affect
that has in the configure script, if any.
I would be happy to submit a patch for this, I am just not sure what
the right fix is.
Steve Ellcey
sell...@mips.com
e prepended
> special switch or after the appended special switch comes from the driver.
Yuck. I think that suppressing the warning is the right thing to do,
but I am not sure it is worth this much effort. Changing the testsuite
is easier.
Steve Ellcey
sell...@mips.com
cause the driver added it, even though it is
not on the users gcc command line and I cannot tell if the user had
-msynci on his or her GCC command line or if the driver added it automatically.
Does anyone have any ideas on telling the two cases apart?
Steve Ellcey
sell...@mips.com
On Wed, 2012-05-30 at 14:27 -0400, David Edelsohn wrote:
> On Wed, May 30, 2012 at 1:39 PM, Steve Ellcey wrote:
> >
>
> > My question is: When checking the value of TARGET_SYNCI is there anyway
> > to tell if the flag was set explicitly by the user or implicitly by
>
"the %qs architecture does not support the synci "
"instruction", mips_arch_info->name);
target_flags &= ~MASK_SYNCI;
}
Ideally, this warning should only be printed if the user explicitly asked
for -msynci, not if -msynci was merely set as the default. But I
On Tue, 2011-03-01 at 13:45 -0800, Ian Lance Taylor wrote:
> Steve Ellcey writes:
>
> > According to PR 20095 the reason for not implementing
> > __gcc_personality_v0 is that the HP unwind library does not implement
> > _UA_END_OF_STACK which is a GCC extension to
t so the only way
to implement __gcc_personality_v0 is to use the GCC libunwind instead of
the HP-UX system one.
Steve Ellcey
s...@cup.hp.com
On Tue, 2011-03-01 at 10:14 +1000, Richard Henderson wrote:
> On 03/01/2011 09:27 AM, Steve Ellcey wrote:
> > The libgcc_s on the ia64-hp-hpux* platform, at least when built using
> > the system unwind library, does not have a gcc personality function and
> > so far it has not
h
the use of lhd_gcc_personality.
Steve Ellcey
s...@cup.hp.com
On Sat, 2011-02-26 at 18:45 +0100, Richard Guenther wrote:
> On Sat, Feb 26, 2011 at 12:22 AM, Steve Ellcey wrote:
> >
> > I am looking at an lto bug on ia64-hp-hpux11.23. If I compile
> > g++.dg/torture/pr33572.C with -flto on this platform I get:
> >
so I don't understand why I am getting the error in the
standard -flto case.
Does anyone have any ideas on what I should look at to understand this
problem?
I get this on a few other -flto programs, but not on all of them.
Steve Ellcey
s...@cup.hp.com
eck for TARGET_AUTO_PIC so
this could simplify the logic.
Steve Ellcey
s...@cup.hp.com
I don't see any other
tests in gcc.c-torture/execute that use this directive.
Steve Ellcey
s...@cup.hp.com
lted in a ICE in expand_expr_real_1. Any attempts to
change this function (or the address_mode function) seem to affect
other areas of the compilation and result in various ICE failures.
Any comments on the working patch or on where this change should
be made?
Steve Ellcey
s...@cup.hp.com
On Wed, 2010-05-05 at 10:42 -0700, H.J. Lu wrote:
> On Wed, May 5, 2010 at 10:18 AM, Steve Ellcey wrote:
> >
> > I was wondering if anyone has built GCC using a CFLAGS (and CXXFLAGS)
> > setting
> > that causes GCC to generate code that is not compatibile with
On Thu, 2010-05-06 at 00:36 +0100, Dave Korn wrote:
> On 05/05/2010 18:18, Steve Ellcey wrote:
>
> > During the build libiberty is built in 64 bit mode
>
> But *which* libiberty? Host, build, or target?
That is a good question. I am building in obj and I have:
obj/lib
don't have this problem.
Steve Ellcey
s...@cup.hp.com
e|data1)\[^\n\]*0x3\[^\n\]*
DW_AT_inline" 3 } } */
I'll let it run tonight on my other platforms to make sure it works on
more then IA64 HP-UX before submitting it.
Steve Ellcey
s...@cup.hp.com
entical. This must be a bug in the scan-assembler-times code somewhere.
Steve Ellcey
s...@cup.hp.com
On Tue, 2009-10-27 at 02:09 -0400, Kaveh R. GHAZI wrote:
> On Mon, 26 Oct 2009, Steve Ellcey wrote:
>
> > I have tried:
> > /* { dg-final { scan-assembler-times "(byte|data1).*?0x3.*? DW_AT_inline" 3
> > } } */
> > /* { dg-final { scan-assembler-times &quo
pes, parenthesis, etc but cannot get any of them
to work. Does anyone know what this RE should look like to allow 'byte'
or 'data1' in the string? It seems to break as soon as I introduce
parenthesis anywhere in the RE.
Steve Ellcey
s...@cup.hp.com
Is gcc61 running HP-UX or Linux? I haven't seen any hangs in
my hppa HP-UX testing. I don't do any hppa Linux testing.
Steve Ellcey
s...@cup.hp.com
nts a warning message
about not understanding -rdynamic but still runs and creates an
object file. Thus the configure script thinks the HP linker does
know about the -rdynamic flag and continues to use it (resulting
in more warnings during the GCC build).
Any ideas on how to address this?
Steve Ellcey
s...@cup.hp.com
n's complaint about an indirect function call but it
still means that the decision to do or not do var_tracking is kept in a
single variable that might or might not need to be overridden in some
case. But I guess in your proposal something in the opt file would tell
us if we want to override the default behaviour for var_tracking and
generate the code that would change it's value from the default.
Steve Ellcey
s...@cup.hp.com
On Fri, 2009-05-29 at 09:38 -0700, Ian Lance Taylor wrote:
> Steve Ellcey writes:
>
> > So instead of
> > if (flag_var_tracking)
> > we would have
> > if (targetm.get_optimization_flag_value(OPT_fvar_tracking))
>
> I don't particularly want
ld either do it with a big bang approach
(making flags static and change all accesses) or gradually by not making
the flags static and gradually introducing the use of the
get_optimization_flag_value function over time.
2009-05-29 Steve Ellcey
PR middle-end/37565
PR target/37106
emoving the sed from my build environment
(causing it to use /usr/bin/sed) or should we could change fixincl to
default to using path to find sed if the configured one can't be found?
Steve Ellcey
s...@cup.hp.com
nd later. These systems may provide stdint.h. I don't have
> access to a machine with 11.31 or later.
I think all 11.23 systems should have stdint.h too. It is only 11.11 and
older systems that do not have stdint.h. I don't have any 11.00 systems
anymore but I am currently looking at 11.11.
I got your patch and will compare that with what I have and see if I can
merge the two.
Steve Ellcey
s...@cup.hp.com
101 - 200 of 310 matches
Mail list logo