search for: removefrombundle

Displaying 5 results from an estimated 5 matches for "removefrombundle".

2013 Feb 04
2
[LLVMdev] Asserts in bundleWithPred() and bundleWithSucc()
...old BUNDLE first, or unbundle it > from the instructions you are trying to finalize. This is exactly my point - I have to unbundle everything to re-bundle it back in :) ...but this case is trivial and I am OK with it. What is more unclear to me is this. How do you use Bundle.insert(I, MI->removeFromBundle()) Where MI == Bundle.End? This happens if I want to add unbundled instruction to a bundle that immediately precedes it in the same BB. The moment you remove MI from BB iterators will not work properly... and if you do not remove it first, MBB.insert(I, MI); will assert with: lib/CodeGen/Machine...
2013 Feb 04
0
[LLVMdev] Asserts in bundleWithPred() and bundleWithSucc()
...act, the machine code verifier also checks this invariant now. I changed MBB->splice() to not accept instr_iterators so what you're doing wouldn't be possible. It is hard to add enough assertions, though. To move instructions into a bundle, I recommend that you use MIBundleBuilder with removeFromBundle(): Bundle.insert(I, MI->removeFromBundle()) This way you can insert instructions at any position in a bundle without special casing the first and last positions. You can even have MIBundleBuilder represent an empty bundle. MBB->splice() is ambiguous when given an insert position between...
2013 Feb 04
2
[LLVMdev] Asserts in bundleWithPred() and bundleWithSucc()
Jakob, > The intention was to identify code that may have been converted from > the old style a little too quickly. I wanted to avoid bugs from a > global s/setIsInsideBundle/bundleWithPred/g search and replace. This is a good intent. Maybe a bit temporal but sound nevertheless. > finalizeBundle is calling 'MIBundleBuilder Bundle(MBB, FirstMI, > LastMI)' which ought to
2013 Feb 04
0
[LLVMdev] Asserts in bundleWithPred() and bundleWithSucc()
...>> from the instructions you are trying to finalize. > > This is exactly my point - I have to unbundle everything to re-bundle it > back in :) ...but this case is trivial and I am OK with it. What is more > unclear to me is this. > > How do you use Bundle.insert(I, MI->removeFromBundle()) > > Where MI == Bundle.End? > > This happens if I want to add unbundled instruction to a bundle that > immediately precedes it in the same BB. The moment you remove MI from BB > iterators will not work properly. Yes, that is a problem because MIBundleBuilder keeps an End ite...
2013 Feb 04
2
[LLVMdev] Asserts in bundleWithPred() and bundleWithSucc()
...ou are trying to finalize. > > > > This is exactly my point - I have to unbundle everything to re-bundle > > it back in :) ...but this case is trivial and I am OK with it. What > is > > more unclear to me is this. > > > > How do you use Bundle.insert(I, MI->removeFromBundle()) > > > > Where MI == Bundle.End? > > > > This happens if I want to add unbundled instruction to a bundle that > > immediately precedes it in the same BB. The moment you remove MI from > > BB iterators will not work properly. > > Yes, that is a problem be...