public:
/// APSInt ctor - Create an APSInt with the specified width, default to
/// unsigned.
- explicit APSInt(unsigned BitWidth) : APInt(BitWidth, 0), IsUnsigned(true) {}
+ explicit APSInt(uint32_t BitWidth) : APInt(BitWidth, 0), IsUnsigned(true) {}
APSInt(const APInt &I) : APInt(I), IsUnsigned(true) {}
APSInt &operator=(const APSInt &RHS) {
}
operator bool() const {
- return (*WordRef) & (1L << BitPos);
+ return ((*WordRef) & (1L << BitPos)) ? true : false;
}
};
//===----------------------------------------------------------------------===//
// DomTreeNode - Dominator Tree Node
template<class NodeT> class DominatorTreeBase;
-class PostDominatorTree;
+struct PostDominatorTree;
class MachineBasicBlock;
template <class NodeT>
int DFSNumIn, DFSNumOut;
template<class N> friend class DominatorTreeBase;
- friend class PostDominatorTree;
+ friend struct PostDominatorTree;
public:
typedef typename std::vector<DomTreeNodeBase<NodeT> *>::iterator iterator;
typedef typename std::vector<DomTreeNodeBase<NodeT> *>::const_iterator
return T->getTypeID() == StructTyID;
}
- bool isPacked() const { return getSubclassData(); }
+ bool isPacked() const { return (0 != getSubclassData()) ? true : false; }
};
PATypeHandle ContainedType; ///< Storage for the single contained type
SequentialType(const SequentialType &); // Do not implement!
const SequentialType &operator=(const SequentialType &); // Do not implement!
+
+ // avoiding warning: 'this' : used in base member initializer list
+ SequentialType* this_() { return this; }
protected:
SequentialType(TypeID TID, const Type *ElType)
- : CompositeType(TID), ContainedType(ElType, this) {
+ : CompositeType(TID), ContainedType(ElType, this_()) {
ContainedTys = &ContainedType;
NumContainedTys = 1;
}
class UnaryInstruction : public Instruction {
Use Op;
+
+ // avoiding warning: 'this' : used in base member initializer list
+ UnaryInstruction* this_() { return this; }
protected:
UnaryInstruction(const Type *Ty, unsigned iType, Value *V, Instruction *IB =0)
- : Instruction(Ty, iType, &Op, 1, IB), Op(V, this) {
+ : Instruction(Ty, iType, &Op, 1, IB), Op(V, this_()) {
}
UnaryInstruction(const Type *Ty, unsigned iType, Value *V, BasicBlock *IAE)
- : Instruction(Ty, iType, &Op, 1, IAE), Op(V, this) {
+ : Instruction(Ty, iType, &Op, 1, IAE), Op(V, this_()) {
}
public:
// Out of line virtual method, so the vtable, etc has a home.
/// setVolatile - Specify whether this is a volatile load or not.
///
void setVolatile(bool V) {
- SubclassData = (SubclassData & ~1) | V;
+ SubclassData = (SubclassData & ~1) | (V ? 1 : 0);
}
virtual LoadInst *clone() const;
/// setVolatile - Specify whether this is a volatile load or not.
///
void setVolatile(bool V) {
- SubclassData = (SubclassData & ~1) | V;
+ SubclassData = (SubclassData & ~1) | (V ? 1 : 0);
}
/// Transparently provide more efficient getOperand methods.
private:
Registry(); // Do not implement.
- static void Announce(node *);
+ static void Announce(const entry &E) {
+ for (listener *Cur = ListenerHead; Cur; Cur = Cur->Next)
+ Cur->registered(E);
+ }
friend class node;
static node *Head, *Tail;
}
};
-
- private:
- static void Announce(const entry &E) {
- for (listener *Cur = ListenerHead; Cur; Cur = Cur->Next)
- Cur->registered(E);
- }
-
};
}
class Function;
class TargetData;
- class BasicInlinerImpl;
+ struct BasicInlinerImpl;
/// BasicInliner - BasicInliner provides function level inlining interface.
/// Clients provide list of functions which are inline without using
%option noreject
%option noyymore
-%x comment
+%x in_comment
%{
#include "llvm/Config/config.h"
[ \t\n\r]+ { /* Ignore whitespace */ }
-"/*" { BEGIN(comment); CommentDepth++; }
-<comment>[^*/]* {} /* eat anything that's not a '*' or '/' */
-<comment>"*"+[^*/]* {} /* eat up '*'s not followed by '/'s */
-<comment>"/*" { ++CommentDepth; }
-<comment>"/"+[^*/]* {} /* eat up /'s not followed by *'s */
-<comment>"*"+"/" { if (!--CommentDepth) { BEGIN(INITIAL); } }
-<comment><<EOF>> { err() << "Unterminated comment!\n"; exit(1); }
+"/*" { BEGIN(in_comment); CommentDepth++; }
+<in_comment>[^*/]* {} /* eat anything that's not a '*' or '/' */
+<in_comment>"*"+[^*/]* {} /* eat up '*'s not followed by '/'s */
+<in_comment>"/*" { ++CommentDepth; }
+<in_comment>"/"+[^*/]* {} /* eat up /'s not followed by *'s */
+<in_comment>"*"+"/" { if (!--CommentDepth) { BEGIN(INITIAL); } }
+<in_comment><<EOF>> { err() << "Unterminated comment!\n"; exit(1); }
. { return Filetext[0]; }
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="true"
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."
- PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
StringPooling="true"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="true"
RelativePath="..\..\lib\Transforms\Utils\BasicBlockUtils.cpp"
>
</File>
+ <File
+ RelativePath="..\..\lib\Transforms\Utils\BasicInliner.cpp"
+ >
+ </File>
<File
RelativePath="..\..\lib\Transforms\Utils\BreakCriticalEdges.cpp"
>
/* This file is appended to config.h.in to form the Windows version of
* config.h */
-#define PACKAGE_NAME "LLVM (win32 vc7.1)"
-#define PACKAGE_VERSION 1.4
+#define PACKAGE_NAME "LLVM (win32 vc8.0)"
+#define PACKAGE_VERSION 2.1
#define HAVE_WINDOWS_H 1
#define HAVE_LIMITS_H 1
#define HAVE_SYS_STAT_H 1
#define LLVM_ON_WIN32 1
#define strtoll strtol
+#define stricmp _stricmp
+#define strdup _strdup
+