[llvm-commits] [llvm] r44874 - /llvm/trunk/lib/CodeGen/MachineLICM.cpp
Evan Cheng
evan.cheng at apple.com
Wed Dec 12 11:32:41 PST 2007
On Dec 12, 2007, at 11:12 AM, Bill Wendling wrote:
>
>> One thing that is some what annoying to me is if LICM is after live
>> variables then it won't need to compute vreg def info or liveness
>> info. I wonder if it is possible to move the pass after live
>> variables?
>>
> I'm sure I could move it, but as Chris asked, isn't it trivial to get
> this information anyway? Also, I'm kind of hesitant to put so much
> effort into compile-time performance issues when it doesn't even have
> partial (let alone full) functionality right now. We don't know what
> impact any of those optimizations have or if they are necessary yet.
> :-)
It's something to keep in mind. Not critical right now if we are not
hoisting anything with implicit defs / uses.
If we are keeping LICM before livevariables, we will have to compute
liveness in the BB's where the invariants are hoisted to. Now that I
think about it, we *cannot* use the register scavenger to do this
because it also depends on kill / dead markers on the operands. The
scavenger's job is not to add the kill / dead markers, it is to track
what registers are live at any point of the BB. This means you'll
have to walk the BB and track all physical register defs and uses in
the BB.
Evan
>
> -bw
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list