[PATCH] Document HLE metadata

Chris Lattner clattner at apple.com
Tue Mar 26 15:52:15 PDT 2013


On Mar 25, 2013, at 9:54 PM, Andrew Trick <atrick at apple.com> wrote:
>> To propagate HLE hint from LLVM IR into target code generator, I adds
>> HLEHint (2 bits in SubclassData) in atomic node and necessary code to
>> propagate them. Except that, there's nothing fancy.
>> 
>> Would you give more details on "moving away from SelectionDAG"? What's
>> the alternative?
> 
> The only alternative is fast-isel. As long as you support it, there shouldn't be a problem.
> 
> SelectionDAG *scheduling* is going away completely, fairly soon. SD as a whole is not going away in the foreseeable future, but we're generally trying to reduce dependence on SD and avoid piling on features. Your proposal probably doesn't count as a "feature", as long as it follws existing conventions for passing along attributes.
> 
> Why?
> 
> - Fast-isel should be better supported. Some targets may want to exclusively use it.
> 
> - We are doing more lowering with IR passes using target info including operation and type legality. This works better for loop optimizations.
> 
> - More optimizations are being done in MI. It's not just CodeGen.
> 
> - Targets may eventually want to defer some ISEL to manage pass ordering problems, which means it has to be done on MI.
> 
> - If a feature can be added in IR/MI, why add it add it somewhere that's harder to debug and maintain?
> 
> I'm probably forgetting important points. There was a BOF on this at the last dev meeting that was recorded.

We don't have the video from the BOF, but the high level concept is that we would like to move away from our SelectionDAG+fastisel duopoly to a point where we have one model that lowers directly from IR to MachineInstrs and then does legalization/combining on MachineInstrs.  In the case that fast isel handles well today (when you have all legal types) this should be just as fast, but would also be fully general (which fast isel isn't), and would allow "whole function" dag combines and other things we've been dreaming of for some time now.

I don't know of anyone planning to do the work, but it sounds like a great future to me. :-)

-Chris



More information about the llvm-commits mailing list