Displaying 4 results from an estimated 4 matches for "addregisterdead".
2010 Aug 17
1
[LLVMdev] What is the meaning of addRegisterDead function
Now I am writing a simulator by llvm IR. That is really a wonderful
tools for us. Now I use gprof try to
find the bottleneck of the simulator, the output as the following. And
I found addRegisterDead of llvm
is called too much. What is the functionality of addRegisterDead?
I try to understand it by reading the related code of llvm source but no idea.
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
5.16 0.33 0.33
llvm::M...
2017 Jun 27
4
Ok with mismatch between dead-markings in BUNDLE and bundled instructions?
...dead-marking on the BUNDLE is introduced by
LiveIntervals::computeDeadValues which does
// This is a dead def. Make sure the instruction knows.
MachineInstr *MI = getInstructionFromIndex(Def);
assert(MI && "No instruction defining live value");
MI->addRegisterDead(LI.reg, TRI);
and the reload after the BUNDLE is introduced by
InlineSpiller::spillAroundUses which has determined that the register is
live:
// Rewrite instruction operands.
bool hasLiveDef = false;
for (const auto &OpPair : Ops) {
MachineOperand &MO = OpPair.firs...
2017 Jun 27
5
Ok with mismatch between dead-markings in BUNDLE and bundled instructions?
...troduced by LiveIntervals::computeDeadValues which does
>>
>> // This is a dead def. Make sure the instruction knows.
>> MachineInstr *MI = getInstructionFromIndex(Def);
>> assert(MI && "No instruction defining live value");
>> MI->addRegisterDead(LI.reg, TRI);
>
> I think the actual problem here is that MachineInstr::addRegisterDead only works on a single instruction and not on the whole bundle.
>
> - Matthias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/...
2011 Dec 06
2
[LLVMdev] Dead register (was Re: [llvm-commits] [llvm] r145819)
On Mon, 2011-12-05 at 13:18 -0800, Jakob Stoklund Olesen wrote:
> On Dec 5, 2011, at 12:56 PM, Hal Finkel wrote:
>
> > RegScavenger is complaining about use of an undefined register, CTR8, in
> > the BCTR8 instruction, in the following instance (this is from the PPC
> > backend):
> >
> > BB#38: derived from LLVM BB %for.end50
> > Predecessors