Re: Volatile Memory accesses in Branch Delay Slots

2017-07-25 Thread Jeff Law
on responsible for this behavior seems to be >> resource_conflicts_p in reorg.c. Sadly, I could not find any >> comments >> explaining why volatile accesses cannot be put into delay slots. >> >> What is the reason for this behavior? I am unable to think of any

Re: Volatile Memory accesses in Branch Delay Slots

2017-07-25 Thread Oleg Endo
cts_p in reorg.c. Sadly, I could not find any > comments  > explaining why volatile accesses cannot be put into delay slots. > > What is the reason for this behavior? I am unable to think of any  > situation where allowing volatile memory accesses in branch delay > slots  leads

Re: Volatile Memory accesses in Branch Delay Slots

2017-07-25 Thread Eric Botcazou
ion where allowing volatile memory accesses in branch delay slots > leads to problems. Am I missing a case? Or are negative effects limited > to other architectures? Delay slot filling is a code movement optimization and such optimizations are not valid for volatile memory accesses in the

Volatile Memory accesses in Branch Delay Slots

2017-07-25 Thread Jakob Wenzel
esses cannot be put into delay slots. What is the reason for this behavior? I am unable to think of any situation where allowing volatile memory accesses in branch delay slots leads to problems. Am I missing a case? Or are negative effects limited to other architectures? Regards, Jakob --

Re: Inserting NOP instructions and branch delay slots

2008-01-31 Thread Richard Sandiford
e no > instructions which can be used to fill the branch delay slots. My > first idea was to convert these control-flow cf to SEQUENCE(cf) and > hope the GCC will invoke DBR_OUTPUT_SEQEND(), but it does not? My > second idea was to add these NOP-instructions: SEQUENCE(cf, >

Inserting NOP instructions and branch delay slots

2008-01-31 Thread Boris Boesler
Hi! I have to insert NOP-instructions into the insn-stream in my back- end. I do this with something ala emit_insn_after(gen_nop, xyz). This works so far. GCC leaves control-flow operations as they are, if it there are no instructions which can be used to fill the branch delay slots. My

Re: branch delay slots

2007-12-12 Thread Richard Sandiford
Boris Boesler <[EMAIL PROTECTED]> writes: > Ok, I think I found it: GCC leaves control-flow operations as they > are, if it can not place other operations in branch delay slots > (represented as SEQUENCEs in GCC); or in other words: GCC does not > represent empty delay sl

Re: branch delay slots

2007-12-12 Thread Boris Boesler
Am 12.12.2007 um 16:21 schrieb Ian Lance Taylor: Boris Boesler <[EMAIL PROTECTED]> writes: I "implemented" branch delay slots (define_delay) for my architecture and I use the command line option -fdelayed-branch. But branch delay slot filling is done just for a few candidat

Re: branch delay slots

2007-12-12 Thread Eric Botcazou
> I "implemented" branch delay slots (define_delay) for my > architecture and I use the command line option -fdelayed-branch. But > branch delay slot filling is done just for a few candidates. Even for > the same rule within the same compilation unit (C file) it is done in

Re: branch delay slots

2007-12-12 Thread Ian Lance Taylor
Boris Boesler <[EMAIL PROTECTED]> writes: > I "implemented" branch delay slots (define_delay) for my > architecture and I use the command line option -fdelayed-branch. But > branch delay slot filling is done just for a few candidates. Even for > the same rule within