[PATCH] D30438: SplitKit: Correctly implement partial copies

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 14 14:31:21 PDT 2017


rampitec accepted this revision.
rampitec added inline comments.
This revision is now accepted and ready to land.


================
Comment at: lib/CodeGen/VirtRegMap.cpp:384
+
+  if (MI.isBundledWithPred() && !MI.isBundledWithSucc()) {
+    // Only do this when the complete bundle is made out of COPYs.
----------------
MatzeB wrote:
> rampitec wrote:
> > MatzeB wrote:
> > > rampitec wrote:
> > > > I think it can break something which was bundled not by SplitKit. I wish we could mark these somehow... It will not happen now because we do not use bundles, but potentially a problem. Maybe insert some sort of a marker into the bundle or slot, or create a new MIFlag? Ideally of course it shall not use bundles just to keep LIS correct :(
> > > I was hoping that targets would always use a target specific bundle header instructions, so this would be the only situation in which we have a headerless bundle. Admittedly this is somewhat weak, but I hoped we can delay this discussion until we actually have targets using bundles pre-regalloc more.
> > Its almost the moment I'm thinking of adding it ;) It will not be all copy though.
> But do you plan to use bundles without a "header" (i.e. the first instruction is not some target-specific instruction that describes the type of the bundle?)
OK, agree, I do not.


Repository:
  rL LLVM

https://reviews.llvm.org/D30438





More information about the llvm-commits mailing list