Index: src/IceTargetLoweringX8632.cpp |
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp |
index abc6b41ea8760d2938c412b10fb80e841d3589f6..d1fdfc2f97868dcd9f11a6a5b76ca0396912d65c 100644 |
--- a/src/IceTargetLoweringX8632.cpp |
+++ b/src/IceTargetLoweringX8632.cpp |
@@ -24,10 +24,9 @@ |
#include "IceTargetLoweringX8632.def" |
#include "IceTargetLoweringX8632.h" |
#include "llvm/ADT/DenseMap.h" |
+#include "llvm/Support/MathExtras.h" |
#include "llvm/Support/CommandLine.h" |
-#include <strings.h> |
- |
namespace Ice { |
namespace { |
@@ -557,7 +556,7 @@ void TargetX8632::sortByAlignment(VarList &Dest, const VarList &Source) const { |
++I) { |
Variable *Var = *I; |
uint32_t NaturalAlignment = typeWidthInBytesOnStack(Var->getType()); |
- SizeT LogNaturalAlignment = ffs(NaturalAlignment) - 1; |
+ SizeT LogNaturalAlignment = llvm::findFirstSet(NaturalAlignment); |
assert(LogNaturalAlignment >= X86_LOG2_OF_MIN_STACK_SLOT_SIZE); |
assert(LogNaturalAlignment <= X86_LOG2_OF_MAX_STACK_SLOT_SIZE); |
SizeT BucketIndex = LogNaturalAlignment - X86_LOG2_OF_MIN_STACK_SLOT_SIZE; |