search for: subtargetcontext

Displaying 6 results from an estimated 6 matches for "subtargetcontext".

2013 Dec 06
3
[LLVMdev] [RFC] CGContext skeleton implementation
...raction boundary. I think that means there needs to be an *abstract* interface between the IR layer and the target/codegen layer with a dynamic call across that boundary. So this makes sense to me: LLVMContext > -> TargetContext (initialized when TargetMachine is available) > -> SubtargetContext (initialized when Function attributes are > available) > Only if TargetContext and SubtargetContext are abstract interfaces with trivial implementations available for cases where there is no target (in the libTarget sense). I don't really think that's what you're aiming for, so...
2013 Dec 06
0
[LLVMdev] [RFC] CGContext skeleton implementation
...the problem of providing TargetMachine to IR passes from the problem of initializing the PassManager. The distinction between opt and llc passes has already become meaningless. Back to this.. > LLVMContext > -> TargetContext (initialized when TargetMachine is available) > -> SubtargetContext (initialized when Function attributes are available) > > Only if TargetContext and SubtargetContext are abstract interfaces with trivial implementations available for cases where there is no target (in the libTarget sense). Yes, they could be abstract interfaces, but no, they wouldn’t have...
2013 Dec 06
2
[LLVMdev] [RFC] CGContext skeleton implementation
On Thu, Dec 5, 2013 at 5:04 PM, Andrew Trick <atrick at apple.com> wrote: > Right. On the flip side, some passes should be able to make hard queries > against target/subtarget that fail if the driver doesn’t initialize them. I > don’t want any way to accidentally run the vectorizer or LSR without > initializing my subtarget info. Also, I want to prevent early passes from >
2013 Dec 06
0
[LLVMdev] [RFC] CGContext skeleton implementation
...es get what they need from LLVMContext. I find the AnalysisGroup thing too subtle and prone to driver bugs, but haven't fully worked out an alternate design. Maybe something as simple as this would work: LLVMContext -> TargetContext (initialized when TargetMachine is available) -> SubtargetContext (initialized when Function attributes are available) > > > I think it would be cleanest if the IR pass pipeline had an explicit point at which the subtarget gets initialized--say a SubtargetInfo pass. IR passes that run early can still get architecture defaults from TargetTransformInfo...
2013 Dec 06
0
[LLVMdev] [RFC] CGContext skeleton implementation
...think that means there needs to be an *abstract* interface between the IR layer and the target/codegen layer with a dynamic call across that boundary. > > So this makes sense to me: > > LLVMContext > -> TargetContext (initialized when TargetMachine is available) > -> SubtargetContext (initialized when Function attributes are available) > > Only if TargetContext and SubtargetContext are abstract interfaces with trivial implementations available for cases where there is no target (in the libTarget sense). Right. On the flip side, some passes should be able to make hard qu...
2013 Dec 05
4
[LLVMdev] [RFC] CGContext skeleton implementation
On Mon, Dec 2, 2013 at 4:25 PM, Andrew Trick <atrick at apple.com> wrote: > > On Nov 25, 2013, at 4:40 PM, Dan Gohman <dan433584 at gmail.com> wrote: > > > Hello llvm-dev, > > > > Following up on the "CodeGen Context" discussion that was started, > attached is patch which implements a pretty minimal skeleton of a CGContext > implementation.