change TargetInfo::ConstraintInfo to be a struct that contains
the enum along with some other data.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70114 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index cb74001..98f6dc1 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -280,14 +280,14 @@
virtual void getGCCRegAliases(const GCCRegAlias *&Aliases,
unsigned &NumAliases) const;
virtual bool validateAsmConstraint(const char *&Name,
- TargetInfo::ConstraintInfo &info) const {
+ TargetInfo::ConstraintInfo &Info) const {
switch (*Name) {
default: return false;
case 'O': // Zero
return true;
case 'b': // Base register
case 'f': // Floating point register
- info = (TargetInfo::ConstraintInfo)(info|TargetInfo::CI_AllowsRegister);
+ Info.setAllowsRegister();
return true;
}
}
@@ -638,7 +638,7 @@
bool
X86TargetInfo::validateAsmConstraint(const char *&Name,
- TargetInfo::ConstraintInfo &info) const {
+ TargetInfo::ConstraintInfo &Info) const {
switch (*Name) {
default: return false;
case 'a': // eax.
@@ -660,7 +660,7 @@
// x86_64 instructions.
case 'N': // unsigned 8-bit integer constant for use with in and out
// instructions.
- info = (TargetInfo::ConstraintInfo)(info|TargetInfo::CI_AllowsRegister);
+ Info.setAllowsRegister();
return true;
}
}
@@ -997,7 +997,7 @@
NumAliases = 0;
}
virtual bool validateAsmConstraint(const char *&Name,
- TargetInfo::ConstraintInfo &info) const {
+ TargetInfo::ConstraintInfo &Info) const {
// FIXME: Check if this is complete
switch (*Name) {
default:
@@ -1005,7 +1005,7 @@
case 'h': // r8-r15
case 'w': // VFP Floating point register single precision
case 'P': // VFP Floating point register double precision
- info = (TargetInfo::ConstraintInfo)(info|TargetInfo::CI_AllowsRegister);
+ Info.setAllowsRegister();
return true;
}
return false;