This is the mail archive of the gcc-help@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: inserting prefetch instructions in ssa


On 4/4/07, George Caragea <george@cs.umd.edu> wrote:
Hi all,
I've been trying to add a pass in GCC 4.0.2 which is targeted for a
MIPS-like architecture (with small changes). The purpose of the pass is
to add prefetch instructions for some array references.

After I identify a MODIFY_EXPR which is a read from an array location,
I'm having trouble getting gcc to insert a prefetch instruction for it.
I've been trying to follow the same pattern as in
tree-ssa-loop-prefetch.c, which I got from the gcc-svn version. However,
it doesn't work, and Im not sure if it's because of the differences in
versions, or because I'm doing something wrong.

The output I get when I compile a program is:
===
In force_gimple_operand_bsi, inserting statements: D.1109_4 = &B[i_8];
The prefetch instr generated is: __builtin_prefetch (D.1109_4, 0);
done inserting
XMTS.simple32.c:6: internal compiler error: tree check: expected
ssa_name, have var_decl in verify_ssa, at tree-ssa.c:679

You need to mark these variables for renaming. In 4.3 you'd just use mark_new_vars_for_renaming. I don't remember what you use in 4.0 (in general, it is never a good idea to do new work against anything but the development version of gcc)


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