Skip to content
This repository has been archived by the owner on Mar 15, 2022. It is now read-only.

Reader: support the just my code feature #272

Closed
AndyAyersMS opened this issue Mar 10, 2015 · 0 comments · Fixed by #382
Closed

Reader: support the just my code feature #272

AndyAyersMS opened this issue Mar 10, 2015 · 0 comments · Fixed by #382

Comments

@AndyAyersMS
Copy link
Member

See this TODO

AndyAyersMS added a commit to AndyAyersMS/llilc that referenced this issue Mar 31, 2015
This addresses a couple of issues seen in the Roslyn bring-up.

`IsPointNode` is used to mark blocks that don't contain ranges of expanded MSIL instructions.
We'd already introduced this notion implicitly for conditional deref/helper flow and now we track
this explicitly per-block.

In `readerPrePass`, split the current block after the parameter stores and local allocas and other
"run once on entry to the method" IR. The continuation block from this split is the block that corresponds
to MSIL offset 0 and is also the target of branches back to offset 0. Mark all the blocks before this
continuation as point blocks so later processing skips over them. Implement the initial skipping logic in `fgPrePhase`.

Implement the just my code hook, which requires a conditional branch in this "entry IR" sequence.

Closes dotnet#272, closes dotnet#372.
AndyAyersMS added a commit to AndyAyersMS/llilc that referenced this issue Mar 31, 2015
This addresses a couple of issues seen in the Roslyn bring-up.

In `readerPrePass`, split the current block after the parameter stores and local allocas and other
"run once on entry to the method" IR. The continuation block from this split is the block that corresponds
to MSIL offset 0 and is also the target of branches back to offset 0. Remember this block and
in `fgPrePhase` skip over any blocks that come before it in the flow graph block list.

Implement the just my code hook, which requires a conditional branch in this "entry IR" sequence.

Closes dotnet#272, closes dotnet#372.
AndyAyersMS added a commit to AndyAyersMS/llilc that referenced this issue Mar 31, 2015
This addresses a couple of issues seen in the Roslyn bring-up.

In `readerPrePass`, split the current block after the parameter stores and local allocas and other
"run once on entry to the method" IR. The continuation block from this split is the block that corresponds
to MSIL offset 0 and is also the target of branches back to offset 0. Remember this block and
in `fgPrePhase` skip over any blocks that come before it in the flow graph block list.

Implement the just my code hook, which requires a conditional branch in this "entry IR" sequence.

Closes dotnet#272, closes dotnet#372.
AndyAyersMS added a commit to AndyAyersMS/llilc that referenced this issue Mar 31, 2015
This addresses a couple of issues seen in the Roslyn bring-up.

In `readerPrePass`, split the current block after the parameter stores and local allocas and other
"run once on entry to the method" IR. The continuation block from this split is the block that corresponds
to MSIL offset 0 and is also the target of branches back to offset 0. Remember this block and
in `fgPrePhase` skip over any blocks that come before it in the flow graph block list.

Implement the just my code hook, which requires a conditional branch in this "entry IR" sequence.

Closes dotnet#272, closes dotnet#372.
AndyAyersMS added a commit to AndyAyersMS/llilc that referenced this issue Apr 1, 2015
This addresses a couple of issues seen in the Roslyn bring-up.

In `readerPrePass`, split the current block after the parameter stores and local allocas and other
"run once on entry to the method" IR. The continuation block from this split is the block that corresponds
to MSIL offset 0 and is also the target of branches back to offset 0. Remember this block and
in `fgPrePhase` return it as the first block to use when expanding MSIL to IR.

Implement the just my code hook, which requires a conditional branch in this "entry IR" sequence.

Closes dotnet#272, closes dotnet#372.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant