1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Go to file
Duncan P. N. Exon Smith d908c6425f IR: Use DenseSet instead of DenseMap for ConstantUniqueMap; NFC
Use a DenseSet instead of a DenseMap for constants in LLVMContextImpl.
Last time I looked at this was some time before r223588, when
DenseSet<V> had no advantage over DenseMap<V,char>.  After r223588,
there's a 50% memory savings.

This is all mechanical.  There were little bits of missing API from
DenseSet so I added the trivial implementations:

  - iterator::operator++(int)
  - template <class LookupKeyT> insert_as(ValueTy, LookupKeyT)

There should be no functionality change, just reduced memory consumption
(this wasn't on a profile or anything; just a cleanup I stumbled on).

llvm-svn: 265577
2016-04-06 17:56:08 +00:00
bindings [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
cmake [CMake] Provide the ability to skip stripping when generating dSYMs 2016-03-31 20:03:19 +00:00
docs AMDGPU: Document address space mapping 2016-04-06 01:29:19 +00:00
examples [Kaleidoscope] Rename Error -> LogError in Chapters 2-5. 2016-03-25 17:41:26 +00:00
include IR: Use DenseSet instead of DenseMap for ConstantUniqueMap; NFC 2016-04-06 17:56:08 +00:00
lib IR: Use DenseSet instead of DenseMap for ConstantUniqueMap; NFC 2016-04-06 17:56:08 +00:00
projects
resources
test Revert r265450 "[X86] Reuse EFLAGS and form LOCKed ops when only user is SETCC." 2016-04-06 16:44:38 +00:00
tools Revert "[AMDGPU] llvm-objdump: Minimal HSA Code Object disassembler support." 2016-04-06 16:30:21 +00:00
unittests IRMover: Steal arguments when moving functions, NFC 2016-04-06 06:38:15 +00:00
utils vim: add missing keyword 2016-04-06 17:42:16 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt dos2unix CMakeLists.txt 2016-03-28 18:19:32 +00:00
CODE_OWNERS.TXT Update owners to reflect recent changes 2016-04-01 20:40:49 +00:00
configure
CREDITS.TXT
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:41:06 +00:00
llvm.spec.in
LLVMBuild.txt
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.