Update build rules for LLVM merge to version 176139.

Change-Id: Ibb71ad9a6a2ed05dbf87f249ac42b1355e3fa41a
diff --git a/Android.mk b/Android.mk
index dd40db7..e863fb3 100644
--- a/Android.mk
+++ b/Android.mk
@@ -27,6 +27,7 @@
   lib/Transforms/IPO \
   lib/Transforms/InstCombine \
   lib/Transforms/Instrumentation \
+  lib/Transforms/ObjCARC \
   lib/Transforms/Scalar \
   lib/Transforms/Utils \
   lib/Transforms/Vectorize \
diff --git a/README.android b/README.android
index fc1ccbb..8287705 100644
--- a/README.android
+++ b/README.android
@@ -20,7 +20,10 @@
 * For Ice Cream Sandwich MR2: Synced to upstream r146714
 * For Jellybean: Synced to upstream r155090
 * For Jellybean MR1: Synced to upstream r162314
+* For Jellybean MR2: Synced to upstream r176139
 
+* Recent downstreaming on 2013/3/5: Synced to r176139 (Contact srhines for merge questions.)
+* Recent downstreaming on 2013/1/8: Synced to r171905 (Contact srhines for merge questions.)
 * Recent downstreaming on 2012/8/23: Synced to r162314 (Contact srhines for merge questions.)
 * Recent downstreaming on 2012/8/3: Synced to r160668 (Contact sliao for merge questions.)
 * Cherry-pick on 2012/05/23: https://llvm.org/svn/llvm-project/llvm/trunk@157317 (Contact srhines for merge questions.)
diff --git a/include/llvm/Config/llvm-platform-config.h b/include/llvm/Config/llvm-platform-config.h
index 8f4f19f..fb1b08f 100644
--- a/include/llvm/Config/llvm-platform-config.h
+++ b/include/llvm/Config/llvm-platform-config.h
@@ -14,6 +14,9 @@
 /* LLVM architecture name for the native architecture, if available */
 #define LLVM_NATIVE_ARCH X86
 
+/* Host triple LLVM will be executed on */
+#define LLVM_HOSTTRIPLE "i686-unknown-linux-gnu"
+
 /* LLVM name for the native AsmParser init function, if available */
 #define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
 
@@ -38,6 +41,9 @@
 /* LLVM architecture name for the native architecture, if available */
 #define LLVM_NATIVE_ARCH ARM
 
+/* Host triple LLVM will be executed on */
+#define LLVM_HOSTTRIPLE "arm-unknown-linux-gnu"
+
 /* LLVM name for the native AsmParser init function, if available */
 #define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser
 
@@ -62,6 +68,9 @@
 /* LLVM architecture name for the native architecture, if available */
 #define LLVM_NATIVE_ARCH Mips
 
+/* Host triple LLVM will be executed on */
+#define LLVM_HOSTTRIPLE "mipsel-unknown-linux-gnu"
+
 /* LLVM name for the native AsmParser init function, if available */
 #define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser
 
diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk
index c2ff493..6153df4 100644
--- a/lib/Analysis/Android.mk
+++ b/lib/Analysis/Android.mk
@@ -20,7 +20,6 @@
   DomPrinter.cpp \
   DominanceFrontier.cpp \
   IVUsers.cpp \
-  InlineCost.cpp \
   InstCount.cpp \
   InstructionSimplify.cpp \
   Interval.cpp \
diff --git a/lib/Analysis/IPA/Android.mk b/lib/Analysis/IPA/Android.mk
index a1f47f3..ff8a4ae 100644
--- a/lib/Analysis/IPA/Android.mk
+++ b/lib/Analysis/IPA/Android.mk
@@ -3,9 +3,11 @@
 analysis_ipa_SRC_FILES := \
   CallGraph.cpp \
   CallGraphSCCPass.cpp \
+  CallPrinter.cpp \
   FindUsedTypes.cpp \
   GlobalsModRef.cpp \
-  IPA.cpp
+  IPA.cpp \
+  InlineCost.cpp
 
 # For the host
 # =====================================================
diff --git a/lib/Bitcode/Reader/Android.mk b/lib/Bitcode/Reader/Android.mk
index 9fbe9fc..6e95cbc 100644
--- a/lib/Bitcode/Reader/Android.mk
+++ b/lib/Bitcode/Reader/Android.mk
@@ -2,7 +2,8 @@
 
 bitcode_reader_SRC_FILES := \
 	BitReader.cpp	\
-	BitcodeReader.cpp
+	BitcodeReader.cpp \
+	BitstreamReader.cpp
 
 # For the host
 # =====================================================
diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk
index 03a0f7d..3a06d4b 100644
--- a/lib/CodeGen/Android.mk
+++ b/lib/CodeGen/Android.mk
@@ -26,6 +26,7 @@
   InlineSpiller.cpp \
   InterferenceCache.cpp \
   IntrinsicLowering.cpp \
