| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 173632
|
|
|
|
| |
llvm-svn: 173631
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 173434
|
|
|
|
| |
llvm-svn: 173313
|
|
|
|
| |
llvm-svn: 173311
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173310
|
|
|
|
|
|
| |
into the attribute implementation class.
llvm-svn: 173304
|
|
|
|
| |
llvm-svn: 173302
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173230
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173228
|
|
|
|
|
|
| |
when removing one attribute. This further encapsulates the use of the attributes.
llvm-svn: 173214
|
|
|
|
|
|
| |
when adding a single attribute to the function.
llvm-svn: 173210
|
|
|
|
|
|
|
| |
Use the AttributeSet when we're talking about more than one attribute. Add a
function that adds a single attribute. No functionality change intended.
llvm-svn: 173196
|
|
|
|
|
|
|
|
|
| |
Previously we tried to infer it from the bit width size, with an added
IsIEEE argument for the PPC/IEEE 128-bit case, which had a default
value. This default value allowed bugs to creep in, where it was
inappropriate.
llvm-svn: 173138
|
|
|
|
|
|
| |
functional change.
llvm-svn: 173109
|
|
|
|
| |
llvm-svn: 173108
|
|
|
|
| |
llvm-svn: 173101
|
|
|
|
|
|
|
|
|
| |
Attribute.
This further restricts the use of the Attribute class to the Attribute family of
classes.
llvm-svn: 173098
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 173094
|
|
|
|
|
|
|
| |
We weren't encoding boolean constants correctly due to modeling boolean as a
signed type & then sign extending an i1 up to a byte & getting 255.
llvm-svn: 172926
|
|
|
|
| |
llvm-svn: 172854
|
|
|
|
|
|
|
| |
Further encapsulation of the Attribute object. Don't allow direct access to the
Attribute object as an aggregate.
llvm-svn: 172853
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 172844
|
|
|
|
| |
llvm-svn: 172659
|
|
|
|
| |
llvm-svn: 172615
|
|
|
|
|
|
|
|
|
|
|
| |
of a class. Emit static data member declarations and definitions
through correctly.
Part of PR14471.
Patch by Paul Robinson!
llvm-svn: 172590
|
|
|
|
| |
llvm-svn: 172549
|
|
|
|
|
|
| |
Both underlying IR operations support vectors of pointers already.
llvm-svn: 172538
|
|
|
|
|
|
|
| |
- Also, update the LangRef documentation on module flags to match the
implementation.
llvm-svn: 172498
|
|
|
|
|
|
| |
Stop a gcc warning about casting away const.
llvm-svn: 172465
|
|
|
|
| |
llvm-svn: 172159
|
|
|
|
|
|
| |
Value's current type. The casting is trivial even for aggregate type.
llvm-svn: 172143
|
|
|
|
|
|
| |
hangings.
llvm-svn: 172020
|
|
|
|
| |
llvm-svn: 171960
|
|
|
|
|
|
|
|
| |
(There already has a concise comment to the declaration.)
Thank Eric Christopher for his feedback!
llvm-svn: 171926
|
|
|
|
| |
llvm-svn: 171924
|
|
|
|
|
|
| |
This is causing some problems. The root cause is unknown at this time.
llvm-svn: 171923
|
|
|
|
|
|
|
| |
- this expression is explicitly marked no-signed-zero, or
- no-signed-zero of this expression can be derived from some context.
llvm-svn: 171922
|
|
|
|
|
|
| |
make sure that vector types do work.
llvm-svn: 171833
|