[LLVMdev] dependence analyzer for machine code?
Vikram S. Adve
vadve at cs.uiuc.edu
Mon Sep 5 08:48:53 PDT 2005
On Sep 5, 2005, at 10:21 AM, Andrew Lenharth wrote:
> On Mon, 2005-09-05 at 14:45 +0800, Tzu-Chien Chiu wrote:
>
>> why there is no general dependency analysis for the "machin code"?
>> perhaps it's because the instruction scheduling is only implemented
>> for sparcv9?
>>
>
> Most backends use the SelectionDAG infastructure to do this kind of
> thing. (Simplifying things a bit) Each basic block is selected to
> a DAG
> based IR. Then instruction selection is done, which transforms
> this DAG
> to a DAG with machine instructions as nodes. At this point all
> dependencies are explicit as edges in the graph. The DAG is then
> scheduled to a machine basic block.
>
> Hope this helps. The PowerPC backend is furthest along in being
> implemented in this way.
>
> Andrew
I believe Tzu-Chien is referring to array (and pointer) dependence
analysis. There is a simple dependence analyzer written by Tanya
Lattner in the SparcV9 back-end , which (I believe) is actually Sparc-
independent and perhaps could be factored out.
--Vikram Adve
----------------------------------------------------------------------
VIKRAM S. ADVE
Associate Professor, Computer Science E-MAIL: vadve at cs.uiuc.edu
Siebel Center for Computer Science PHONE: (217) 244-2016
Univ. of Illinois at Urbana-Champaign FAX: (217) 265-6582
201 N. Goodwin Ave. http://www.cs.uiuc.edu/~vadve
Urbana IL 61801-2302. http://llvm.cs.uiuc.edu/
----------------------------------------------------------------------
More information about the llvm-dev
mailing list