| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
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.
llvm-svn: 175835
|
|
|
|
|
|
|
| |
Currently we're at 34. Bitset should compile into virtually the same code as
uint64_t here.
llvm-svn: 175437
|
|
|
|
| |
llvm-svn: 175373
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 175370
|
|
|
|
| |
llvm-svn: 175252
|
|
|
|
|
|
| |
This reverts commit 82c101153fe7b35bce48781fab038e1b8f31a7bd.
llvm-svn: 175250
|
|
|
|
| |
llvm-svn: 175235
|
|
|
|
| |
llvm-svn: 175048
|
|
|
|
| |
llvm-svn: 175046
|
|
|
|
| |
llvm-svn: 174948
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 174867
|
|
|
|
| |
llvm-svn: 174864
|
|
|
|
| |
llvm-svn: 174848
|
|
|
|
| |
llvm-svn: 174834
|
|
|
|
| |
llvm-svn: 174824
|
|
|
|
|
|
|
| |
Fix the 'operator==' and 'hasAttributes' queries to take into account
target-dependent attributes.
llvm-svn: 174481
|
|
|
|
|
|
|
|
| |
This is useful when parsing an object that references multiple attribute groups.
N.B. If both builders have alignments specified, then they should match!
llvm-svn: 174480
|
|
|
|
|
|
| |
AttributeSet.
llvm-svn: 174467
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 174456
|
|
|
|
| |
llvm-svn: 174356
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 174335
|
|
|
|
| |
llvm-svn: 174251
|
|
|
|
|
|
|
| |
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
|