Chris Lattner
50ee9ddc8f
Split param attr implementation out from Function.cpp into its
...
own file. Don't #include ParameterAttributes.h into any major
public header files: just move methods out of line as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-02 23:42:30 +00:00
Chris Lattner
7ed47a1335
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 19:59:42 +00:00
Duncan Sands
f0c3354d99
When inlining through an 'nounwind' call, mark inlined
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45218 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-19 21:13:37 +00:00
Duncan Sands
2b0e8990ab
Rename isNoReturn to doesNotReturn, and isNoUnwind to
...
doesNotThrow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45160 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 09:59:50 +00:00
Duncan Sands
ece2c04d53
Make instcombine promote inline asm calls to 'nounwind'
...
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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-16 15:51:49 +00:00
Duncan Sands
a3355ffb3d
Rather than having special rules like "intrinsics cannot
...
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03 20:06:50 +00:00
Duncan Sands
afa3b6da11
Add some convenience methods for querying attributes, and
...
use them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44403 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 17:07:01 +00:00
Duncan Sands
dc024674ff
Fix PR1146: parameter attributes are longer part of
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 13:23:08 +00:00
Dan Gohman
21c276d2fa
Add empty() member functions to a few container-like classes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42487 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-01 16:01:23 +00:00
Reid Spencer
edd5d9ece1
Some cleanups for compilation with GCC 4.0.0 to remove warnings:
...
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22057 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 16:13:11 +00:00
Chris Lattner
3340ffe854
Add support for explicit calling conventions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21745 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 20:26:26 +00:00
Misha Brukman
63b3afa984
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21411 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 20:48:15 +00:00
Chris Lattner
721aef6897
Update comments, now that CPR's are gone, inline the methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17957 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 17:46:57 +00:00
Chris Lattner
e6c745261e
Add useful method, minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13 23:28:10 +00:00
Chris Lattner
96698a5ec7
Warning foo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14035 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-05 00:17:13 +00:00
Vikram S. Adve
b5b0b45e58
Add getCaller() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:02:45 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Brian Gaeke
4ba0f57904
Add a warning about not "new"ing or "delete"ing CallSites
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:25:22 +00:00
Brian Gaeke
01f93a4712
A few handy methods that seem to mesh well with what CallSite already provides.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9737 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 20:25:33 +00:00
Chris Lattner
ac50030f86
Allow CallSites to be used as the key of a map
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9660 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-02 23:04:33 +00:00
Chris Lattner
bc539434c5
Did I mention that I _HATE_ CPRs?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 18:38:06 +00:00
Chris Lattner
7c4098ee2b
Add assertions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9443 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 19:33:49 +00:00
John Criswell
6fbcc26f14
Added LLVM copyright header (for lack of a better term).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
Misha Brukman
d5d96b9fcd
Fix spelling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9021 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:42:19 +00:00
Chris Lattner
697a00fbf0
* Add new CallSite::get factory method
...
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:16:59 +00:00
Chris Lattner
57ec659810
Make sure accessor is properly doxygenized. It wants two lines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:51 +00:00
Chris Lattner
95ab3d4bc4
Add accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:31 +00:00
Chris Lattner
ad110d2bb4
Make CallSite's default constructable, copyable, and assignable (explicitly)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:50:28 +00:00
Chris Lattner
93a7e08d1f
Initial checkin of CallSite wrapper for Call/Invoke instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:35:45 +00:00