History log of /external/llvm/lib/VMCore/LLVMContextImpl.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2cb395eae71dacda49ca3fe758618fc3e0701659 05-Feb-2012 Talin <viridia@gmail.com> Efficient Constant Uniquing.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
27dd9cf5d1ec831a1cd0766580e6d1177a9800a3 23-Jan-2012 Chris Lattner <sabre@nondot.org> start the implementation of a new ConstantDataVector and ConstantDataArray
classes, per PR1324. Not all of their helper functions are implemented,
nothing creates them, and the rest of the compiler doesn't handle them yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
9df0fb4e8176325d713ba4eb67791e36cb833432 23-Jan-2012 Chris Lattner <sabre@nondot.org> convert CAZ, UndefValue, and CPN to use DenseMap's again, this time without
using OwningPtr. OwningPtr would barf when the densemap had to reallocate,
which doesn't appear to happen on the regression test suite, but obviously
happens in real life :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
95889fa9c31779c9ef3e71d633b8d9146648bc97 23-Jan-2012 Chris Lattner <sabre@nondot.org> revert r148691 and 148693


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
3755615411713b2b27b1b2ffd3886584295843d1 23-Jan-2012 Chris Lattner <sabre@nondot.org> switch UndefValue and ConstantPointerNull over to DenseMap's for uniquing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
2a82d82936729b02fe1bbdcbfe764a61b8999be1 23-Jan-2012 Chris Lattner <sabre@nondot.org> Replace a use of ConstantUniqueMap for CAZ constants with a simple DenseMap.
Now that the type system rewrite has landed, there is no need for its
complexity and std::map'ness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
ce16339930a2b03e53b4e6399ef59c092a7f2cfa 17-Dec-2011 Dan Gohman <gohman@apple.com> The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
ba3ddf391f5149b8fca073adc3cbca361353929c 15-Jul-2011 Chris Lattner <sabre@nondot.org> bump pointer allocate LLVM IR types, since they are never deallocated.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
c09ef37171b2a6c914ce34928a4ff4a839b21dbe 13-Jul-2011 Chris Lattner <sabre@nondot.org> stop leaking all named struct types with an empty name. Thanks
to Benjamin Kramer for steering me in the right direction here.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
1852e217019507c6329ee3af227dc05c6e517878 12-Jul-2011 Nick Lewycky <nicholas@mxc.ca> TypeMap had a destructor that destroyed the types it held. DenseMap did not, so
destroy those types in ~LLVMContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing. Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
9b0e47efc607f6dcfca34e033d56e4655a7bb893 12-Oct-2010 Dan Gohman <gohman@apple.com> More SmallVectorImpls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
bb811a244567aa8a1522203f15588f4d001b7353 10-Sep-2010 Dale Johannesen <dalej@apple.com> Add X86 MMX type to bitcode and Type.
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
30268be89df6444f5ffb585439b3fbfec9055197 08-Sep-2010 Owen Anderson <resistor@mac.com> Clarify the ownership model of LLVMContext and Module. Namely, contexts own
modules are instantiated in them. If the context is deleted, all of its owned
modules are also deleted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
61c70e98ac3c7504d31dd9bc81c4e9cb998e9984 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
b35798347ea87b8b6d36155b211016a7769f01ab 15-Apr-2010 Dan Gohman <gohman@apple.com> Fix a bunch of namespace polution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
42a4ee0a35b4672311c1b988bd883167de9f88cd 06-Apr-2010 Chris Lattner <sabre@nondot.org> give LLVMContext an inline asm diagnostic hook member.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
c1dc0679706f7538cd17169b920967c54661e5b6 22-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Free all Constants in ~LLVMConstantImpl. We avoid assertion failures
by dropping all references from all constants that can use other
constants before trying to destroy any of them.

I also had to free bugpoint's Module in ~BugDriver().



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
b4cc66d7b71357d379257930f96929e26697805d 21-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Re-add the Metadata.h include to LLVMContextImpl.h so that MDNode is complete
where FoldingSet<MDNode> is instantiated. Clang and MSVC complain; gcc
doesn't.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
2f1efd639c8659582d0df2b8f927a018b057037f 21-Mar-2010 Jeffrey Yasskin <jyasskin@google.com> Move the LLVMContextImpl implementation into a .cpp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
48b2f3e4850cd27d54224cd42da8a160d6b95984 05-Aug-2009 Owen Anderson <resistor@mac.com> Factor some of the constants+context related code out into a separate header, to make LLVMContextImpl.h
not hideous. Also, fix some MSVC compile errors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
d03eecd063a18ce0c505a87afcb04db26c035bc9 04-Aug-2009 Owen Anderson <resistor@mac.com> Privatize the last bit of Constant-creation state.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
7b4e503cdc32eb7e8491f028d946f5528025ea7e 02-Aug-2009 Edward O'Callaghan <eocallaghan@auroraux.org> One two many newlines at end of file LLVMContextImpl.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
079029b949700ca062f148fd6a17be5bc5c3eac6 02-Aug-2009 Edward O'Callaghan <eocallaghan@auroraux.org> Fix no newline at end of LLVMContextImpl.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
647e3016de18d2fc8b0f233a0b356809e3fdcc54 31-Jul-2009 Owen Anderson <resistor@mac.com> Move the metadata constructors back to 2.5 syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
9e9a0d5fc26878e51a58a8b57900fcbf952c2691 31-Jul-2009 Owen Anderson <resistor@mac.com> Move more code back to 2.5 APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
0a9f7b9c3ebe7d0ec033462e1a7c9101279956f9 28-Jul-2009 Devang Patel <dpatel@apple.com> Rename MDNode.h header. It defines MDnode and other metadata classes.
New name is Metadata.h.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
af7ec975870f92245f1f1484ac80a1e2db6a0afa 28-Jul-2009 Owen Anderson <resistor@mac.com> Return ConstantVector to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
1fd7096407d5e598ed3366a1141548e71273f1c5 28-Jul-2009 Owen Anderson <resistor@mac.com> Change ConstantArray to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
8fa3338ed2400c1352b137613d2c2c70d1ead695 28-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantStruct back to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
6f83c9c6ef0e7f79825a0a8f22941815e4b684c7 27-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantFP construction back to the 2.5-ish API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
03d7651c3652e1f0cc86e79b26585d86818da9cf 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove Value::{isName, getNameRef}.

Also, change MDString to use a StringRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
eed707b1e6097aac2bb6b3d47271f6300ace7f2e 25-Jul-2009 Owen Anderson <resistor@mac.com> Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
5bd68393ed87bcedc53f5998f1af9c906f5a1b4e 24-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the ConstantVector tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
006c77df8cc7f6a9dac575600b797b8ba32b29eb 24-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the ConstantStruct table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
6316fbcb04af00fe76b6526fab09f51484014b3e 23-Jul-2009 Daniel Dunbar <daniel@zuster.org> Convert StringMap to using StringRef for its APIs.
- Yay for '-'s and simplifications!

- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.

- NIFC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
2f9c3b002d3cb465fefc5f4b2535ca994c5e9283 23-Jul-2009 Devang Patel <dpatel@apple.com> MDString
- Rename member function size(). New name is length().
- Store string beginning and length. Earlier it used to store string end.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
104cf9e02b0ed94d4173869a598af6c6972a8660 23-Jul-2009 Devang Patel <dpatel@apple.com> Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
822ccd9974a17979d2cb9c6c118f94549055b7d4 21-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the ConstantArray table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
16e298f98024bcff5c7219a96cac216114c30dad 21-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the first of the value maps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
ce032b483ca96093b84f69178cdb2d047e124332 17-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the MDNode uniquing table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
aad3fb7362aff151e97ad457005ea3f2872fe868 17-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the MDString uniquing table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
914e50c841bbc248ab94144c11813b5785b1292d 16-Jul-2009 Owen Anderson <resistor@mac.com> Privatize the ConstantFP table. I'm on a roll!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp
001dbfebcbbded8c8e74b19e838b50da2b6c6fb5 16-Jul-2009 Owen Anderson <resistor@mac.com> Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a number of issues in
our current context-passing stuff, which is also fixed here


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/LLVMContextImpl.cpp