1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/unittests
Duncan P. N. Exon Smith c8fd56ec31 AsmPrinter: Change DIEValue to be stored by value
Change `DIEValue` to be stored/passed/etc. by value, instead of
reference.  It's now a discriminated union, with a `Val` field storing
the actual type.  The classes that used to inherit from `DIEValue` no
longer do.  There are two categories of these:

  - Small values fit in a single pointer and are stored by value.
  - Large values require auxiliary storage, and are stored by reference.

The only non-mechanical change is to tools/dsymutil/DwarfLinker.cpp.  It
was relying on `DIEInteger`s being passed around by reference, so I
replaced that assumption with a `PatchLocation` type that stores a safe
reference to where the `DIEInteger` lives instead.

This commit causes a temporary regression in memory usage, since I've
left merging `DIEAbbrevData` into `DIEValue` for a follow-up commit.  I
measured an increase from 845 MB to 879 MB, around 3.9%.  The follow-up
drops it lower than the starting point, and I've only recently brought
the memory this low anyway, so I'm committing these changes separately
to keep them incremental.  (I also considered swapping the commits, but
the other one first would cause a lot more code churn.)

(I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
see r236629 for details.)

llvm-svn: 238349
2015-05-27 19:22:50 +00:00
..
ADT Adding profile and version parsers to ARMTargetParser 2015-05-22 18:17:55 +00:00
Analysis Make getModRefInfo(Instruction *) not crash on certain types of instructions 2015-04-28 19:19:14 +00:00
AsmParser AsmParser: Require a terminating null character when creating memory buffer. 2015-05-20 20:41:27 +00:00
Bitcode While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
CodeGen AsmPrinter: Change DIEValue to be stored by value 2015-05-27 19:22:50 +00:00
DebugInfo Fix compilation of PDBApiTest. 2015-05-01 20:51:49 +00:00
ExecutionEngine Simplify IRBuilder::CreateCall* by using ArrayRef+initializer_list/braced init only 2015-05-18 22:13:54 +00:00
IR IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
LineEditor Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
Linker Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MC [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
Option Option parsing: properly handle flag aliases for joined options (PR23394) 2015-05-04 18:00:13 +00:00
ProfileData InstrProf: Treat functions with a coverage map but no profile as unreached 2015-05-13 22:03:04 +00:00
Support [Support] Fix ErrorOr equality operator. 2015-05-21 23:15:00 +00:00
Transforms IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
CMakeLists.txt AsmParser: Require a terminating null character when creating memory buffer. 2015-05-20 20:41:27 +00:00
Makefile AsmParser: Require a terminating null character when creating memory buffer. 2015-05-20 20:41:27 +00:00
Makefile.unittest With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore. 2014-02-28 16:16:51 +00:00