diggerlin wrote: the EmitTargetFeature.cpp will generated following content, I used PPC target as example:
``` // Autogenerated by TargetFeatureEmitter.cpp #ifdef GET_SUBTARGETFEATURES_ENUM #undef GET_SUBTARGETFEATURES_ENUM namespace llvm { namespace PPC { enum { AIXOS = 0, DeprecatedDST = 1, Directive32 = 2, Directive64 = 3, Directive440 = 4, ... FeatureWideImmFusion = 111, FeatureZeroMoveFusion = 112, NumSubtargetFeatures = 113 }; } // end namespace PPC } // end namespace llvm #endif // GET_SUBTARGETFEATURES_ENUM #ifdef GET_SUBTARGETFEATURES_KV #undef GET_SUBTARGETFEATURES_KV namespace llvm { // Sorted (by key) array of values for CPU features. extern const llvm::BasicSubtargetFeatureKV BasicPPCFeatureKV[] = { { "64bit", PPC::Feature64Bit, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, { "64bitregs", PPC::Feature64BitRegs, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, { "aix", PPC::AIXOS, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, ... }; // Sorted (by key) array of values for CPU subtype. extern const llvm::BasicSubtargetSubTypeKV BasicPPCSubTypeKV[] = { { "440", { { { 0x80c0020000000010ULL, 0xa020ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, { "450", { { { 0x80c0020000000010ULL, 0xa020ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, .... }; } // end namespace llvm #endif // GET_SUBTARGETFEATURES_KV ``` https://github.com/llvm/llvm-project/pull/144594 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits