I'm trying to port some code to TOT in order to incorporate it into the llvm.org sources. I've got a question about where it should live. This code provides some different models of the target hardware that are useful at multiple stages of optimization (ll, MachineInstr, mc, etc.). I don't believe the MC level is available to the higher-level passes. Should this stuff live in the Target library? The main thing I'm trying to work out right now is the TableGen implementation. I was going to follow the scheduler design but then I realized that the scheduler really lives at the MC level. I think my stuff has to be somewhere more accessible. Advice and guidance much appreciated. Thanks! -David