Displaying 5 results from an estimated 5 matches for "allcsrusesinentryblock".
2009 Mar 12
4
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...d modifiesRegister both scan the operands. It's
probably better to manually walk through the operands.
9.
+ // If all uses of CSRegs are in the entry block, there is nothing
+ // to shrink wrap: spills go in entry block, restores go in exiting
+ // blocks, turn off shrink wrapping.
+ if (allCSRUsesInEntryBlock) {
+ ShrinkWrapping = false;
+ DOUT << "All uses of CSRegs are in entry block, nothing to do.\n";
+ }
+ // If we have decided not to shrink wrap, just return now.
+ if (! ShrinkWrapping)
+ return true;
Why not just return inside if (allCSRUsesInEntryBlock)?
10.
+bool P...
2009 Mar 05
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
Here is an updated patch for shrink wrapping with:
- spills/restores done with stack slot stores/loads
- stack adjustment removed
- refactoring (but still in need of more)
- spill/restore insertion code unified with spill/restore placement code
Documentation available
here<http://wiki.github.com/jdmdj/llvm-work/shrink-wrapping-work>
illustrates shrink
wrapping with loops and discusses a
2009 Mar 03
2
[LLVMdev] Shrink Wrapping - RFC and initial implementation
On Mon, Mar 2, 2009 at 10:35 AM, Evan Cheng <echeng at apple.com> wrote:
>
> On Mar 1, 2009, at 2:57 PM, John Mosby wrote:
>
> Obviously, all of this applies only when spills are done with push/pop,
> which is the case on x86. I used this issue to start looking at generalizing
> how spills and restores are handled, before looking too closely at other
> targets, and
2009 Mar 13
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...de but could not decide which way to do it at
first.
> 9.
> + // If all uses of CSRegs are in the entry block, there is nothing
>
>
> + // to shrink wrap: spills go in entry block, restores go in exiting
>
>
> + // blocks, turn off shrink wrapping.
>
>
> + if (allCSRUsesInEntryBlock) {
>
>
> + ShrinkWrapping = false;
>
>
> + DOUT << "All uses of CSRegs are in entry block, nothing to do.\n";
>
>
> + }
>
>
> + // If we have decided not to shrink wrap, just return now.
>
>
> + if (! ShrinkWrapping)
>
>
&g...
2009 Mar 18
1
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...;
>>
>> 9.
>> + // If all uses of CSRegs are in the entry block, there is nothing
>>
>>
>> + // to shrink wrap: spills go in entry block, restores go in exiting
>>
>>
>> + // blocks, turn off shrink wrapping.
>>
>>
>> + if (allCSRUsesInEntryBlock) {
>>
>>
>> + ShrinkWrapping = false;
>>
>>
>> + DOUT << "All uses of CSRegs are in entry block, nothing to do.\n";
>>
>>
>> + }
>>
>>
>> + // If we have decided not to shrink wrap, just return now.
>...