Displaying 7 results from an estimated 7 matches for "ehpad".
2020 Jun 17
2
InstCombine doesn't delete instructions with token
Yes, it's still respected in this case, as the only instructions that will
be deleted have been RAUW with undef.
Originally, all instructions where RAUW but only non-EHPad were deleted
(that means EHPad were RAUW but not deleted).
Then it was later patched by not RAUW token instructions and now not
deleting EHPad nor token instructions.
My assumption is that the instructions we wanted to avoid RAUW were only
the EHPad, not all the token instructions.
So I'm chan...
2020 Jun 17
2
InstCombine doesn't delete instructions with token
...quicinc.com> wrote:
> There’s no such thing as an “undef” token; you’ll get an assertion if you
> try to create one. There is “none”, but the verifier will fail in some
> cases if it sees a “none” token.
>
>
>
> In terms of actually erasing instructions, it’s specifically EHPad we
> can’t erase: unwind edges are required to have an EHPad instruction, so
> erasing them requires modifying the block’s predecessors. We don’t need to
> keep an intrinsic call with no uses that produces a token result.
>
>
>
> -Eli
>
>
>
> *From:* Alexandre Isoa...
2020 Jun 17
2
InstCombine doesn't delete instructions with token
...next to last instruction.
Instruction *Inst = &*--EndInst->getIterator();
- if (!Inst->use_empty())
+ if (!Inst->use_empty() && !Inst->getType()->isTokenTy())
Inst->replaceAllUsesWith(UndefValue::get(Inst->getType()));
- if (Inst->isEHPad()) {
+ if (Inst->isEHPad() || Inst->getType()->isTokenTy()) {
EndInst = Inst;
@@ -3022,7 +3022,8 @@ static bool prepareICWorklistFromFunction(Function
&F, const DataLayout &DL,
++NumDeadInst;
MadeIRChange = true;
}
Inst->eraseFromPar...
2020 Aug 10
2
[RFC] Machine Function Splitter - Split out cold blocks from machine functions using profile data
>Exceptions
>All eh pads are grouped together regardless of their coldness and are part of the original function. There are outstanding issues with splitting eh pads if they reside in separate sections in the binary. This remains as part of future work.
Can you elaborate more on the outstanding issues with splitting eh pads?
From my dip into the unwind map in gcc_except_table the
2020 Jul 11
3
is a MachineBasicBlock a kind of superblock?
MachineBasicBlock allows for multiple terminators. Unconditional branches
and returns are marked as terminators; the MIPS backend also marks
conditional branches as terminators. The MachineBasicBlock then has a
helper function getFirstTerminator which iterates from the first terminator
to the end of the MBB.
So it seems to me that an MBB is a kind of superblock, single entrance and
multiple side
2019 Jun 27
1
[RFC] ASM Goto With Output Constraints
+ CBL mailing list
On Thu, Jun 27, 2019 at 11:08 AM Bill Wendling <isanbard at gmail.com> wrote:
> [Adding the correct cfe-dev mailing list address.]
>
> On Thu, Jun 27, 2019 at 11:06 AM Bill Wendling <isanbard at gmail.com> wrote:
>
>> Now that ASM goto support has landed, Nick Desaulniers and I wrote up a
>> document describing how to expand clang's
2019 Jun 27
5
[RFC] ASM Goto With Output Constraints
[Adding the correct cfe-dev mailing list address.]
On Thu, Jun 27, 2019 at 11:06 AM Bill Wendling <isanbard at gmail.com> wrote:
> Now that ASM goto support has landed, Nick Desaulniers and I wrote up a
> document describing how to expand clang's implementation of ASM goto to
> support output constraints. The work *should* be straight-forward, but as
> always will need to