1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 06:22:56 +02:00
llvm-mirror/lib/Target/AArch64
Akira Hatanaka 0fb89f87e0 Reduce the size of MCRelaxableFragment.
MCRelaxableFragment previously kept a copy of MCSubtargetInfo and
MCInst to enable re-encoding the MCInst later during relaxation. A copy
of MCSubtargetInfo (instead of a reference or pointer) was needed
because the feature bits could be modified by the parser.

This commit replaces the MCSubtargetInfo copy in MCRelaxableFragment
with a constant reference to MCSubtargetInfo. The copies of
MCSubtargetInfo are kept in MCContext, and the target parsers are now
responsible for asking MCContext to provide a copy whenever the feature
bits of MCSubtargetInfo have to be toggled.
 
With this patch, I saw a 4% reduction in peak memory usage when I
compiled verify-uselistorder.lto.bc using llc.

rdar://problem/21736951

Differential Revision: http://reviews.llvm.org/D14346

llvm-svn: 253127
2015-11-14 06:35:56 +00:00
..
AsmParser Reduce the size of MCRelaxableFragment. 2015-11-14 06:35:56 +00:00
Disassembler [MC layer][AArch64] llvm-mc accepts 4-bit immediate values for 2015-10-05 13:42:31 +00:00
InstPrinter Make a bunch of static arrays const. 2015-10-18 05:15:34 +00:00
MCTargetDesc [MC] Use LShr for constant evaluation of ">>" on non-arm64 darwin. 2015-11-11 00:51:36 +00:00
TargetInfo
Utils
AArch64.h
AArch64.td [AsmParser] Backends can parameterize ASM tokenization. 2015-11-09 00:31:07 +00:00
AArch64A53Fix835769.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64A57FPLoadBalancing.cpp
AArch64AddressTypePromotion.cpp
AArch64AdvSIMDScalarPass.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64AsmPrinter.cpp
AArch64BranchRelaxation.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64CallingConvention.h
AArch64CallingConvention.td
AArch64CleanupLocalDynamicTLSPass.cpp AArch64: Make getNextNode() cleanup in r249764 more clear 2015-10-09 16:54:54 +00:00
AArch64CollectLOH.cpp [AArch64][CollectLOH] Remove an invalid assertion and add a test case exposing it. 2015-08-31 19:02:00 +00:00
AArch64ConditionalCompares.cpp
AArch64ConditionOptimizer.cpp
AArch64DeadRegisterDefinitionsPass.cpp
AArch64ExpandPseudoInsts.cpp
AArch64FastISel.cpp [AArch64][FastISel] Don't even try to select vector icmps. 2015-11-06 23:16:53 +00:00
AArch64FrameLowering.cpp Remove windows line endings introduced by r252177. NFC. 2015-11-05 21:54:58 +00:00
AArch64FrameLowering.h
AArch64InstrAtomics.td
AArch64InstrFormats.td [MC layer][AArch64] llvm-mc accepts 4-bit immediate values for 2015-10-05 13:42:31 +00:00
AArch64InstrInfo.cpp replace MachineCombinerPattern namespace and enum with enum class; NFCI 2015-11-05 19:34:57 +00:00
AArch64InstrInfo.h replace MachineCombinerPattern namespace and enum with enum class; NFCI 2015-11-05 19:34:57 +00:00
AArch64InstrInfo.td [AArch64] Add UABDL patterns for log2 shuffle. 2015-11-09 13:10:52 +00:00
AArch64ISelDAGToDAG.cpp Make a bunch of static arrays const. 2015-10-18 05:15:34 +00:00
AArch64ISelLowering.cpp AArch64: add experimental support for address tagging. 2015-11-10 00:44:23 +00:00
AArch64ISelLowering.h [AArch64] add overrides for isCheapToSpeculateCttz() and isCheapToSpeculateCtlz() 2015-11-10 18:11:37 +00:00
AArch64LoadStoreOptimizer.cpp [AArch64] Fix halfword load merging for big-endian targets 2015-11-10 11:04:18 +00:00
AArch64MachineFunctionInfo.h
AArch64MCInstLower.cpp
AArch64MCInstLower.h
AArch64PBQPRegAlloc.cpp
AArch64PBQPRegAlloc.h
AArch64PerfectShuffle.h
AArch64PromoteConstant.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64RegisterInfo.cpp
AArch64RegisterInfo.h
AArch64RegisterInfo.td
AArch64SchedA53.td
AArch64SchedA57.td
AArch64SchedA57WriteRes.td
AArch64SchedCyclone.td
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64StorePairSuppress.cpp
AArch64Subtarget.cpp AArch64: Default AArch64Subtarget::ReserveX18 to true on darwin 2015-11-13 23:05:46 +00:00
AArch64Subtarget.h AArch64: add experimental support for address tagging. 2015-11-10 00:44:23 +00:00
AArch64TargetMachine.cpp constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
AArch64TargetTransformInfo.cpp Remove templates from CostTableLookup functions. All instantiations had the same type. 2015-10-28 04:02:12 +00:00
AArch64TargetTransformInfo.h constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile