[resending to correct llvm-dev address]
I’d like to start enabling the loop data prefetch pass for Cyclone (an ARM64 subtarget). AFAICT, you can’t really add passes specifically to a subtarget but only to a target. This makes sense because in the new world, you could have different subtargets per function. I just want to make sure my understanding is correct.
My plan is to add the pass for the target and then exit the pass early based on a TTI hook (getPrefetchDistance is not set).
Currently, PowerPC gets around this problem by checking the vendor part of the triple to decide whether the pass should be added. Obviously there is no guarantee that there is a one-to-one mapping between vendor and subtarget.
Please let me know if there is more preferred way of doing this.