| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Use the AttributeSet's iterators in AttrBuilder::hasAttributes() when
determining of the intersection of the AttrBuilder and AttributeSet is non-null.
llvm-svn: 174250
|
|
|
|
|
|
| |
This Constant could be an aggregate to represent multiple values.
llvm-svn: 174228
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 174132
|
|
|
|
| |
llvm-svn: 174130
|
|
|
|
|
|
| |
attributes from an AttrBuilder.
llvm-svn: 174123
|
|
|
|
|
|
| |
in a nice way.
llvm-svn: 174120
|
|
|
|
|
|
| |
descriptive of what it actually is.
llvm-svn: 174116
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 174110
|
|
|
|
|
|
|
|
|
|
| |
Attributes that are strings are typically target-dependent attributes. They are
of this form in the IR:
"attr"
"attr" = "val"
llvm-svn: 174090
|
|
|
|
|
|
|
| |
That function doesn't make sense anymore because there's only one attribute per
Attribute object now.
llvm-svn: 174044
|
|
|
|
|
|
|
|
| |
Attribute::hasAttribute() private."
It broke many hosts to crash.
llvm-svn: 174035
|
|
|
|
|
|
|
|
| |
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().
llvm-svn: 174026
|
|
|
|
|
|
|
|
|
| |
--- Reverse-merging r174010 into '.':
U include/llvm/IR/Attributes.h
U lib/IR/Verifier.cpp
U lib/IR/Attributes.cpp
llvm-svn: 174012
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 174010
|
|
|
|
|
|
|
|
| |
Several places were still treating the Attribute object as respresenting
multiple attributes. Those places now use the AttributeSet to represent
multiple attributes.
llvm-svn: 174003
|
|
|
|
|
|
|
| |
There are still places which treat the Attribute object as a collection of
attributes. I'm systematically removing them.
llvm-svn: 173990
|
|
|
|
|
|
|
| |
It was creating a new AttrBuilder when we could just fill in the AttrBuilder
we're building.
llvm-svn: 173975
|
|
|
|
| |
llvm-svn: 173828
|
|
|
|
| |
llvm-svn: 173827
|
|
|
|
|
|
|
|
| |
behavior, though.
Don't touch I->first on the end iterator, I == E!
llvm-svn: 173804
|
|
|
|
|
|
|
| |
The AttributeSetNode contains all of the attributes. This removes one (hopefully
last) use of the Attribute class as a container of multiple attributes.
llvm-svn: 173761
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 173750
|
|
|
|
|
|
| |
object that holds all of its attributes.
llvm-svn: 173742
|
|
|
|
| |
llvm-svn: 173738
|
|
|
|
| |
llvm-svn: 173733
|
|
|
|
| |
llvm-svn: 173725
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173722
|
|
|
|
| |
llvm-svn: 173661
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173660
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173659
|
|
|
|
|
|
| |
Unfortunately, msvc miscompiles it. Investigating.
llvm-svn: 173656
|
|
|
|
| |
llvm-svn: 173646
|
|
|
|
|
|
| |
accessors instead.
llvm-svn: 173644
|
|
|
|
|
|
| |
accessors instead.
llvm-svn: 173642
|
|
|
|
|
|
|
|
|
|
| |
We want to remove AttributeWithIndex because it provides a non-encapsulated view
of the AttributeSetImpl object. Instead, use accessor methods and iterators.
Eventually, this code can be simplified because the Attribute object will hold
only one attribute instead of multiple attributes.
llvm-svn: 173641
|
|
|
|
| |
llvm-svn: 173640
|
|
|
|
| |
llvm-svn: 173639
|
|
|
|
|
|
| |
implementation. It in turn uses the correct list for calculating the 'Raw' value.
llvm-svn: 173637
|
|
|
|
|
|
| |
some random cleanup. No functionality change.
llvm-svn: 173635
|
|
|
|
| |
llvm-svn: 173628
|
|
|
|
|
|
| |
Also add some asserts.
llvm-svn: 173627
|
|
|
|
|
|
| |
attributes being passed in.
llvm-svn: 173618
|
|
|
|
| |
llvm-svn: 173613
|
|
|
|
| |
llvm-svn: 173611
|
|
|
|
|
|
| |
AttributeWithIndex.
llvm-svn: 173536
|
|
|
|
| |
llvm-svn: 173524
|
|
|
|
|
|
|
|
| |
The 'getSlot' function and its ilk allow introspection into the AttributeSet
class. However, that class should be opaque. Allow access through accessor
methods instead.
llvm-svn: 173522
|
|
|
|
| |
llvm-svn: 173499
|
|
|
|
|
|
| |
AttributeWithIndex.
llvm-svn: 173495
|
|
|
|
| |
llvm-svn: 173454
|