Changes in directory llvm/lib/Target/ARM:
ARMSubtarget.h updated: 1.1 -> 1.2 ARMSubtarget.cpp updated: 1.1 -> 1.2 --- Log message: Introduce TargetType's ELF and Darwin. --- Diffs of the changes: (+17 -8) ARMSubtarget.cpp | 15 ++++++++++----- ARMSubtarget.h | 10 +++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) Index: llvm/lib/Target/ARM/ARMSubtarget.h diff -u llvm/lib/Target/ARM/ARMSubtarget.h:1.1 llvm/lib/Target/ARM/ARMSubtarget.h:1.2 --- llvm/lib/Target/ARM/ARMSubtarget.h:1.1 Fri Jan 19 01:51:42 2007 +++ llvm/lib/Target/ARM/ARMSubtarget.h Fri Jan 19 13:22:40 2007 @@ -37,8 +37,6 @@ /// IsThumb - True if we are in thumb mode, false if in ARM mode. bool IsThumb; - bool IsDarwin; - /// UseThumbBacktraces - True if we use thumb style backtraces. bool UseThumbBacktraces; @@ -50,6 +48,10 @@ unsigned stackAlignment; public: + enum { + isELF, isDarwin + } TargetType; + /// This constructor initializes the data members to match that /// of the specified module. /// @@ -66,7 +68,9 @@ bool hasVFP2() const { return HasVFP2; } - bool isDarwin() const { return IsDarwin; } + bool isTargetDarwin() const { return TargetType == isDarwin; } + bool isTargetELF() const { return TargetType == isELF; } + bool isThumb() const { return IsThumb; } bool useThumbBacktraces() const { return UseThumbBacktraces; } Index: llvm/lib/Target/ARM/ARMSubtarget.cpp diff -u llvm/lib/Target/ARM/ARMSubtarget.cpp:1.1 llvm/lib/Target/ARM/ARMSubtarget.cpp:1.2 --- llvm/lib/Target/ARM/ARMSubtarget.cpp:1.1 Fri Jan 19 01:51:42 2007 +++ llvm/lib/Target/ARM/ARMSubtarget.cpp Fri Jan 19 13:22:40 2007 @@ -22,8 +22,12 @@ cl::desc("Switch to thumb mode in ARM backend")); ARMSubtarget::ARMSubtarget(const Module &M, const std::string &FS) - : ARMArchVersion(V4T), HasVFP2(false), IsDarwin(false), - UseThumbBacktraces(false), IsR9Reserved(false), stackAlignment(8) { + : ARMArchVersion(V4T) + , HasVFP2(false) + , UseThumbBacktraces(false) + , IsR9Reserved(false) + , stackAlignment(8) + , TargetType(isELF) { // Default to ELF unless otherwise specified. // Determine default and user specified characteristics std::string CPU = "generic"; @@ -37,14 +41,15 @@ // if one cannot be determined, to true. const std::string& TT = M.getTargetTriple(); if (TT.length() > 5) { - IsDarwin = TT.find("-darwin") != std::string::npos; + if (TT.find("-darwin") != std::string::npos) + TargetType = isDarwin; } else if (TT.empty()) { #if defined(__APPLE__) - IsDarwin = true; + TargetType = isDarwin; #endif } - if (IsDarwin) { + if (isTargetDarwin()) { UseThumbBacktraces = true; IsR9Reserved = true; stackAlignment = 4; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits