Displaying 7 results from an estimated 7 matches for "mri_".
Did you mean:
mri
2009 Jul 17
2
[LLVMdev] Bug in LiveIntervals? Please Examine
In LiveIntervals::processImplicitDefs() we have this:
for (MachineRegisterInfo::use_iterator UI = mri_->use_begin(Reg),
UE = mri_->use_end(); UI != UE; ) {
MachineOperand &RMO = UI.getOperand();
MachineInstr *RMI = &*UI;
++UI;
MachineBasicBlock *RMBB = RMI->getParent();
if (RMBB == MBB)
continue;
const TargetRegi...
2009 Jul 17
0
[LLVMdev] Bug in LiveIntervals? Please Examine
On Jul 17, 2009, at 7:57 AM, David Greene wrote:
> In LiveIntervals::processImplicitDefs() we have this:
>
> for (MachineRegisterInfo::use_iterator UI = mri_->use_begin(Reg),
> UE = mri_->use_end(); UI != UE; ) {
> MachineOperand &RMO = UI.getOperand();
> MachineInstr *RMI = &*UI;
> ++UI;
> MachineBasicBlock *RMBB = RMI->getParent();
> if (RMBB == MBB)
> contin...
2010 Sep 13
2
[LLVMdev] Multi-class register allocatable only in one class
...src>
where src was allocated to register A will make dst be allocated also
to A, even when it was defined as not allocatable in .td files.
This is due to the checking in RegAllocLinearScan:1004
if (Reg && allocatableRegs_[Reg] && RC->contains(Reg))
mri_->setRegAllocationHint(cur->reg, 0, Reg);
where "allocatableRegs_" is calculated during pass init, and ignores
register class. I think this should be changed to:
if (Reg && (tri_->getAllocatableSet(*mf_, RC))[Reg] && RC-
>contains(Reg))...
2007 Jul 13
0
[LLVMdev] [PATCH] Re: Pluggable Register Coalescers
...SimpleRegisterCoalescing : public MachineFunctionPass {
+ class RegisterAllocator;
+
+ class SimpleRegisterCoalescing : public MachineFunctionPass,
+ public RegisterCoalescer {
MachineFunction* mf_;
const TargetMachine* tm_;
const MRegisterInfo* mri_;
@@ -45,10 +50,35 @@
/// with other intervals.
BitVector JoinedLIs;
+ /// didWork - Tell whether we have run on this function already.
+ /// This allows the coalescer to either run independently or from
+ /// within a register allocator.
+ typedef std::map<const MachineFu...
2007 Jul 11
3
[LLVMdev] Pluggable Register Coalescers
On Jul 11, 2007, at 11:39 AM, David Greene wrote:
> On Wednesday 11 July 2007 12:41, Tanya M. Lattner wrote:
>
>> I think the coalescer should be flexible enough to be run
>> independent of
>> the register allocator. For example, you may want to expose the
>> copies
>> induced by transforming out of SSA to the scheduler. If the
>> scheduler is
2017 Nov 28
1
Expose aliasing information in getModRefInfo (or viceversa?)
...> ’t know enough about this specific code to help with this respect.
>>
>>
>>
>> My concern was with the users of getModReg(). In your new proposal,
>> doing & on the result of getModRef() may yield unexpected results.
>>
>> E.g., “getModRef() & MRI_MustMod != 0” doesn’t imply that the
>> instruction will write because the result might have been MRI_Mod (=
>> NoModRef | MustMod).
>>
>> As long as this fact is properly document, I’m good :) (btw, thanks for
>> fixing the documentation of the old MRI_* values; it wa...
2017 Oct 10
4
Expose aliasing information in getModRefInfo (or viceversa?)
...ith a, you can
>> actually clone foo here, change it to be pass-by-value, and promote the
>> argument inside of it (if you wanted to).
>>
>> So you can use this info to, for example, do interprocedural promotion.
>>
>>
>>> Are we instead looking to set a MRI_Must bit, disjunct of MRI_Mod, and
>>> test for MRI_Ref&MRI_Must or MRI_Mod&MRI_Must?
>>>
>>
>> Yes.
>>
>
> I didn't mean to pick on the example, sorry if that's how it came through.
>
> Since the consensus is to expose the Must info in...