+  JITCodeEmitter.cpp \
   LatencyPriorityQueue.cpp \
   LexicalScopes.cpp \
   LiveDebugVariables.cpp \
@@ -44,6 +45,7 @@
   MachineBlockPlacement.cpp \
   MachineBranchProbabilityInfo.cpp \
   MachineCSE.cpp \
+  MachineCodeEmitter.cpp \
   MachineCopyPropagation.cpp \
   MachineDominators.cpp \
   MachineFunction.cpp \
@@ -101,6 +103,7 @@
   TailDuplication.cpp \
   TargetFrameLoweringImpl.cpp \
   TargetInstrInfo.cpp \
+  TargetLoweringBase.cpp \
   TargetLoweringObjectFileImpl.cpp \
   TargetOptionsImpl.cpp \
   TargetRegisterInfo.cpp \
diff --git a/lib/Linker/Android.mk b/lib/Linker/Android.mk
index 99c9a3f..17d9a39 100644
--- a/lib/Linker/Android.mk
+++ b/lib/Linker/Android.mk
@@ -1,18 +1,15 @@
 LOCAL_PATH:= $(call my-dir)
 
 linker_SRC_FILES := \
-  LinkModules.cpp
+  LinkModules.cpp \
+  Linker.cpp
 
 # For the host
 # =====================================================
 include $(CLEAR_VARS)
 include $(CLEAR_TBLGEN_VARS)
 
-LOCAL_SRC_FILES :=      \
-     $(linker_SRC_FILES)\
-     LinkArchives.cpp   \
-     Linker.cpp         \
-     LinkItems.cpp
+LOCAL_SRC_FILES := $(linker_SRC_FILES)
 
 LOCAL_MODULE:= libLLVMLinker 
 LOCAL_MODULE_TAGS := optional
diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk
index 6983b29..be3b2e6 100644
--- a/lib/Support/Android.mk
+++ b/lib/Support/Android.mk
@@ -10,6 +10,8 @@
   BranchProbability.cpp \
   CommandLine.cpp \
   ConstantRange.cpp \
+  ConvertUTF.c \
+  ConvertUTFWrapper.cpp \
   CrashRecoveryContext.cpp \
   DAGDeltaAlgorithm.cpp \
   DataStream.cpp \
diff --git a/lib/Target/Mips/MCTargetDesc/Android.mk b/lib/Target/Mips/MCTargetDesc/Android.mk
index 83fe61e..733acdb 100644
--- a/lib/Target/Mips/MCTargetDesc/Android.mk
+++ b/lib/Target/Mips/MCTargetDesc/Android.mk
@@ -10,9 +10,11 @@
   MipsAsmBackend.cpp \
   MipsDirectObjLower.cpp \
   MipsELFObjectWriter.cpp \
+  MipsELFStreamer.cpp \
   MipsMCAsmInfo.cpp \
   MipsMCCodeEmitter.cpp \
-  MipsMCTargetDesc.cpp
+  MipsMCTargetDesc.cpp \
+  MipsReginfo.cpp
 
 # For the host
 # =====================================================
diff --git a/lib/Transforms/ObjCARC/Android.mk b/lib/Transforms/ObjCARC/Android.mk
new file mode 100644
index 0000000..126d7ee
--- /dev/null
+++ b/lib/Transforms/ObjCARC/Android.mk
@@ -0,0 +1,38 @@
+LOCAL_PATH:= $(call my-dir)
+
+transforms_objcarc_SRC_FILES := \
+  DependencyAnalysis.cpp \
+  ObjCARCAliasAnalysis.cpp \
+  ObjCARCAPElim.cpp \
+  ObjCARCContract.cpp \
+  ObjCARC.cpp \
+  ObjCARCExpand.cpp \
+  ObjCARCOpts.cpp \
+  ObjCARCUtil.cpp \
+  ProvenanceAnalysis.cpp
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES)
+LOCAL_MODULE:= libLLVMTransformObjCARC
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES)
+LOCAL_MODULE:= libLLVMTransformObjCARC
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Transforms/Scalar/Android.mk b/lib/Transforms/Scalar/Android.mk
index ac4a65e..c20b9d9 100644
--- a/lib/Transforms/Scalar/Android.mk
+++ b/lib/Transforms/Scalar/Android.mk
@@ -23,7 +23,6 @@
   LoopUnswitch.cpp \
   LowerAtomic.cpp \
   MemCpyOptimizer.cpp \
-  ObjCARC.cpp \
   Reassociate.cpp \
   Reg2Mem.cpp \
   SCCP.cpp \
diff --git a/shared_llvm.mk b/shared_llvm.mk
index 9294a22..74868cf 100644
--- a/shared_llvm.mk
+++ b/shared_llvm.mk
@@ -38,6 +38,7 @@
   libLLVMScalarOpts \
   libLLVMInstCombine \
   libLLVMInstrumentation \
+  libLLVMTransformObjCARC \
   libLLVMTransformUtils \
   libLLVMipa \
   libLLVMAnalysis \