1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib
Zhou Sheng f4e0514807 The patch is to improve the memory footprint of pass GlobalOpt.
Also check in a case to repeat the issue, on which 'opt -globalopt' consumes 1.6GB memory.
The big memory footprint cause is that current GlobalOpt one by one hoists and stores the leaf element constant into the global array, in each iteration, it recreates the global array initializer constant and leave the old initializer alone. This may result in many obsolete constants left.
For example:  we have global array @rom = global [16 x i32] zeroinitializer
After the first element value is hoisted and installed:   @rom = global [16 x i32] [ 1, 0, 0, ... ]
After the second element value is installed:  @rom = global [16 x 32] [ 1, 2, 0, 0, ... ]        // here the previous initializer is obsolete
...
When the transform is done, we have 15 obsolete initializers left useless.

llvm-svn: 169079
2012-12-01 04:38:53 +00:00
..
Analysis Move the InstVisitor utility into VMCore where it belongs. It heavily 2012-11-30 03:08:41 +00:00
Archive
AsmParser Add back support for reading and parsing 'deplibs'. 2012-11-28 08:41:48 +00:00
Bitcode Add back support for reading and parsing 'deplibs'. 2012-11-28 08:41:48 +00:00
CodeGen misched: Fix RegisterPressureTracker handling of DebugVals. 2012-12-01 01:22:49 +00:00
DebugInfo The section is .debug_line. 2012-11-27 01:40:36 +00:00
ExecutionEngine Move the InstVisitor utility into VMCore where it belongs. It heavily 2012-11-30 03:08:41 +00:00
Linker Remove the dependent libraries feature. 2012-11-27 09:55:56 +00:00
MC MC/AsmParser: Avoid unnecessary use of SourceMgr::FindBufferForLoc() 2012-12-01 01:38:48 +00:00
Object Object: Pass the buffer name through when making a copy. 2012-11-29 20:08:03 +00:00
Support Add support for fission attributes/forms/operations -> string. 2012-11-30 23:20:43 +00:00
TableGen
Target Codegen failure for vmull with small vectors 2012-11-30 19:08:04 +00:00
Transforms The patch is to improve the memory footprint of pass GlobalOpt. 2012-12-01 04:38:53 +00:00
VMCore VMCore/DebugInfo.cpp: DICompileUnit::getSubprograms(): Check numOperands(). 2012-12-01 02:23:45 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile