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
|