cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/include/llvm/IR/Attributes.h
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/IR/Attributes.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/IR/Attributes.h
|
118a0659ab8a4d0e0af343b88e5fa71a5c1eb6a6 |
|
24-Sep-2013 |
Reid Kleckner <reid@kleckner.net> |
Explicitly request unsigned enum types when desired The underlying type of all plain enums in MSVC is 'int', even if the enumerator contains large 32-bit unsigned values or values greater than UINT_MAX. The only way to get a large or unsigned enum type is to request it explicitly with the C++11 strong enum types feature. However, since LLVM isn't C++11 yet, I had to add a conditional LLVM_ENUM_INT_TYPE to Compiler.h to control its usage. The motivating true positive for this change is compiling PointerIntPair with MSVC for win64. The PointerIntMask value is supposed to be pointer sized value of all ones with some low zeros. Instead, it's truncated to 32-bits! We are only saved later because it is sign extended back in the AND with int64_t, and we happen to want all ones. This silences lots of -Wmicrosoft warnings during a clang self-host targeting Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
5768bb8d77892926dff0d078b1fb08c14ea791f3 |
|
23-Aug-2013 |
Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> |
Add function attribute 'optnone'. This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
9e2ef7780b91d8e01a9ab172f80272fc94f6956b |
|
25-Jul-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a way to add a kind-value string pair to an attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
2253a2f52f3c46ae75cd05f5885acb987bd1d6b6 |
|
27-Jun-2013 |
Michael Gottesman <mgottesman@apple.com> |
Added support for the Builtin attribute. The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin, rdar://problem/13727199 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
77226a03dca98e6237c1068f2652fe41bea7b687 |
|
24-May-2013 |
Diego Novillo <dnovillo@google.com> |
Add a new function attribute 'cold' to functions. Other than recognizing the attribute, the patch does little else. It changes the branch probability analyzer so that edges into blocks postdominated by a cold function are given low weight. Added analysis and code generation tests. Added documentation for the new attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
aae0298921d946a64385052ce6e678d36f936fb3 |
|
01-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Now that the underlying issue is fixed, revert r180750 and r180722. The cause of the windows failures was fixed by r180791. Revert to the state after Sabre's original revert. Original message: revert r179735, it has no testcases, and doesn't really make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
76f103e02164d27b41bd92a9767c7012482ba31a |
|
30-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change getSlotIndex to return unsigned. The actual storage was already using unsigned, but the interface was using uint64_t. This is wasteful on 32 bits and looks to be the root causes of a miscompilation on Windows where a value was being sign extended to 64bits to compare with the result of getSlotIndex. Patch by Pasi Parviainen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
f2e83499fcc41484cb5dac073c4fe87525926d2b |
|
29-Apr-2013 |
Reid Kleckner <reid@kleckner.net> |
Revert "revert r179735, it has no testcases, and doesn't really make sense." This un-reverts r179735 and reverts commit r180574. This fixes assertion failures for me locally and should fix the failures on Windows reported widely on llvm-dev. We should check if the bots caught this and if so why not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
29fce9ad39636d38f43add5d7c23e83d9d1cc249 |
|
25-Apr-2013 |
Chris Lattner <sabre@nondot.org> |
revert r179735, it has no testcases, and doesn't really make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
456ca048af35163b9f52187e92a23ee0a9f059e8 |
|
20-Apr-2013 |
Stephen Lin <stephenwlin@gmail.com> |
Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
a88a016f2d99488f2eff0eb6be256f2f43602afa |
|
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Make the TargetIndependent flag have the right boolean value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8a6a7bb6a601061031cddd77129532a3b467300b |
|
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Cleanup patch: Semantics of parameters named Index and Idx were inconsistent between "include/llvm/IR/Attributes.h", "lib/IR/AttributeImpl.h" and "lib/IR/Attributes.cpp": sometimes these were fixed 1-based indexes of IR parameters (or AttributeSet::ReturnIndex for IR return values or AttributeSet::FunctionIndex for IR functions), other times they were the internal slot for storage in the underlying AttributeSetImpl. I renamed usage of the former to "Index" and usage of the latter to "Slot" ("Slot" was already being used consistently for the latter in a subset of cases) Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
bb1b63c48397a3bac5d00f2ac9d33cc14efd714c |
|
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
This patch addresses two cleanup issues: 1. Verify::VerifyParameterAttrs in "lib/IR/Verifier.cpp" and AttrBuilder::removeFunctionOnlyAttrs in "lib/IR/Attributes.cpp" (only called by Verify::VerifyFunctionAttrs) separately maintained a list of function-only attribute types. I've consolidated the logic into a new function used for both cases in "lib/IR/Verifier.cpp", so this logic is in one place (other than the AsmParser front-end) 2. Various functions in "lib/IR/Verifier.cpp" passed AttributeSet around by reference needlessly, as it's just a handle to an immutable pimpl body. Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
b1ac6e617291e2a628bc460933bde97c73466cb0 |
|
18-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Add an option `-enable-old-style-attr-syntax' to print out function attributes in the "old" style. It's sometimes beneficial to emit a testcase with the old style attribute syntax. Allow someone to do this. <rdar://problem/13563209> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
72f0cdea4160ec3a5f5123831a57f96d3a95456c |
|
18-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove default copy ctor/assignment, makes AttributeSet trivially copyable. And enables SmallVector's pod optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
9106f73246168fb30d26fb14085c0b3d81fcd350 |
|
13-Mar-2013 |
Reed Kotler <rkotler@mips.com> |
Add some additonal attribute helper functions. Test will be on follow up putback to clang for mips16. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8eec41fc778e99d42172a7f6de76faa43a6d8847 |
|
26-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
Unify clang/llvm attributes for asan/tsan/msan (LLVM part) These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
143d46476cdcf5b88b9ee18ebd799e5820a2db0e |
|
22-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Implement the NoBuiltin attribute. The 'nobuiltin' attribute is applied to call sites to indicate that LLVM should not treat the callee function as a built-in function. I.e., it shouldn't try to replace that function with different code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
3f213e7b3a6829a154d4e8ceb7d8689b389bd5dc |
|
18-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Futureproof AttrBuild if we ever have more than 64 attr enum values. Currently we're at 34. Bitset should compile into virtually the same code as uint64_t here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
886a7663c72cb04eaee58cb6997c394f5096a8b9 |
|
16-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove comma at the end of enum. Still my favourite C++11 feature. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c835b8c30127d15599de2d614434d39a6cc3ae17 |
|
16-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Turn the enum attributes DenseSet in AttrBuilder into a set of bits. Avoids malloc and is a lot denser. We lose iteration over target independent attributes, but that's a strange interface anyways and didn't have any users outside of AttrBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
0e9d5d059c4aa959e9ef4dff011dbd38d45a1016 |
|
13-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add some accessor and query methods for retrieving Attribute objects and such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
ad19d9c4228718b0ac167d0dfa013d14c3c9f135 |
|
13-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a default empty string to the 'value' of a string attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
b29ce26ea60f7516c853318ffbfc107fde9ad897 |
|
11-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add support for printing out the attribute groups. This emits the attribute groups that are used by the functions. (It currently doesn't print out return type or parameter attributes within attribute groups.) Note: The functions still retrieve their attributes from the "old" bitcode format (using the deprecated 'Raw()' method). This means that string attributes within an attribute group will not show up during a disassembly. This will be addressed in a future commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
ab39afa9d9b99c61842c8e3d0eb706bd16efdcf3 |
|
11-Feb-2013 |
Kostya Serebryany <kcc@google.com> |
[tsan/msan] adding thread_safety and uninitialized_checks attributes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
87de71cb9f12d874e88d4f314ab245985c1b36bc |
|
10-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add 'empty' query methods to the builder and use them in the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
85b3fbecdfe934ac7519a8831c4bd262cba99d12 |
|
10-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add accessor for the LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
16274258d16342a2f91aaa3690b78ce74e4105f1 |
|
09-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a DenseMapInfo class for the AttributeSet. We are going to place the AttributeSet into a DenseMap during assembly writing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c3662eeaa4a1a4061fc6d5c81e3eed48c5d9da26 |
|
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c342d9d345acdbd95577c7c6e9ce7d3a1bdb57bf |
|
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a 'StringRef' version of hasAttribute. Fix the 'operator==' and 'hasAttributes' queries to take into account target-dependent attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
85df6b43403d3ebf5d80023a85699c6fb254941a |
|
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add methods to merge an AttrBuilder into another builder. This is useful when parsing an object that references multiple attribute groups. N.B. If both builders have alignments specified, then they should match! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
64754f499058b5dc748ea6d06a084af0ed539ec4 |
|
06-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add the target-dependent (string) attributes from the AttrBuilder to the AttributeSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8c74ecfbddabe89e150abff4fdff0a27108874b9 |
|
05-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert to storing the attribute's internals as enums, integers, and strings. The stuff we're handing are all enums (Attribute::AttrKind), integers and strings. Don't convert them to Constants, which is an unnecessary step here. The rest of the changes are mostly mechanical. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
ea59f896a672c2e1ef9f02277bce60257aa60989 |
|
05-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add target-dependent versions of addAttribute/removeAttribute to AttrBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
f9271ea159b97e2febedcf095c3c4122cb24d077 |
|
05-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Initial cleanups of the param-attribute code in the bitcode reader/writer. Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced by another encoding. Keep around the current LLVM attribute encoder/decoder code, but move it to the bitcode directories so that no one's tempted to use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
fca0ed28c81a505b0b71605e8b59e4bb6daeda0e |
|
02-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove AttrBuilder::Raw(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
5a4041e7282ca1dba93fe1a97c8260c0ef621f5d |
|
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Change the AttributeImpl to hold a single Constant* for the values. This Constant could be an aggregate to represent multiple values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
f715dbd263149efeb9c684dfdb0637cf84f94399 |
|
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove one of the odious 'Raw' methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
16c4b3cf2943ae2327752cf3de39769d14cfcece |
|
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Add iterators to the AttributeSet class so that we can access the Attributes in a nice way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
39da078977ae98b6bf1c3c76a472ed24f5f2a2d2 |
|
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
s/AttrBuilder::addAttributes/AttrBuilder::addAttribute/g because that's more descriptive of what it actually is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
169d5270751597aed4095ead00401a3374906147 |
|
01-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttrBuilder form of the Attribute::get creators. The AttrBuilder is for building a collection of attributes. The Attribute object holds only one attribute. So it's not really useful for the Attribute object to have a creator which takes an AttrBuilder. This has two fallouts: 1. The AttrBuilder no longer holds its internal attributes in a bit-mask form. 2. The attributes are now ordered alphabetically (hence why the tests have changed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
82aea644c6d2a21464958fe2e3a1cd0f6bfc82db |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the Attribute::hasAttributes() function. That function doesn't make sense anymore because there's only one attribute per Attribute object now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
eddab1550ee10cce3bb26a26e88529cb19451aa3 |
|
31-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r174026, "Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private." It broke many hosts to crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
85238aae1a4b6ac67e16560a9855944191f3db5b |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private. The Attribute::hasAttributes() is kind of meaningless since an Attribute can have only one attribute. And we would rather people use the 'operator==' instead of Attribute::hasAttribute(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8ed701da9aa388c078cc6aecac2fe355974c90d2 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make the AttrBuilder creation method of Attribute private so that people won't use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
b96129dd4856a5473c52daceaabdfd2262bd96f2 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert for now: --- Reverse-merging r174010 into '.': U include/llvm/IR/Attributes.h U lib/IR/Verifier.cpp U lib/IR/Attributes.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c6077eff8b9963b59de21e5d1dfae7a6ea75da36 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttrBuilder version of the Attribute::get function. The AttrBuilder is there to build up multiple attributes. The Attribute class represents only one attribute at a time. So remove this unnecessary builder creator method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
73dee180c836270644dfa7d90f9c5ba877567999 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make sure that the Attribute object represents one attribute only. Several places were still treating the Attribute object as respresenting multiple attributes. Those places now use the AttributeSet to represent multiple attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
ac72eb264c3a8a15cda81aaead6adc8419058666 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove addRetAttributes and addFnAttributes, which aren't useful abstractions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
e74365462a39529ae48ef4d34ec76b4543b8ea29 |
|
31-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert typeIncompatible to return an AttributeSet. There are still places which treat the Attribute object as a collection of attributes. I'm systematically removing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
aa57893e84ba7a35948fcaa99812ba88e58f4797 |
|
30-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the number of 'slots' in the AttributeSetImpl being 0 to indicate that the AttributeSet is empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
6dc3781d44e56f0addf28b06232a50f3f9e6b1af |
|
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a couple of accessor methods to get the kind and values of an attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
606c8e36dfdd28fc589356addd3e2cbb89a32e4d |
|
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert getAttributes() to return an AttributeSetNode. The AttributeSetNode contains all of the attributes. This removes one (hopefully last) use of the Attribute class as a container of multiple attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8232ece5c1e57efe54342fb35610497d50bf894f |
|
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use an AttrBuilder to generate the correct AttributeSet. We no longer accept an encoded integer as representing all of the attributes. Convert this via the AttrBuilder class into an AttributeSet with the correct representation (an AttributeSetImpl that holds a list of Attribute objects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
817abdd8b055059e5930a15704b9f52da4236456 |
|
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
S'more small non-functional changes in comments and #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c22f4aa886443507f8406d30d118fdeeac6a8c6c |
|
29-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Reorder some functions and add comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
6bdbf061c353295669b6bfc271b948158602d1bc |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Try to appease some broken compilers by using 'unsigned' instead of 'uint64_t'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
87e10dfefa94f77937c37b0eb51095540d675cbc |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the AttributeWithIndex class. The AttributeWithIndex class exposed the interior structure of the AttributeSet class. That was gross. Remove it and all of the code that relied upon it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
19d815c04fde6b7b53c2b542813157edfa213842 |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Mid-air collision. reapply r173656. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
98b92f3bf5770e02498549e24b3db75d5862c173 |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rewrite the removeAttr() method. This now uses the AttributeSet object instead of the Attribute / AttributeWithIndex objects. It's fairly simple now. It goes through all of the subsets before the one we're modifying, adds them to the new set. It then adds the modified subset (with the requested attributes removed). And then adds the rest of the subsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
49f6060f16aec4024d644a6ec4ddd3de9b3e8821 |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rewrite the addAttr() method. This now uses the AttributeSet object instead of the Attribute / AttributeWithIndex objects. It's fairly simple now. It goes through all of the subsets before the one we're modifying, adds them to the new set. It then adds the modified subset. And then adds the rest of the subsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
53ff78b2019e96e142986d19dd99f8dd563dc494 |
|
28-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r173646, "Use proper type for the index." Unfortunately, msvc miscompiles it. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
a9b9f0ad802ef6973534a9a247716e4a8e079635 |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use proper type for the index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
3e3e789aede6ec38d39c95d88ad4e8634d5a259b |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use proper return type for attribute index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
d05204aea4977eaec25e96bc7605a7bb9d806fc0 |
|
28-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Push the calculation of the 'Raw' attribute mask down into the implementation. It in turn uses the correct list for calculating the 'Raw' value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
2d5be6c313c0f9e23e56620fa8f8ae8d9b539bf0 |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't erase these methods. They're used during testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c08a5ef6581f2c7550e92d31f63cd65ec29c39e0 |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add special 'get' methods to create an Attribute with an alignment. Also do some random cleanup. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
ec2589863b32da169240c4fa120ef1e3798615d4 |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
s/AttrList/pImpl/g in AttributeSet. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
16f95669ec814d98ce28ad514df603c01d662ee8 |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Fix miscompile. Add back the use of the ArrayRef version of the ::get method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
08c11d302325b3715d77f4208d183c9b2a253b14 |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rearrange some deckchairs. Moving the class before it's use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
09dda440ba6622b64713ef5f7d9531411e3589ea |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
7d38c109aab8654e63e9071c7d948661f6b58433 |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Hide the method that creates an AttributeSet with AttributeWithIndexes. This method will go away once AttributeWithIndex goes away. In the meantime, hide it from general use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
32a57958226e369f964a034da2ce7083a1a34297 |
|
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Convert BuildLibCalls.cpp to using the AttributeSet methods instead of AttributeWithIndex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
483bbd36b8b3f87073feea2e1096f188d0e735b8 |
|
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove dead method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8e47daf2858e980210f3e1f007036b24da342c29 |
|
26-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove some introspection functions. The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
e1f95db4803a48a30fc2a1d5868281a87a36fb85 |
|
25-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add an accessor method to get the slot's index. This will limit the use of AttributeWithIndex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
bb08593980b16fbd9758da6ca4fa9c7964f2f926 |
|
24-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a profile for uniquifying the AttributeSet with the AttributeSetNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
3467e30edf63b6d8a8d446186674ba9e4b7885a9 |
|
24-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Create a new class: AttributeSetNode. This is a helper class for the AttributeSetImpl class. It holds a set of attributes that apply to a single element: function, return type, or parameter. These are uniqued. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
2915a691b9eecde508948d4300428860d1655175 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
5ed3ac1185a52756a55ac043ede983a2ed4ea8f1 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove unused methods and ivars. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
114baee1fa017daefad2339c77b45b9ca3d79a41 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add the IR attribute 'sspstrong'. SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
28d65722d6f283b327b5815914382077fe9c0ab4 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the last of uses that use the Attribute object as a collection of attributes. Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significant changes to how attributes are structured. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8246df61f6de716acf1f8c64fac3c19970a2c174 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKind when removing one attribute. This further encapsulates the use of the attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
defaca00b8087d452df2b783250a48a32658a910 |
|
22-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
More encapsulation work. Use the AttributeSet when we're talking about more than one attribute. Add a function that adds a single attribute. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
e4e85f17564c28cd571dda30146c3f310521acf0 |
|
22-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a new method that adds the AttributeSet at the given index. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
3fc4b96b503fa202411317684a2ba02e41e43072 |
|
21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Have AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute. This further restricts the use of the Attribute class to the Attribute family of classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
c5f1bc88a2eb7ad9ff924ca90cf88494e5f947b9 |
|
21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute. This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
1b0c54f1c5dd61e56cb7cbc435fcb3319cff628f |
|
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use AttributeSet accessor methods instead of Attribute accessor methods. Further encapsulation of the Attribute object. Don't allow direct access to the Attribute object as an aggregate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
956f13440a4aa0297606a4412f4aa091d931592a |
|
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Push some more methods down to hide the use of the Attribute class. Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
|
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
1db9b6957c2565a2322206bd5907530895f1c7ac |
|
10-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert s/Raw/getBitMask/g name change. This is possibly causing LTO test hangings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
a90a99a82b9c5c39fc6dbee9c266dcd7b107fe2f |
|
07-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Rough out a new c'tor for the AttrBuilder class. This c'tor takes the AttributeSet class as the parameter. It will eventually grab the attributes from the specified index and create a new attribute builder with those attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
6f78fbbc630d2b86fb752574f5ad74473f57dfb1 |
|
05-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch the empty and tombstone key enumerators to not have explicit values -- that's not required to fix the bug that was cropping up, and the values selected made the enumeration's underlying type signed and introduced some warnings. This fixes the -Werror build. The underlying issue here was that the DenseMapInfo was casting values completely outside the range of the underlying storage of the enumeration to the enumeration's type. GCC went and "optimized" that into infloops and other misbehavior. By providing designated special values for these keys in the dense map, we ensure they are indeed representable and that they won't be used for anything else. It might be better to reuse None for the empty key and have the tombstone share the value of the sentinel enumerator, but honestly having 2 extra enumerators seemed not to matter and this seems a bit simpler. I'll let Bill shuffle this around (or ask me to shuffle it around) if he prefers it to look a different way. I also made the switch a bit more clear (and produce a better assert) that the enumerators are *never* going to show up and are errors if they do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
3a4779a9211281a1d0c27c97037342329035a185 |
|
05-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
IR/Attributes: Provide EmptyKey and TombstoneKey in part of enum, as workaround for gcc-4.4 take #2. I will investigate, later, what was wrong. I am too tired for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
1bbd644301ed4d8a7efd4ceb15f71c56fa914f28 |
|
05-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Add a method to create an AttributeSet from an AttrBuilder. The Attribute class is eventually going to represent one attribute. So we need this class to create the set of attributes. Add some iterator methods to the builder to access its internal bits in a nice way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
0319888773b36dd61d7d2283cb9a26cac1e5abe8 |
|
05-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Get rid of the 'Bits' mask in the attribute builder. The bit mask thing will be a thing of the past. It's not extensible enough. Get rid of its use here. Opt instead for using a vector to hold the attributes. Note: Some of this code will become obsolete once the rewrite is further along. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
60507d53e7e8e6b0c537675f68204a93c3033de7 |
|
04-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
General cleanups. * Remove dead methods. * Use the 'operator==' method instead of 'contains', which isn't needed. * Fix some comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
22bd64173981bf1251c4b3bfc684207340534ba3 |
|
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Try again to revert the bad patch. The tree was reverted for some unknown reason before the last time. --- Reverse-merging r171442 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp U lib/IR/AttributeImpl.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
ded28aca6195d2d8d3bcbb9cd6b1c2c34c0d9702 |
|
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert patch. Something snuck in there that shouldn't be. --- Reverse-merging r171441 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
8351a60d6da4f5cdab80753ad2266085a6fbf62a |
|
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the 'contains' methods in favor of the 'operator==' method. The 'operator==' method is a bit clearer and much less verbose for somethings that should have only one value. Remove from the AttrBuilder for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
3ac03815e195a598fce50abdda440c9d2fae815e |
|
03-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r171427, "An intermediate step in the Attributes rewrite." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
278bac3fba5ae8ae620c961621493e6e2ad6f953 |
|
03-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
An intermediate step in the Attributes rewrite. Modify the AttrBuilder class to store the attributes as a set instead of as a bit mask. The Attribute class will represent only one attribute instead of a collection of attributes. This is the wave of the future! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/IR/Attributes.h
|