aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/ARM/ARM.td5
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp5
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h6
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp2
4 files changed, 11 insertions, 7 deletions
diff --git a/lib/Target/ARM/ARM.td b/lib/Target/ARM/ARM.td
index 00bf1b85ec..5c56b2dc47 100644
--- a/lib/Target/ARM/ARM.td
+++ b/lib/Target/ARM/ARM.td
@@ -222,8 +222,9 @@ def : Processor<"arm1156t2f-s", ARMV6Itineraries, [HasV6T2Ops, FeatureVFP2,
def : ProcessorModel<"cortex-a8", CortexA8Model,
// @LOCALMOD-BEGIN
// TODO(pdox): Resolve this mismatch.
- [ProcA8, HasV7Ops, FeatureDB]>;
-// FeatureNEON, FeatureDSPThumb2, FeatureHasRAS]>;
+ [ProcA8, HasV7Ops, FeatureDB,
+// FeatureNEON,
+ FeatureDSPThumb2, FeatureHasRAS]>;
// @LOCALMOD-END
def : ProcessorModel<"cortex-a9", CortexA9Model,
diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp b/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
index b94f963507..c1aab9c72c 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
@@ -57,9 +57,4 @@ ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
// Exceptions handling
if (EnableARMEHABI)
ExceptionsType = ExceptionHandling::ARM;
-
- // @LOCALMOD-BEGIN
- // Exceptions handling
- ExceptionsType = ExceptionHandling::DwarfCFI;
- // @LOCALMOD-END
}
diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h b/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
index f0b289c6f3..059ee99f1c 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
+++ b/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
@@ -28,6 +28,12 @@ namespace llvm {
virtual void anchor();
public:
explicit ARMELFMCAsmInfo();
+ // @LOCALMOD-BEGIN
+ // Exceptions handling
+ void setExceptionsType(ExceptionHandling::ExceptionsType ExType) {
+ ExceptionsType = ExType;
+ }
+ // @LOCALMOD-END
};
} // namespace llvm
diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
index d6ce86c736..7a57e40a17 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
@@ -163,6 +163,8 @@ static MCAsmInfo *createARMMCAsmInfo(const Target &T, StringRef TT) {
// @LOCALMOD-BEGIN
ARMELFMCAsmInfo *MAI = new ARMELFMCAsmInfo();
if (TheTriple.getOS() == Triple::NativeClient) {
+ // NativeClient uses Dwarf exception handling
+ MAI->setExceptionsType(ExceptionHandling::DwarfCFI);
// Initial state of the frame ARM:SP points to cfa
MachineLocation Dst(MachineLocation::VirtualFP);
MachineLocation Src(ARM::SP, 0);