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


Daniel Berlin wrote:
On 4/4/07, George Caragea <george@cs.umd.edu> wrote:
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)

Thanks for the answer. Unfortunately I'm stuck with gcc-4.0.2 for now.


I couldn't find anything called "mark_new_vars_for_renaming" in the gcc-svn snapshot. The closest call was mark_symbols_for_renaming and mark_sym_for_renaming, is that what you meant?
In gcc-4.0.2, the only thing that looked related was "add_referenced_tmp_var", but that didn't do the trick. If I add that, I get an error saying:


XMTS.simple32.c:6: internal compiler error: in var_ann, at tree-flow-inline.h:34

Any ideas how I could get this to work with this version of gcc?

Thanks,
George


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