mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-08 18:31:23 +00:00
For PR1113:
Increment the counter after the second use, not after the first use. This fixes PR1113. Also, rename some classes for simplicity and to more naturally be reminscient of LLVM 1.9. This in preparation for additional classes that will provide a scaled down model of the LLVM 1.9 IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33226 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
42a7551725
commit
3d6cd1b149
@ -42,23 +42,24 @@ int yyerror(const char *ErrorMsg) ;
|
|||||||
/// This enum is used to keep track of the original (1.9) type used to form
|
/// This enum is used to keep track of the original (1.9) type used to form
|
||||||
/// a type. These are needed for type upgrades and to determine how to upgrade
|
/// a type. These are needed for type upgrades and to determine how to upgrade
|
||||||
/// signed instructions with signless operands. The Lexer uses thse in its
|
/// signed instructions with signless operands. The Lexer uses thse in its
|
||||||
/// calls to getTypeInfo
|
/// calls to getType
|
||||||
enum Types {
|
enum TypeIDs {
|
||||||
BoolTy, SByteTy, UByteTy, ShortTy, UShortTy, IntTy, UIntTy, LongTy, ULongTy,
|
BoolTy, SByteTy, UByteTy, ShortTy, UShortTy, IntTy, UIntTy, LongTy, ULongTy,
|
||||||
FloatTy, DoubleTy, PointerTy, PackedTy, ArrayTy, StructTy, PackedStructTy,
|
FloatTy, DoubleTy, PointerTy, PackedTy, ArrayTy, StructTy, PackedStructTy,
|
||||||
OpaqueTy, VoidTy, LabelTy, FunctionTy, UnresolvedTy, UpRefTy
|
OpaqueTy, VoidTy, LabelTy, FunctionTy, UnresolvedTy, UpRefTy
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class TypeInfo;
|
class Type;
|
||||||
class ValueInfo;
|
class Value;
|
||||||
class ConstInfo;
|
class Constant;
|
||||||
|
class Instruction;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef std::vector<const TypeInfo*> TypeList;
|
typedef std::vector<const Type*> TypeList;
|
||||||
typedef std::vector<ValueInfo*> ValueList;
|
typedef std::vector<Value*> ValueList;
|
||||||
|
|
||||||
/// A function to create a TypeInfo* used in the Lexer.
|
/// A function to create a Typeo* used in the Lexer.
|
||||||
extern const TypeInfo* getTypeInfo(const std::string& newTy, Types oldTy);
|
extern const Type* getType(const std::string& newTy, TypeIDs oldTy);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
return sym
|
return sym
|
||||||
|
|
||||||
#define RET_TY(sym,OldTY,NewTY,sign) \
|
#define RET_TY(sym,OldTY,NewTY,sign) \
|
||||||
Upgradelval.Type = getTypeInfo(NewTY, OldTY); \
|
Upgradelval.Ty = getType(NewTY, OldTY); \
|
||||||
return sym
|
return sym
|
||||||
|
|
||||||
#define YY_NEVER_INTERACTIVE 1
|
#define YY_NEVER_INTERACTIVE 1
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user