mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
Move MinAlign to MathExtras.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43944 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
//===----------- Alignment.h - Alignment computation ------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file was developed by Duncan Sands and is distributed under
|
||||
// the University of Illinois Open Source License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file defines utilities for computing alignments.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_SUPPORT_ALIGNMENT_H
|
||||
#define LLVM_SUPPORT_ALIGNMENT_H
|
||||
|
||||
namespace llvm {
|
||||
|
||||
/// MinAlign - A and B are either alignments or offsets. Return the minimum
|
||||
/// alignment that may be assumed after adding the two together.
|
||||
|
||||
static inline unsigned MinAlign(unsigned A, unsigned B) {
|
||||
// The largest power of 2 that divides both A and B.
|
||||
return (A | B) & -(A | B);
|
||||
}
|
||||
|
||||
} // end namespace llvm
|
||||
#endif
|
@@ -358,6 +358,13 @@ int IsNAN(double d);
|
||||
int IsInf(float f);
|
||||
int IsInf(double d);
|
||||
|
||||
/// MinAlign - A and B are either alignments or offsets. Return the minimum
|
||||
/// alignment that may be assumed after adding the two together.
|
||||
static inline unsigned MinAlign(unsigned A, unsigned B) {
|
||||
// The largest power of 2 that divides both A and B.
|
||||
return (A | B) & -(A | B);
|
||||
}
|
||||
|
||||
} // End llvm namespace
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user