Displaying 3 results from an estimated 3 matches for "somebb".
2017 Nov 15
2
CFG normalization: avoiding `br i1 false`
> I'm not necessarily sympathetic to the idea of adding another canonicalization pass only for this purpose.
The problem is that as you said, SimplifyCfg does all sorts of stuff,
and I suspect is not the fastest pass in the world.
Also, in the case that annoys me, there is an LCSSA pass in the
middle, and I suspect it would be a better idea to only do the LCSSA
etc. transform again if no
2017 Nov 29
3
CFG normalization: avoiding `br i1 false`
...native SSAupdater proposed solves this problem using the
> novel algorithm from Braun et al. linked in the review
> https://reviews.llvm.org/D28934
> It still has the problem that if leaves redundant phis around at the
> beginning of the block, e.g.
>
> %patatino1 = phi [ %tinky, %somebb, %winky, %someotherbb ]
> %patatino2 = phi [ %tinky, %somebb, %winky, %someotherbb ]
>
> The current SSA updater pays a (sometimes high) cost to perform this
> deduplication/removal (actually, checks whether there's already a PHI,
> and if not inserts one).
>
> --
> Davi...
2013 Sep 17
4
[LLVMdev] Is it safe to insert instructions in batches into BBs?
...BBs.
What I do is similar to this:
IRBuilder<> IB(Context);
Vector.push_back(IB.CreateXXX());
Vector.push_back(IB.CreateXXX());
Vector.push_back(IB.CreateXXX());
...
// Other stuff
for (SmallVectorImpl<Instruction*>::iterator I = Vector.begin(), E =
Vector.end(); I != E; ++I) {
SomeBB->getInstList().insert(SomeInstruction, *I);
}
If I add the instructions like this I get strange results. It's like if
llvm gets corrupted or something similar, because in the backend strange
things happen, like MCRegisterInfo returning wrong register aliasing
information in a random fas...