search for: setregmask

Displaying 9 results from an estimated 9 matches for "setregmask".

2016 May 28
2
Updating RegMask inline
static void setXXX(MachineInstr &MI, ...) { for (MachineOperand &MO : MI.operands()) { if (MO.isRegMask()) MO.setRegMask(...); } } > On May 27, 2016, at 7:02 PM, vivek pandya via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > > > On Sat, May 28, 2016 at 7:29 AM, Matthias Braun <matze at braunis.de <mailto:matze at braunis.de>> wrote: > >> On May 27, 2016, at 6:55 PM,...
2016 May 28
0
Updating RegMask inline
On Sat, May 28, 2016 at 7:33 AM, Matthias Braun <matze at braunis.de> wrote: > static void setXXX(MachineInstr &MI, ...) { > for (MachineOperand &MO : MI.operands()) { > if (MO.isRegMask()) > MO.setRegMask(...); > } > } > > Ok this is what Mehdi Amini suggested. I will do that, but just to note this will add method to MO so this change is not completely contained in IPRA files. Vivek > On May 27, 2016, at 7:02 PM, vivek pandya via llvm-dev < > llvm-dev at lists.llvm.org> wrot...
2016 May 28
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...ass that iterates through each registers and check if it is used or not and based on that details create a RegMask and a target specific machine function pass that uses the RegMask created by second pass and propagates information by updating call instructions RegMask. To update the RegMask of MI , setRegMask() function has been added to MachineOperand, a command line option -enable-ipra and debug type -debug-only=“ipra" has been added to control the optimization through llc. Testing: ===== The above mentioned implementation has been tested over SNU-Real-Time benchmark suit (http://www.cprover.org...
2016 Jun 12
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...ters and check if it is used or not and based on that >> details create a RegMask and a target specific machine function pass that >> uses the RegMask created by second pass and propagates information by >> updating call instructions RegMask. To update the RegMask of MI , >> setRegMask() function has been added to MachineOperand, a command line >> option -enable-ipra and debug type -debug-only=“ipra" has been added to >> control the optimization through llc. >> >> Testing: >> ===== >> The above mentioned implementation has been tested over...
2016 Jun 20
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...lt; "Call Instruction Before Register Usage Info Propagation : \n"); DEBUG(dbgs() << MI << "\n"); auto UpdateRegMask = [&](const Function *F) { const auto *RegMask = PRUI->getRegUsageInfo(F); if (!RegMask) return; setRegMask(MI, &(*RegMask)[0]); Changed = true; }; MachineOperand &Operand = MI.getOperand(0); if (Operand.isGlobal()) UpdateRegMask(cast<Function>(Operand.getGlobal())); else if (Operand.isSymbol()) UpdateRegMask(M->getFunction(Operand.getSymb...
2016 Jun 19
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...that >>>>> details create a RegMask and a target specific machine function pass that >>>>> uses the RegMask created by second pass and propagates information by >>>>> updating call instructions RegMask. To update the RegMask of MI , >>>>> setRegMask() function has been added to MachineOperand, a command line >>>>> option -enable-ipra and debug type -debug-only=“ipra" has been added to >>>>> control the optimization through llc. >>>>> >>>>> Testing: >>>>> ===== >...
2016 Jun 15
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...f it is used or not and based on that >>> details create a RegMask and a target specific machine function pass that >>> uses the RegMask created by second pass and propagates information by >>> updating call instructions RegMask. To update the RegMask of MI , >>> setRegMask() function has been added to MachineOperand, a command line >>> option -enable-ipra and debug type -debug-only=“ipra" has been added to >>> control the optimization through llc. >>> >>> Testing: >>> ===== >>> The above mentioned implementat...
2016 May 28
0
Updating RegMask inline
...ethod "setOperandMask()" in class MachineOperand, and then when >>> you find a call you just walk all the operands till you find one which >>> "isRegMask()" at which point you can update it. >>> >>> Ok. >> > > Is it ok to add "setRegMaskOperand()" in class MI and looping through > operands to find RegMask is also included in method ? > -Vivek > > > I expect your code to be the only user of such a function so I would not > add it to MachineInstr but keep the code local in your pass for now (you > can add a...
2016 May 28
3
Updating RegMask inline
...egMask in various other class. > > Add a method "setOperandMask()" in class MachineOperand, and then when you find a call you just walk all the operands till you find one which "isRegMask()" at which point you can update it. > > Ok. > > Is it ok to add "setRegMaskOperand()" in class MI and looping through operands to find RegMask is also included in method ? > -Vivek I expect your code to be the only user of such a function so I would not add it to MachineInstr but keep the code local in your pass for now (you can add a static helper function in th...