aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2011-04-14 02:01:31 +0000
committerSean Callanan <scallanan@apple.com>2011-04-14 02:01:31 +0000
commit1b1bf6e982fc5926960c69e262b1af8898d20812 (patch)
tree53d00a14d2aebb50ee502c5a13c12161a15082c9
parent9eb0b7d2f1866584f1304cd4f777d5ef49174f9c (diff)
downloadllvm-1b1bf6e982fc5926960c69e262b1af8898d20812.zip
llvm-1b1bf6e982fc5926960c69e262b1af8898d20812.tar.gz
llvm-1b1bf6e982fc5926960c69e262b1af8898d20812.tar.bz2
Updated LLVM to pick up fixes to the ARM instruction
tables. llvm-svn: 129500
-rw-r--r--lldb/scripts/build-llvm.pl2
-rw-r--r--lldb/source/Expression/ClangExpressionParser.cpp22
-rw-r--r--lldb/source/Expression/IRDynamicChecks.cpp1
-rw-r--r--lldb/source/Expression/IRForTarget.cpp1
4 files changed, 23 insertions, 3 deletions
diff --git a/lldb/scripts/build-llvm.pl b/lldb/scripts/build-llvm.pl
index 3ada7ce..3787405 100644
--- a/lldb/scripts/build-llvm.pl
+++ b/lldb/scripts/build-llvm.pl
@@ -26,7 +26,7 @@ our @llvm_clang_slices; # paths to the single architecture static libraries (arc
our $llvm_configuration = $ENV{LLVM_CONFIGURATION};
-our $llvm_revision = "128303";
+our $llvm_revision = "129495";
our $llvm_source_dir = "$ENV{SRCROOT}";
our @archs = split (/\s+/, $ENV{ARCHS});
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp
index 5984935..0d693ce 100644
--- a/lldb/source/Expression/ClangExpressionParser.cpp
+++ b/lldb/source/Expression/ClangExpressionParser.cpp
@@ -244,10 +244,28 @@ ClangExpressionParser::ClangExpressionParser (ExecutionContextScope *exe_scope,
// and other things that _are_ target specific really shouldn't just be
// using the host triple. This needs to be fixed in a better way.
if (target && target->GetArchitecture().IsValid())
- m_compiler->getTargetOpts().Triple = target->GetArchitecture().GetTriple().str();
+ {
+ std::string triple = target->GetArchitecture().GetTriple().str();
+
+ int dash_count = 0;
+ for (int i = 0; i < triple.size(); ++i)
+ {
+ if (triple[i] == '-')
+ dash_count++;
+ if (dash_count == 3)
+ {
+ triple.resize(i);
+ break;
+ }
+ }
+
+ m_compiler->getTargetOpts().Triple = triple;
+ }
else
+ {
m_compiler->getTargetOpts().Triple = llvm::sys::getHostTriple();
-
+ }
+
// 3. Set up various important bits of infrastructure.
m_compiler->createDiagnostics(0, 0);
diff --git a/lldb/source/Expression/IRDynamicChecks.cpp b/lldb/source/Expression/IRDynamicChecks.cpp
index a84fe8e..584de69 100644
--- a/lldb/source/Expression/IRDynamicChecks.cpp
+++ b/lldb/source/Expression/IRDynamicChecks.cpp
@@ -18,6 +18,7 @@
#include "lldb/Target/StackFrame.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Constants.h"
#include "llvm/Function.h"
#include "llvm/Instructions.h"
#include "llvm/Module.h"
diff --git a/lldb/source/Expression/IRForTarget.cpp b/lldb/source/Expression/IRForTarget.cpp
index a6d1651..4581712 100644
--- a/lldb/source/Expression/IRForTarget.cpp
+++ b/lldb/source/Expression/IRForTarget.cpp
@@ -10,6 +10,7 @@
#include "lldb/Expression/IRForTarget.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Constants.h"
#include "llvm/InstrTypes.h"
#include "llvm/Instructions.h"
#include "llvm/Intrinsics.h"