| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
|
| |
|
|
|
|
|
| |
field to store the alignment value instead of haing a
separate field.
llvm-svn: 48727
|
| |
|
|
| |
llvm-svn: 48326
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. There is now a "PAListPtr" class, which is a smart pointer around
the underlying uniqued parameter attribute list object, and manages
its refcount. It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
ParamAttrsWithIndex's, no need to make a SmallVector of a specific
size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
dereferencing the pointer is simplified to just access the
PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
bit simpler.
Phase #2 will rename some stuff (e.g. PAListPtr) and do other less
invasive changes.
llvm-svn: 48289
|
| |
|
|
| |
llvm-svn: 47857
|
| |
|
|
| |
llvm-svn: 47813
|
| |
|
|
| |
llvm-svn: 47653
|
| |
|
|
| |
llvm-svn: 47633
|
| |
|
|
| |
llvm-svn: 47619
|
| |
|
|
| |
llvm-svn: 47616
|
| |
|
|
|
|
| |
Simplify getReturnValue()
llvm-svn: 47614
|
| |
|
|
| |
llvm-svn: 47611
|
| |
|
|
| |
llvm-svn: 47607
|
| |
|
|
| |
llvm-svn: 47577
|
| |
|
|
|
|
| |
operands instead of one aggregate operand.
llvm-svn: 47508
|
| |
|
|
|
|
|
| |
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.
llvm-svn: 47504
|
| |
|
|
|
|
| |
the way through. It is now used for codegen.
llvm-svn: 47484
|
| |
|
|
| |
llvm-svn: 47396
|
| |
|
|
| |
llvm-svn: 47392
|
| |
|
|
| |
llvm-svn: 47390
|
| |
|
|
|
|
| |
annoying warnings.
llvm-svn: 47367
|
| |
|
|
| |
llvm-svn: 47348
|
| |
|
|
|
|
|
| |
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.
llvm-svn: 47342
|
| |
|
|
|
|
|
|
| |
requested by Chris. While there, do the same
for an existing function committed by someone
called "lattner" :)
llvm-svn: 47273
|
| |
|
|
| |
llvm-svn: 46431
|
| |
|
|
|
|
| |
check the callee also if it is known.
llvm-svn: 46206
|
| |
|
|
| |
llvm-svn: 45974
|
| |
|
|
| |
llvm-svn: 45950
|
| |
|
|
| |
llvm-svn: 45913
|
| |
|
|
|
|
|
|
|
|
|
| |
a direct call with cast parameters and cast return
value (if any), instcombine was prepared to cast any
non-void return value into any other, whether castable
or not. Add a new predicate for testing whether casting
is valid, and check it both for the return value and
(as a cleanup) for the parameters.
llvm-svn: 45657
|
| |
|
|
|
|
|
| |
own file. Don't #include ParameterAttributes.h into any major
public header files: just move methods out of line as appropriate.
llvm-svn: 45517
|
| |
|
|
| |
llvm-svn: 45512
|
| |
|
|
| |
llvm-svn: 45418
|
| |
|
|
|
|
|
|
|
| |
calls 'nounwind'. It is important for correct C++
exception handling that nounwind markings do not get
lost, so this transformation is actually needed for
correctness.
llvm-svn: 45218
|
| |
|
|
|
|
| |
doesNotThrow.
llvm-svn: 45160
|
| |
|
|
|
|
| |
of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
llvm-svn: 45082
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
calls. Remove special casing of inline asm from the
inliner. There is a potential problem: the verifier
rejects invokes of inline asm (not sure why). If an
asm call is not marked "nounwind" in some .ll, and
instcombine is not run, but the inliner is run, then
an illegal module will be created. This is bad but
I'm not sure what the best approach is. I'm tempted
to remove the check in the verifier...
llvm-svn: 45073
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.
This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.
In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.
LangRef updates are forthcoming.
llvm-svn: 44858
|
| |
|
|
|
|
|
| |
_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed
_sabre_: the vtable lives to fight another day
llvm-svn: 44760
|
| |
|
|
| |
llvm-svn: 44747
|
| |
|
|
|
|
|
|
|
| |
throw exceptions", just mark intrinsics with the nounwind
attribute. Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).
llvm-svn: 44544
|
| |
|
|
| |
llvm-svn: 44433
|
| |
|
|
|
|
| |
use them.
llvm-svn: 44403
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
|
| |
|
|
| |
llvm-svn: 44204
|
| |
|
|
| |
llvm-svn: 43129
|
| |
|
|
|
|
| |
GLIBCXX_DEBUG issues.
llvm-svn: 41697
|
| |
|
|
| |
llvm-svn: 41506
|
| |
|
|
|
|
|
| |
This eliminates a conditional on that path, and ensures ICmpInst/FCmpInst
both have an out-of-line virtual method to home the class.
llvm-svn: 41371
|
| |
|
|
|
|
|
|
| |
indexing an empty std::vector.
Updates to all clients.
llvm-svn: 40660
|