Update config.h files.
Add RS SubtargetFeature for +long64 on ARM devices.
Adjust Android.mk for added/removed files:
+ Delinearization.cpp
- PathNumbering.cpp
- PathProfileInfo.cpp
- PathProfileVerifier.cpp
- ProfileDataLoader.cpp
- ProfileDataLoaderPass.cpp
- ProfileEstimatorPass.cpp
- ProfileInfo.cpp
- ProfileInfoLoader.cpp
- ProfileInfoLoaderPass.cpp
- ProfileVerifierPass.cpp
+ LiveRegUnits.cpp
- ShrinkWrapping.cpp
+ StackMaps.cpp
- StrongPHIElimination.cpp
+ DIEHash.cpp
+ LegacyPassManager.cpp
+ ELF.cpp
+ Unicode.cpp
- MipsOptimizeMathLibCalls.cpp
- MipsELFStreamer.cpp
+ MipsTargetStreamer.cpp
- EdgeProfiling.cpp
+ DataFlowSanitizer.cpp
+ DebugIR.cpp
- OptimalEdgeProfiling.cpp
- PathProfiling.cpp
- ProfilingUtils.cpp
- BasicBlockPlacement.cpp
+ LoopRerollPass.cpp
+ PartiallyInlineLibCalls.cpp
+ SampleProfile.cpp
+ GlobalStatus.cpp
Change-Id: I17dcf0bf53a1720acd8226ae3e30d84993562a91
* For Jellybean MR1: Synced to upstream r162314
* For Jellybean MR2: Synced to upstream r177342
* For Key Lime Pie: Synced to upstream r187913
+* For FUTURE: Synced to LLVM 3.4 r197944
+* Cherry-pick on 2014/2/13: https://llvm.org/svn/llvm-project/llvm/trunk@201362 (Contact srhines for merge questions.)
+* Recent downstreaming on 2014/2/11: Synced to r197944 (Contact srhines for merge questions.)
* Recent downstreaming on 2013/8/8: Synced to r187913 (Contact srhines for merge questions.)
* Recent downstreaming on 2013/6/13: Synced to r183849 (Contact srhines for merge questions.)
* Recent downstreaming on 2013/5/3: Synced to r180947 (Contact srhines for merge questions.)
#define LLVM_VERSION_MAJOR 3
/* Minor version of the LLVM API */
-#define LLVM_VERSION_MINOR 3
+#define LLVM_VERSION_MINOR 4
/* Define if the OS needs help to load dependent libraries for dlopen(). */
/* #undef LTDL_DLOPEN_DEPLIBS */
#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "LLVM 3.1svn"
+#define PACKAGE_STRING "LLVM 3.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "llvm"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.1svn"
+#define PACKAGE_VERSION "3.4"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
#define LLVM_VERSION_MAJOR 3
/* Minor version of the LLVM API */
-#define LLVM_VERSION_MINOR 3
+#define LLVM_VERSION_MINOR 4
#include "llvm/Config/llvm-platform-config.h"
#define LLVM_VERSION_MAJOR 3
/* Minor version of the LLVM API */
-#define LLVM_VERSION_MINOR 3
+#define LLVM_VERSION_MINOR 4
/* Define if the OS needs help to load dependent libraries for dlopen(). */
/* #undef LTDL_DLOPEN_DEPLIBS */
#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "LLVM 3.3"
+#define PACKAGE_STRING "LLVM 3.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "llvm"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.3"
+#define PACKAGE_VERSION "3.4"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
#define LLVM_VERSION_MAJOR 3
/* Minor version of the LLVM API */
-#define LLVM_VERSION_MINOR 3
+#define LLVM_VERSION_MINOR 4
#include "llvm/Config/llvm-platform-config.h"
CodeMetrics.cpp \
ConstantFolding.cpp \
CostModel.cpp \
+ Delinearization.cpp \
DependenceAnalysis.cpp \
DomPrinter.cpp \
DominanceFrontier.cpp \
ModuleDebugInfoPrinter.cpp \
NoAliasAnalysis.cpp \
PHITransAddr.cpp \
- PathNumbering.cpp \
- PathProfileInfo.cpp \
- PathProfileVerifier.cpp \
PostDominators.cpp \
- ProfileDataLoader.cpp \
- ProfileDataLoaderPass.cpp \
- ProfileEstimatorPass.cpp \
- ProfileInfo.cpp \
- ProfileInfoLoader.cpp \
- ProfileInfoLoaderPass.cpp \
- ProfileVerifierPass.cpp \
PtrUseVisitor.cpp \
RegionInfo.cpp \
RegionPass.cpp \
LiveRangeCalc.cpp \
LiveRangeEdit.cpp \
LiveRegMatrix.cpp \
+ LiveRegUnits.cpp \
LiveStackAnalysis.cpp \
LiveVariables.cpp \
LLVMTargetMachine.cpp \
ScheduleDAGPrinter.cpp \
ScoreboardHazardRecognizer.cpp \
ShadowStackGC.cpp \
- ShrinkWrapping.cpp \
SjLjEHPrepare.cpp \
SlotIndexes.cpp \
Spiller.cpp \
SpillPlacement.cpp \
SplitKit.cpp \
StackColoring.cpp \
+ StackMaps.cpp \
StackProtector.cpp \
StackSlotColoring.cpp \
- StrongPHIElimination.cpp \
TailDuplication.cpp \
TargetFrameLoweringImpl.cpp \
TargetInstrInfo.cpp \
AsmPrinterInlineAsm.cpp \
ARMException.cpp \
DIE.cpp \
+ DIEHash.cpp \
DwarfAccelTable.cpp \
DwarfCFIException.cpp \
DwarfCompileUnit.cpp \
AsmPrinterInlineAsm.cpp \
ARMException.cpp \
DIE.cpp \
+ DIEHash.cpp \
DwarfAccelTable.cpp \
DwarfCFIException.cpp \
DwarfCompileUnit.cpp \
LLVMContext.cpp \
LLVMContextImpl.cpp \
LeakDetector.cpp \
+ LegacyPassManager.cpp \
Metadata.cpp \
Module.cpp \
Pass.cpp \
MCAsmInfo.cpp \
MCAsmInfoCOFF.cpp \
MCAsmInfoDarwin.cpp \
+ MCAsmInfoELF.cpp \
MCAsmStreamer.cpp \
MCAssembler.cpp \
MCCodeEmitter.cpp \
Archive.cpp \
Binary.cpp \
COFFObjectFile.cpp \
+ ELF.cpp \
ELFObjectFile.cpp \
Error.cpp \
MachOObjectFile.cpp \
ToolOutputFile.cpp \
Triple.cpp \
Twine.cpp \
+ Unicode.cpp \
Valgrind.cpp \
Watchdog.cpp \
circular_raw_ostream.cpp \
FeatureAvoidPartialCPSR,
FeatureT2XtPk]>;
+// RenderScript-specific support for 64-bit long types on all targets
+def FeatureLong64 : SubtargetFeature<"long64", "UseLong64",
+ "true",
+ "long type is forced to be 64-bit">;
+
+
class ProcNoItin<string Name, list<SubtargetFeature> Features>
: Processor<Name, NoItineraries, Features>;
Thumb2DSP = false;
UseNaClTrap = false;
UnsafeFPMath = false;
+ UseLong64 = false;
}
void ARMSubtarget::resetSubtargetFeatures(const MachineFunction *MF) {
/// Target machine allowed unsafe FP math (such as use of NEON fp)
bool UnsafeFPMath;
+ /// Force long to be a 64-bit type (RenderScript-specific)
+ bool UseLong64;
+
/// stackAlignment - The minimum alignment known to hold of the stack frame on
/// entry to the function and which must be maintained by every function.
unsigned stackAlignment;
MipsMachineFunction.cpp \
MipsMCInstLower.cpp \
MipsModuleISelDAGToDAG.cpp \
- MipsOptimizeMathLibCalls.cpp \
MipsOs16.cpp \
MipsRegisterInfo.cpp \
MipsSEFrameLowering.cpp \
mips_mc_desc_SRC_FILES := \
MipsAsmBackend.cpp \
MipsELFObjectWriter.cpp \
- MipsELFStreamer.cpp \
MipsMCAsmInfo.cpp \
MipsMCCodeEmitter.cpp \
MipsMCTargetDesc.cpp \
- MipsReginfo.cpp
+ MipsReginfo.cpp \
+ MipsTargetStreamer.cpp
# For the host
# =====================================================
instrumentation_SRC_FILES := \
AddressSanitizer.cpp \
BoundsChecking.cpp \
- EdgeProfiling.cpp \
+ DataFlowSanitizer.cpp \
+ DebugIR.cpp \
GCOVProfiling.cpp \
Instrumentation.cpp \
MemorySanitizer.cpp \
- OptimalEdgeProfiling.cpp \
- PathProfiling.cpp \
- ProfilingUtils.cpp \
ThreadSanitizer.cpp
# For the host
transforms_scalar_SRC_FILES := \
ADCE.cpp \
- BasicBlockPlacement.cpp \
CodeGenPrepare.cpp \
ConstantProp.cpp \
CorrelatedValuePropagation.cpp \
LoopDeletion.cpp \
LoopIdiomRecognize.cpp \
LoopInstSimplify.cpp \
+ LoopRerollPass.cpp \
LoopRotation.cpp \
LoopStrengthReduce.cpp \
LoopUnrollPass.cpp \
LoopUnswitch.cpp \
LowerAtomic.cpp \
MemCpyOptimizer.cpp \
+ PartiallyInlineLibCalls.cpp \
Reassociate.cpp \
Reg2Mem.cpp \
SCCP.cpp \
SROA.cpp \
+ SampleProfile.cpp \
Scalar.cpp \
ScalarReplAggregates.cpp \
SimplifyCFGPass.cpp \
CmpInstAnalysis.cpp \
CodeExtractor.cpp \
DemoteRegToStack.cpp \
+ GlobalStatus.cpp \
InlineFunction.cpp \
InstructionNamer.cpp \
LCSSA.cpp \