search for: insertat

Displaying 7 results from an estimated 7 matches for "insertat".

Did you mean: insertar
2019 Feb 21
2
How to get Greedy RA to not spill results of trivially rematerializable instructions
...Greedy to simply duplicate the trivially rematerializable instruction at every reload site? Perhaps this is something it would need to query the target for? Perhaps Greedy would be able to call something like TargetInstrInfo::rematerializeValue(MachineInstr &RematMI, MachineBasicBlock::iterator InsertAt) or something along those lines? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190220/ca8b7cf5/attachment.html>
2019 Feb 21
2
How to get Greedy RA to not spill results of trivially rematerializable instructions
...licate the trivially rematerializable instruction at > every reload site? Perhaps this is something it would need to query the > target for? Perhaps Greedy would be able to call something like > TargetInstrInfo::rematerializeValue(MachineInstr &RematMI, > MachineBasicBlock::iterator InsertAt) or something along those lines? > > _______________________________________________ > > LLVM Developers mailing list > > llvm-dev at lists.llvm.org > > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > -------------- next part -------------- An HTML attachm...
2019 Feb 21
2
How to get Greedy RA to not spill results of trivially rematerializable instructions
...Greedy to simply duplicate the trivially rematerializable instruction at every reload site? Perhaps this is something it would need to query the target for? Perhaps Greedy would be able to call something like TargetInstrInfo::rematerializeValue(MachineInstr &RematMI, MachineBasicBlock::iterator InsertAt) or something along those lines? > > _______________________________________________ > > LLVM Developers mailing list > > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <https://lists.llvm....
2019 Feb 22
2
How to get Greedy RA to not spill results of trivially rematerializable instructions
...zable instruction at >>> every reload site? Perhaps this is something it would need to query the >>> target for? Perhaps Greedy would be able to call something like >>> TargetInstrInfo::rematerializeValue(MachineInstr &RematMI, >>> MachineBasicBlock::iterator InsertAt) or something along those lines? >>> > _______________________________________________ >>> > LLVM Developers mailing list >>> > llvm-dev at lists.llvm.org >>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >>> > __...
2018 Nov 10
3
[RFC] Tablegen-erated GlobalISel Combine Rules
...ombine algorithm. > > Controlling the insertion point to address loads like in your example above could be done quite naturally if the MIR is expressed in a DAG: > > def : GICombineRule< > (match (G_LOAD $tmp, $ptr):$load, > (G_SEXT $dst, $tmp)), > (apply (insertat $load), > (G_SEXTLOAD $dst, $ptr))>; This isn't quite the same thing as the extending loads combine in the example. In that combine, it's matching the load and all uses of its result and chosing a replacement based on the global usage of that def across the whole function,...
2018 Nov 09
5
[RFC] Tablegen-erated GlobalISel Combine Rules
Hi All, I've been working on the GlobalISel combiner recently and I'd like to share the plan for how Combine Rules will be defined in GlobalISel and solicit feedback on it. This email ended up rather long so: TL;DR: We're planning to define GlobalISel Combine Rules using MIR syntax with a few bits glued on to interface with the algorithm and escape into C++ when we need to.
2018 Nov 12
3
[RFC] Tablegen-erated GlobalISel Combine Rules
...the insertion point to address loads like in your example above could be done quite naturally if the MIR is expressed in a DAG: >>> >>> def : GICombineRule< >>> (match (G_LOAD $tmp, $ptr):$load, >>> (G_SEXT $dst, $tmp)), >>> (apply (insertat $load), >>> (G_SEXTLOAD $dst, $ptr))>; >> This isn't quite the same thing as the extending loads combine in the example. In that combine, it's matching the load and all uses of its result and chosing a replacement based on the global usage of that def across the...