[llvm-commits] [llvm] r100605 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAG.h include/llvm/CodeGen/SelectionDAGNodes.h include/llvm/InlineAsm.h lib/CodeGen/SelectionDAG/InstrEmitter.cpp lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Chris Lattner clattner at apple.com
Wed Apr 7 18:16:03 PDT 2010


On Apr 7, 2010, at 6:05 PM, Dan Gohman wrote:

> 
> On Apr 6, 2010, at 10:20 PM, Chris Lattner wrote:
> 
>> Author: lattner
>> Date: Wed Apr  7 00:20:54 2010
>> New Revision: 100605
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=100605&view=rev
>> Log:
>> Three changes:
>> 1. Introduce some enums and accessors in the InlineAsm class
>>  that eliminate a ton of magic numbers when handling inline
>>  asm SDNode.
>> 2. Add a new MDNodeSDNode selection dag node type that holds
>>  a MDNode (shocking!)
>> 3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc
>>  metadata, propagating it to the instruction emitter, which
>>  drops it.
> 
> Hi Chris,
> 
> This is nice, but even nicer would be to introduce an
> InlineAsmSDNode class which holds all the relevant information.
> Instruction selection doesn't do anything meaningful with this
> information except pass it on verbatim to the inline asm code,
> so it doesn't benefit from being encoded in graph form.

Yeah, I completely agree.  It didn't occur to me when working on the code.  The other half of the problem is that MachineInstrs use the same flag encoding stuff, so just fixing it in selectiondag would only make the two inconsistent with each other.

-Chris



More information about the llvm-commits mailing list