@@ -30,7 +30,7 @@ SPDX-License-Identifier: MIT
3030#include " llvm/IR/Instructions.h"
3131#include " llvm/IR/Intrinsics.h"
3232#include " llvm/Support/Debug.h"
33-
33+ # include " llvmWrapper/Support/MathExtras.h "
3434#include " Probe/Assertion.h"
3535
3636#define DEBUG_TYPE " GENX_ALIGNMENT_INFO"
@@ -286,7 +286,7 @@ Alignment AlignmentInfo::get(Value *V) {
286286 * Alignment constructor given literal value
287287 */
288288Alignment::Alignment (unsigned C) {
289- LogAlign = C ? countTrailingZeros (C) : 31 ;
289+ LogAlign = C ? IGCLLVM::countr_zero (C) : 31 ;
290290 ExtraBits = 0 ;
291291 ConstBits = (C < MaskForUnknown) ? C : MaskForUnknown;
292292}
@@ -303,7 +303,7 @@ Alignment Alignment::getAlignmentForConstant(Constant *C) {
303303 int64_t SVal = CI->getSExtValue ();
304304 // Get least significant bits to count LogAlign
305305 unsigned LSBBits = SVal & UnsignedAllOnes;
306- A.LogAlign = LSBBits ? countTrailingZeros (LSBBits) : 31 ;
306+ A.LogAlign = LSBBits ? IGCLLVM::countr_zero (LSBBits) : 31 ;
307307
308308 A.ExtraBits = 0 ;
309309 A.ConstBits = MaskForUnknown;
@@ -348,8 +348,8 @@ Alignment Alignment::merge(Alignment Other) const {
348348 if (MinLogAlign) {
349349 unsigned DisagreeExtraBits =
350350 (ExtraBits ^ Other.ExtraBits ) & ((1 << MinLogAlign) - 1 );
351- MinLogAlign = std::min (
352- MinLogAlign, (unsigned )llvm::countTrailingZeros (DisagreeExtraBits));
351+ MinLogAlign = std::min (MinLogAlign,
352+ (unsigned )IGCLLVM::countr_zero (DisagreeExtraBits));
353353 }
354354 IGC_ASSERT_EXIT (MinLogAlign < 32 );
355355 return Alignment (MinLogAlign, ExtraBits & ((1 << MinLogAlign) - 1 ));
@@ -367,7 +367,7 @@ Alignment Alignment::add(Alignment Other) const {
367367 if (MinLogAlign) {
368368 ExtraBits2 = (ExtraBits + Other.ExtraBits ) & ((1 << MinLogAlign) - 1 );
369369 MinLogAlign =
370- std::min (MinLogAlign, (unsigned )llvm::countTrailingZeros (ExtraBits2));
370+ std::min (MinLogAlign, (unsigned )IGCLLVM::countr_zero (ExtraBits2));
371371 }
372372 IGC_ASSERT_EXIT (MinLogAlign < 32 );
373373 return Alignment (MinLogAlign, ExtraBits2 & ((1 << MinLogAlign) - 1 ));
@@ -391,7 +391,7 @@ Alignment Alignment::mul(Alignment Other) const {
391391 if (MinLogAlign) {
392392 ExtraBits2 = (ExtraBits * Other.ExtraBits ) & ((1 << MinLogAlign) - 1 );
393393 MinLogAlign =
394- std::min (MinLogAlign, (unsigned )llvm::countTrailingZeros (ExtraBits2));
394+ std::min (MinLogAlign, (unsigned )IGCLLVM::countr_zero (ExtraBits2));
395395 }
396396 IGC_ASSERT_EXIT (MinLogAlign < 32 );
397397 return Alignment (MinLogAlign, ExtraBits2 & ((1 << MinLogAlign) - 1 ));
@@ -410,7 +410,7 @@ Alignment Alignment::logicalOp(ConstantInt *CI, SelectFunction F) const {
410410 Val > std::numeric_limits<int >::max ())
411411 return Alignment::getUnknown ();
412412 unsigned UVal = static_cast <unsigned >(std::abs (Val));
413- unsigned ValLSB = llvm::countTrailingZeros (UVal);
413+ unsigned ValLSB = IGCLLVM::countr_zero (UVal);
414414 // Chop off constant bits according to log align
415415 unsigned NewLogAlign = F (ValLSB, LogAlign);
416416 IGC_ASSERT_EXIT (NewLogAlign < 32 );
0 commit comments