@@ -93,11 +93,11 @@ extern "C" bool LLVMRustHasFeature(LLVMTargetMachineRef TM,
9393 TargetMachine *Target = unwrap (TM );
9494#if LLVM_VERSION_GE(23, 0)
9595 const MCSubtargetInfo &MCInfo = Target->getMCSubtargetInfo ();
96- return MCInfo.checkFeatures (std::string (" +" ) + Feature);
9796#else
98- const MCSubtargetInfo *MCInfo = Target->getMCSubtargetInfo ();
99- return MCInfo->checkFeatures (std::string (" +" ) + Feature);
97+ const MCSubtargetInfo &MCInfo = *Target->getMCSubtargetInfo ();
10098#endif
99+ return MCInfo.checkFeatures (std::string (" +" ) + Feature);
100+
101101}
102102
103103// / Check whether the target has a specific assembly mnemonic like `ret` or
@@ -297,13 +297,11 @@ extern "C" size_t LLVMRustGetTargetFeaturesCount(LLVMTargetMachineRef TM) {
297297 const TargetMachine *Target = unwrap (TM );
298298#if LLVM_VERSION_GE(23, 0)
299299 const MCSubtargetInfo &MCInfo = Target->getMCSubtargetInfo ();
300- const ArrayRef<SubtargetFeatureKV> FeatTable =
301- MCInfo.getAllProcessorFeatures ();
302300#else
303- const MCSubtargetInfo *MCInfo = Target->getMCSubtargetInfo ();
304- const ArrayRef<SubtargetFeatureKV> FeatTable =
305- MCInfo->getAllProcessorFeatures ();
301+ const MCSubtargetInfo &MCInfo = *Target->getMCSubtargetInfo ();
306302#endif
303+ const ArrayRef<SubtargetFeatureKV> FeatTable =
304+ MCInfo.getAllProcessorFeatures ();
307305 return FeatTable.size ();
308306}
309307
@@ -313,13 +311,11 @@ extern "C" void LLVMRustGetTargetFeature(LLVMTargetMachineRef TM, size_t Index,
313311 const TargetMachine *Target = unwrap (TM );
314312#if LLVM_VERSION_GE(23, 0)
315313 const MCSubtargetInfo &MCInfo = Target->getMCSubtargetInfo ();
316- const ArrayRef<SubtargetFeatureKV> FeatTable =
317- MCInfo.getAllProcessorFeatures ();
318314#else
319- const MCSubtargetInfo *MCInfo = Target->getMCSubtargetInfo ();
320- const ArrayRef<SubtargetFeatureKV> FeatTable =
321- MCInfo->getAllProcessorFeatures ();
315+ const MCSubtargetInfo &MCInfo = *Target->getMCSubtargetInfo ();
322316#endif
317+ const ArrayRef<SubtargetFeatureKV> FeatTable =
318+ MCInfo.getAllProcessorFeatures ();
323319 const SubtargetFeatureKV Feat = FeatTable[Index];
324320 *Feature = Feat.Key ;
325321 *Desc = Feat.Desc ;
0 commit comments