[CFLAA] constexpr -> LLVM_CONSTEXPR

Attempt to fix the MSVC build by not using constexpr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216979 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hal Finkel 2014-09-02 22:13:00 +00:00
parent e1b1cac5ad
commit ba709096bc
2 changed files with 15 additions and 13 deletions

View File

@ -42,6 +42,7 @@
#include "llvm/IR/ValueHandle.h" #include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h" #include "llvm/Pass.h"
#include "llvm/Support/Allocator.h" #include "llvm/Support/Allocator.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h" #include "llvm/Support/ErrorHandling.h"
#include <algorithm> #include <algorithm>
#include <cassert> #include <cassert>
@ -75,15 +76,15 @@ static bool hasUsefulEdges(Instruction *);
namespace { namespace {
// StratifiedInfo Attribute things. // StratifiedInfo Attribute things.
typedef unsigned StratifiedAttr; typedef unsigned StratifiedAttr;
constexpr unsigned MaxStratifiedAttrIndex = NumStratifiedAttrs; LLVM_CONSTEXPR unsigned MaxStratifiedAttrIndex = NumStratifiedAttrs;
constexpr unsigned AttrAllIndex = 0; LLVM_CONSTEXPR unsigned AttrAllIndex = 0;
constexpr unsigned AttrGlobalIndex = 1; LLVM_CONSTEXPR unsigned AttrGlobalIndex = 1;
constexpr unsigned AttrFirstArgIndex = 2; LLVM_CONSTEXPR unsigned AttrFirstArgIndex = 2;
constexpr unsigned AttrLastArgIndex = MaxStratifiedAttrIndex; LLVM_CONSTEXPR unsigned AttrLastArgIndex = MaxStratifiedAttrIndex;
constexpr unsigned AttrMaxNumArgs = AttrLastArgIndex - AttrFirstArgIndex; LLVM_CONSTEXPR unsigned AttrMaxNumArgs = AttrLastArgIndex - AttrFirstArgIndex;
constexpr StratifiedAttr AttrNone = 0; LLVM_CONSTEXPR StratifiedAttr AttrNone = 0;
constexpr StratifiedAttr AttrAll = ~AttrNone; LLVM_CONSTEXPR StratifiedAttr AttrAll = ~AttrNone;
// \brief StratifiedSets call for knowledge of "direction", so this is how we // \brief StratifiedSets call for knowledge of "direction", so this is how we
// represent that locally. // represent that locally.
@ -341,8 +342,8 @@ public:
tryInterproceduralAnalysis(const SmallVectorImpl<Function *> &Fns, tryInterproceduralAnalysis(const SmallVectorImpl<Function *> &Fns,
Value *FuncValue, Value *FuncValue,
const iterator_range<User::op_iterator> &Args) { const iterator_range<User::op_iterator> &Args) {
constexpr unsigned ExpectedMaxArgs = 8; LLVM_CONSTEXPR unsigned ExpectedMaxArgs = 8;
constexpr unsigned MaxSupportedArgs = 50; LLVM_CONSTEXPR unsigned MaxSupportedArgs = 50;
assert(Fns.size() > 0); assert(Fns.size() > 0);
// I put this here to give us an upper bound on time taken by IPA. Is it // I put this here to give us an upper bound on time taken by IPA. Is it
@ -535,7 +536,7 @@ public:
typedef std::size_t Node; typedef std::size_t Node;
private: private:
constexpr static Node StartNode = Node(0); LLVM_CONSTEXPR static Node StartNode = Node(0);
struct Edge { struct Edge {
EdgeTypeT Weight; EdgeTypeT Weight;

View File

@ -15,6 +15,7 @@
#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h" #include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Compiler.h"
#include <bitset> #include <bitset>
#include <cassert> #include <cassert>
#include <cmath> #include <cmath>
@ -37,7 +38,7 @@ struct StratifiedInfo {
// The number of attributes that StratifiedAttrs should contain. Attributes are // The number of attributes that StratifiedAttrs should contain. Attributes are
// described below, and 32 was an arbitrary choice because it fits nicely in 32 // described below, and 32 was an arbitrary choice because it fits nicely in 32
// bits (because we use a bitset for StratifiedAttrs). // bits (because we use a bitset for StratifiedAttrs).
static constexpr unsigned NumStratifiedAttrs = 32; static LLVM_CONSTEXPR unsigned NumStratifiedAttrs = 32;
// These are attributes that the users of StratifiedSets/StratifiedSetBuilders // These are attributes that the users of StratifiedSets/StratifiedSetBuilders
// may use for various purposes. These also have the special property of that // may use for various purposes. These also have the special property of that
@ -52,7 +53,7 @@ struct StratifiedLink {
// Optional<StratifiedIndex> because Optional<StratifiedIndex> would // Optional<StratifiedIndex> because Optional<StratifiedIndex> would
// eat up a considerable amount of extra memory, after struct // eat up a considerable amount of extra memory, after struct
// padding/alignment is taken into account. // padding/alignment is taken into account.
static constexpr auto SetSentinel = static LLVM_CONSTEXPR auto SetSentinel =
std::numeric_limits<StratifiedIndex>::max(); std::numeric_limits<StratifiedIndex>::max();
// \brief The index for the set "above" current // \brief The index for the set "above" current