History log of /external/llvm/lib/VMCore/Function.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d2c6ff1ac6d78a9dcf89c78098b1cc75204d1229 17-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Use a SmallVector for intrinsic argument types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
3c5e60994f53eef2808a33b5ca6c3dffc2168054 17-Oct-2011 Bill Wendling <isanbard@gmail.com> Correct over-zealous removal of hack.

Some code want to check that *any* call within a function has the 'returns
twice' attribute, not just that the current function has one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
728662f9e869251ff9b5a847b0cb0daa99d1d250 17-Oct-2011 Bill Wendling <isanbard@gmail.com> Now that we have the ReturnsTwice function attribute, this method is
obsolete. Check the attribute instead.
<rdar://problem/8031714>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
aeee2d3a297a2ca41a07d33285a75cee23ad97d9 15-Oct-2011 Chris Lattner <sabre@nondot.org> constify array itself, don't iterate multiple times.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
11f1a8335e207971f66eb60609e16b8719be5450 05-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> Check for the returns_twice attribute in callsFunctionThatReturnsTwice. This
fixes PR11038, but there are still some cleanups to be done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
eb9a85f09e18b3fe88499710404b38d3a9128f62 14-Jul-2011 Benjamin Kramer <benny.kra@googlemail.com> Change Intrinsic::getDeclaration and friends to take an ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
5fdd6c8793462549e3593890ec61573da06e3346 12-Jul-2011 Jay Foad <jay.foad@gmail.com> Second attempt at de-constifying LLVM Types in FunctionType::get(),
StructType::get() and TargetData::getIntPtrType().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
2280ebd61416b73d0b6137f275b25af82e268d1f 12-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r134893 and r134888 (and related patches in other trees). It was causing
an assert on Darwin llvm-gcc builds.

Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
ne 2067.
etc.

http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354

--- Reverse-merging r134893 into '.':
U include/llvm/Target/TargetData.h
U include/llvm/DerivedTypes.h
U tools/bugpoint/ExtractFunction.cpp
U unittests/Support/TypeBuilderTest.cpp
U lib/Target/ARM/ARMGlobalMerge.cpp
U lib/Target/TargetData.cpp
U lib/VMCore/Constants.cpp
U lib/VMCore/Type.cpp
U lib/VMCore/Core.cpp
U lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Instrumentation/ProfilingUtils.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/CodeGen/SjLjEHPrepare.cpp
--- Reverse-merging r134888 into '.':
G include/llvm/DerivedTypes.h
U include/llvm/Support/TypeBuilder.h
U include/llvm/Intrinsics.h
U unittests/Analysis/ScalarEvolutionTest.cpp
U unittests/ExecutionEngine/JIT/JITTest.cpp
U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
U unittests/VMCore/PassManagerTest.cpp
G unittests/Support/TypeBuilderTest.cpp
U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
U lib/VMCore/IRBuilder.cpp
G lib/VMCore/Type.cpp
U lib/VMCore/Function.cpp
G lib/VMCore/Core.cpp
U lib/VMCore/Module.cpp
U lib/AsmParser/LLParser.cpp
U lib/Transforms/Utils/CloneFunction.cpp
G lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Utils/InlineFunction.cpp
U lib/Transforms/Instrumentation/GCOVProfiling.cpp
U lib/Transforms/Scalar/ObjCARC.cpp
U lib/Transforms/Scalar/SimplifyLibCalls.cpp
U lib/Transforms/Scalar/MemCpyOptimizer.cpp
G lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/Transforms/IPO/ArgumentPromotion.cpp
U lib/Transforms/InstCombine/InstCombineCompares.cpp
U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
U lib/Transforms/InstCombine/InstCombineCalls.cpp
U lib/CodeGen/DwarfEHPrepare.cpp
U lib/CodeGen/IntrinsicLowering.cpp
U lib/Bitcode/Reader/BitcodeReader.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
f362affa3a695164a94d275fb44d18f44ebb855a 11-Jul-2011 Jay Foad <jay.foad@gmail.com> De-constify Types in FunctionType::get().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing. Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
566a4acfef68c00acc34fe9a9b474d3b200f4ecf 17-Jun-2011 Jay Foad <jay.foad@gmail.com> Fix typo in comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ae441cc33cee83a598f74e3d0447fe02157b0389 23-May-2011 Chris Lattner <sabre@nondot.org> add a helper method to get the byval alignment of an argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0e00c6c561181be7e9cc75ad2fee9cd4cbbfca1e 16-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
a37caf64724a88136b38f734041c3c9f38c64bbd 26-Apr-2011 Duncan Sands <baldrick@free.fr> Another example of a static table that wasn't marked static.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
607b8ebfb849e3257d5ab64fae3ae62229eadb6f 26-Apr-2011 Chris Lattner <sabre@nondot.org> mark a large static table static. Pointed out by Michael Ilseman!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
a6399ae08967109b1427b34b5bde775a38bb4d75 07-Dec-2010 Dan Gohman <gohman@apple.com> Remove the code from Function::dropAllReferences which replaced
uses of the function's blocks with undef. This code isn't needed,
because BasicBlock's destructor handles such uses. Also, undef isn't
correct, since blockaddresses may still be used for comparisons
with null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c8b82ccbcf3b2e2384d2c0b5176e7b0b40b7f82f 01-Apr-2010 Gabor Greif <ggreif@gmail.com> Introduce ImmutableCallSite, useful for contexts where no mutation
is necessary. Inherits from new templated baseclass CallSiteBase<>
which is highly customizable. Base CallSite on it too, in a configuration
that allows full mutation.
Adapt some call sites in analyses to employ ImmutableCallSite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
60ad781c61815ca5b8dc2a45a102e1c8af65992f 26-Mar-2010 Gabor Greif <ggreif@gmail.com> rename use_const_iterator to const_use_iterator for consistency's sake

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c9f7500d1752feac7cece26d20007a99d21f677c 24-Mar-2010 Gabor Greif <ggreif@gmail.com> Finally land the InvokeInst operand reordering.
I have audited all getOperandNo calls now, fixing
hidden assumptions. CallSite related uglyness will
be eliminated successively.

Note this patch has a long and griveous history,
for all the back-and-forths have a look at
CallSite.h's log.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0054c7a867f85f52fdcc11279d696160de92c9f8 23-Mar-2010 Gabor Greif <ggreif@gmail.com> add assert in argpromotion, which cannot trigger
if Function::hasAddressTaken works as advertised

also included some cosmetic cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
47c5188789bc40671504ed1fa3a44765cefba44f 16-Feb-2010 Duncan Sands <baldrick@free.fr> Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some
methods to try to have the type predicates be more logically positioned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1df9859c40492511b8aa4321eb76496005d3b75b 16-Feb-2010 Duncan Sands <baldrick@free.fr> There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
f012705c7e4ca8cf90b6b734ce1d5355daca5ba5 05-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
cafe9bba32aeed16e8e3db28b4cd4ff13160438f 29-Dec-2009 Chris Lattner <sabre@nondot.org> add a layer of accessors around the Value::SubClassData member, and use
a convention (shadowing the setter with private forwarding function) to
prevent subclasses from accidentally using it.

This exposed some bogosity in ConstantExprs, which was propaging the
opcode of the constant expr into the NUW/NSW/Exact field in the
getWithOperands/getWithOperandReplaced methods.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c63ca0a71b299ee0b8fc7dc8405d7f3c856ecfa3 19-Dec-2009 John McCall <rjmccall@apple.com> Qualify a bunch of explicit template instantiations to satisfy clang++.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
be1ce0a867a7e62094fc9a158c15bb9e48cb80fa 11-Dec-2009 Duncan Sands <baldrick@free.fr> Add utility method for determining whether a function argument
has the 'nest' attribute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1e0dc8e12396ee8021c91c6115585f5877f35efb 28-Oct-2009 Chris Lattner <sabre@nondot.org> when we tear down a module, we need to be careful to
zap BlockAddress values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e50ed30282bb5b4a9ed952580523f2dda16215ac 11-Aug-2009 Owen Anderson <resistor@mac.com> Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
debcb01b0f0a15f568ca69e8f288fade4bfc7297 30-Jul-2009 Owen Anderson <resistor@mac.com> Move types back to the 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6e0d1cb30957a636c53158d3089e6fb88348a57a 25-Jul-2009 Daniel Dunbar <daniel@zuster.org> Initial update to VMCore to use Twines for string arguments.
- The only meat here is in Value.{h,cpp} the rest is essential 'const
std::string &' -> 'const Twine &'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e922c0201916e0b980ab3cfe91e1413e68d55647 22-Jul-2009 Owen Anderson <resistor@mac.com> Get rid of the Pass+Context magic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
f81b57694b3c34a79b1464ffd21e6768c8d22662 08-Jul-2009 Owen Anderson <resistor@mac.com> LLVMContext-ification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
a9d1f2c559ef4b2549e29288fe6944e68913ba0f 07-Jul-2009 Owen Anderson <resistor@mac.com> Have scoped mutexes take referenes instead of pointers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
07cf79ef537caff6d39145f190a28a336e629b6f 07-Jul-2009 Owen Anderson <resistor@mac.com> "LLVMContext* " --> "LLVMContext *"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0a205a459884ec745df1c529396dd921f029dafd 06-Jul-2009 Owen Anderson <resistor@mac.com> More LLVMContext-ification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
62fabf5faba70c507c8fbe298260e9b3749fdd79 02-Jul-2009 Owen Anderson <resistor@mac.com> Add an accessor to Function so that Passes can easily get access to the context.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b2c0fe4d93ba75b8343de60984b0ce3548cd22c9 18-Jun-2009 Owen Anderson <resistor@mac.com> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e3cd5ca7e79f4359e8a101c211fc9c117eb62347 18-Jun-2009 Owen Anderson <resistor@mac.com> Move Threading.[h|cpp] from Support to System.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
bf5ec1b9db6f1f18b633908416b5798abd08981c 18-Jun-2009 Owen Anderson <resistor@mac.com> Reapply r73647 in a non-broken form.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b983d67465a939c43173e381f9063d9d9245f45b 18-Jun-2009 Owen Anderson <resistor@mac.com> Protect the GC table in Function.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
757068f3bad425fb126fe16ab7b8a82a636e6bbd 10-Jun-2009 Jay Foad <jay.foad@gmail.com> Implement and use new method Function::hasAddressTaken().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7afd3e1599222dc691cca9e601800878c8546663 07-Mar-2009 Gabor Greif <ggreif@gmail.com> further simplifications arising from peruse of the more declarative interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
5e7d4d643d691f6169eaaf60b13dc54ba2b69232 01-Mar-2009 Gabor Greif <ggreif@gmail.com> Another sentinel optimization. This one should always
be a win, since almost every interesting function has at least one Argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
abd6f28a74e74303725ec123bdfe9202617115c8 01-Mar-2009 Gabor Greif <ggreif@gmail.com> Reuse a technique (pioneered for BasicBlocks) of superposing ilist with
its sentinel. This is quite a win when a function really has a basic block.
When the function is just a declaration (and stays so) the old way did not
allocate a sentinel. So this change is most beneficial when the ratio of
function definition to declaration is high. I.e. linkers etc. Incidentally
these are the most resource demanding applications, so I expect that the
reduced malloc traffic, locality and space savings outweigh the cost of
addition of two pointers to Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0d52ff1f7b993750a74a5d4432273092de9af069 25-Feb-2009 Mon P Wang <wangmp@apple.com> Added support to have TableGen provide information if an intrinsic (core
or target) can be overloaded or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
49de98214b82fefeb8f16efbf8cdd8813a85469b 05-Feb-2009 Dale Johannesen <dalej@apple.com> Reapply 63765. Patches for clang and llvm-gcc to follow.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4d452de1506344bf1d28bb4a8c4ddb78c51a28c8 04-Feb-2009 Dale Johannesen <dalej@apple.com> Reverting 63765. This broke the build of both clang
and llvm-gcc.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d24479730a8790d82c4859dc477bc2416d7a6bda 04-Feb-2009 Nate Begeman <natebegeman@mac.com> New feature: add support for target intrinsics being defined in the
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
048ffb239c282277959463c61200b86e2380cb84 12-Jan-2009 Chris Lattner <sabre@nondot.org> make tblgen emit the entire Intrinsic::getAttributes method,
not a random piece of it. No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d68a07650cdb2e18f18f362ba533459aa10e01b6 05-Jan-2009 Dan Gohman <gohman@apple.com> Tidy up #includes, deleting a bunch of unnecessary #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c8e222b9a48a84e98a5fc4ccd6b015197b09bed4 05-Jan-2009 Chris Lattner <sabre@nondot.org> tighten up return type check


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
17da06ffbd1f7269b6b9037f883a3d8a5c985f62 31-Dec-2008 Duncan Sands <baldrick@free.fr> Don't analyze arguments already marked 'nocapture'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
19c874638d9478a5d5028854817a5ee72293bb2b 27-Sep-2008 Devang Patel <dpatel@apple.com> Now Attributes are divided in three groups
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn

Return attributes use 0 as the index.
Function attributes use ~0U as the index.

This patch requires corresponding changes in llvm-gcc and clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0598866c052147c31b808391f58434ce3dbfb838 25-Sep-2008 Devang Patel <dpatel@apple.com> Large mechanical patch.

s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.

This requires corresponding changes in llvm-gcc and clang.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e3d76d37e972d6f7b1335a3944ce31ae8f4cd3c9 24-Sep-2008 Devang Patel <dpatel@apple.com> s/ParamAttrsWithIndex/FnAttributeWithIndex/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
eaf42abab6d465c38891345d999255871cf03943 24-Sep-2008 Devang Patel <dpatel@apple.com> s/ParameterAttributes/Attributes/g



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d9b4a5f859188cbb168c223071b413e58c53c925 24-Sep-2008 Devang Patel <dpatel@apple.com> Use parameter attribute store (soon to be renamed) for
Function Notes also. Function notes are stored at index ~0.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
81b2ab8a249c3652133a1dcc0209343cde9b499f 02-Sep-2008 Devang Patel <dpatel@apple.com> Initialize function notes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
5eca075b74d62c621b160aa216b4cd50829a2cc7 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e3b3a7241c01f26613694e53b26b01abf764ddfc 30-Jul-2008 Mon P Wang <wangmp@apple.com> Added support for overloading intrinsics (atomics) based on pointers
to different address spaces. This alters the naming scheme for those
intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
cfa3c236b23aff80e48df11ef5833b7e63fab802 08-Jul-2008 Duncan Sands <baldrick@free.fr> Add some helpers for manipulating function
parameter attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
83ec4b6711980242ef3c55a4fa36b2d7a39c1bfb 06-Jun-2008 Duncan Sands <baldrick@free.fr> Wrap MVT::ValueType in a struct to get type safety
and better control the abstraction. Rename the type
to MVT. To update out-of-tree patches, the main
thing to do is to rename MVT::ValueType to MVT, and
rewrite expressions like MVT::getSizeInBits(VT) in
the form VT.getSizeInBits(). Use VT.getSimpleVT()
to extract a MVT::SimpleValueType for use in switch
statements (you will get an assert failure if VT is
an extended value type - these shouldn't exist after
type legalization).
This results in a small speedup of codegen and no
new testsuite failures (x86-64 linux).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
28c3cff8250b3fe2adc6479306fe7dbdb48a1bdb 26-May-2008 Duncan Sands <baldrick@free.fr> Factor code to copy global value attributes like
the section or the visibility from one global
value to another: copyAttributesFrom. This is
particularly useful for duplicating functions:
previously this was done by explicitly copying
each attribute in turn at each place where a
new function was created out of an old one, with
the result that obscure attributes were regularly
forgotten (like the collector or the section).
Hopefully now everything is uniform and nothing
is forgotten.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0bf7b414ae0bb6699cadc3a210d18cfec44e9354 16-May-2008 Eric Christopher <echristo@apple.com> Add functions to enable adding a single attribute to a function and
its associated call site.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b1dbcd886a4b5597a839f299054b78b33fb2d6df 15-May-2008 Gabor Greif <ggreif@gmail.com> Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b04adddd50dfa4c3fbdad3b15d601402254c1ff5 07-May-2008 Anton Korobeynikov <asl@math.spbu.ru> Make StripPointerCast a common function (should we mak it method of Value instead?)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e2435da8abe5ca62c7f08f29c242b6b98e0ec7af 28-Apr-2008 Gordon Henriksen <gordonhenriksen@mac.com> Expose parameter attributes via C bindings.

Patch by Anders Johnsen!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
92432a8db1266f7932bce13a7e6354b0993838d3 08-Apr-2008 Duncan Sands <baldrick@free.fr> Convenience method for setting the nounwind
attribute for a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
79ab3e801480e6412c064a3fb15a79a8cab13efc 07-Apr-2008 Duncan Sands <baldrick@free.fr> Make sure that intrinsics automagically get the
right parameter attributes no matter how they
are obtained.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
051a950000e21935165db56695e35bade668193b 06-Apr-2008 Gabor Greif <ggreif@gmail.com> API changes for class Use size reduction, wave 1.
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d5d94df73f2af639a4cffc7e4f3491001817df08 13-Mar-2008 Chris Lattner <sabre@nondot.org> move a bunch of trivial methods to be inline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
58d74910c6b82e622ecbb57d6644d48fec5a5c0f 12-Mar-2008 Chris Lattner <sabre@nondot.org> Reimplement the parameter attributes support, phase #1. hilights:

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
41e2397b720bc5d917ef614a7a6c257e8a3c8e42 03-Mar-2008 Devang Patel <dpatel@apple.com> s/isReturnStruct()/hasStructRetAttr()/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d15d5e3bbe94702101f747326f3035e7409d2a7f 03-Mar-2008 Devang Patel <dpatel@apple.com> If a function uses multive values in ret instruction then it
is returning a struct value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
22c3979fcaa7ff19c44253eb9b0b0160dfef0aa4 22-Feb-2008 Dale Johannesen <dalej@apple.com> Split ParameterAttributes.h, putting the complicated
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
08e78b18b8ef2c939ee95469662c98e23846d860 22-Feb-2008 Dale Johannesen <dalej@apple.com> Pass alignment on ByVal parameters, from FE, all
the way through. It is now used for codegen.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6c94b70d6e8bc166d6951a19374292055c05e8d8 21-Feb-2008 Devang Patel <dpatel@apple.com> Use isa<> instead of getTypeID() to check StructType.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
93f9d57bcdf74a3d5d1959b6136ffd26bd1750e8 20-Feb-2008 Devang Patel <dpatel@apple.com> What if functions can return aggregate values ?
One small step towards multiple return value support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0d51e7ec0d2dcbea9e304fd58deb05f37eb75635 19-Feb-2008 Dale Johannesen <dalej@apple.com> Expand ParameterAttributes to 32 bits (in preparation
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
874a892c9969fbbe50a5017868c2f82923632b29 18-Feb-2008 Owen Anderson <resistor@mac.com> I got the predicate backwards in my last patch. The comment is correct, the code was not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9eb948b46623977cd4de7d4156b3c3058a7ebed3 18-Feb-2008 Owen Anderson <resistor@mac.com> Duncan pointed out that we can fast fail here, because the sret parameter of
a function must be the first parameter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7d54254c9cc6e5a3be3a7d9d22241c0ae8a7fa03 18-Feb-2008 Owen Anderson <resistor@mac.com> Add a predicate to Argument to check for the StructRet attribute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
de6fa5f25f572b79b3dd7bbbe4dba78a54a4b2f8 24-Jan-2008 Chris Lattner <sabre@nondot.org> Add hasByValAttr() and hasNoAliasAttr() methods to the Argument class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
50cffa01076a2364dc593ebbfeacf8c5bd4d3f42 03-Jan-2008 Chris Lattner <sabre@nondot.org> Remove the function attr cache for intrinsics. This does not maintain the
refcount on these correctly, and can end up referring to deleted
attributes. This fixes PR1881.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
50ee9ddc8f0633af6cb0a5693a2c706e98f944da 03-Jan-2008 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/VMCore/Function.cpp
5dfdc1c809bb23e5d918de3b81e08b85f572e4b9 02-Jan-2008 Chris Lattner <sabre@nondot.org> Fix a build issue on cygwin


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
f0c3354d998507515ab39e26b5292ea0ceb06aef 19-Dec-2007 Duncan Sands <baldrick@free.fr> 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
/external/llvm/lib/VMCore/Function.cpp
43ad6b3e0d6ada51e9b23aab3e061187f1f5710c 17-Dec-2007 Christopher Lamb <christopher.lamb@gmail.com> Change the PointerType api for creating pointer types. The old functionality 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
53c34b1db978f1820677f410c6f3f59046ffa4c0 10-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Delete the CollectorNamePool if it should become empty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
80a75bfae980df96f969f1c05b0c4a80ce975240 10-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding a collector name attribute to Function in the IR. These
methods are new to Function:

bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();

The assembly representation is as such:

define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
afba8fe662d65b25b4baf46bb26cc18e1f9cc0a5 10-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Reverting dtor devirtualization patch.
_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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ed455c8fa25dd37a13b33f0afa66be03ac49b5bb 09-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
a3355ffb3d30d19d226bbb75707991c60f236e37 03-Dec-2007 Duncan Sands <baldrick@free.fr> 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
/external/llvm/lib/VMCore/Function.cpp
6bb0ae47111f5b5f351e702e696fca7551cc3d30 30-Nov-2007 Duncan Sands <baldrick@free.fr> Small optimization of parameter attribute lookup.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
757d243167a52fef433146be11fa1462f6468270 30-Nov-2007 Duncan Sands <baldrick@free.fr> Add a convenience method for modifying parameter
attributes. While there, I noticed that not all
attribute methods returned a pointer-to-constant,
so I fixed that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
afa3b6da11bc05281bcf09e45de9e037e0ee5011 28-Nov-2007 Duncan Sands <baldrick@free.fr> 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
/external/llvm/lib/VMCore/Function.cpp
dc024674ff96820d6020757b48d47f46d4c07db2 27-Nov-2007 Duncan Sands <baldrick@free.fr> 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
/external/llvm/lib/VMCore/Function.cpp
827cde1c8319e51463007078a7ce3660ebc93036 25-Nov-2007 Duncan Sands <baldrick@free.fr> Fix PR1816. If a bitcast of a function only exists because of a
trivial difference in function attributes, allow calls to it to
be converted to direct calls. Based on a patch by Török Edwin.
While there, move the various lists of mutually incompatible
parameters etc out of the verifier and into ParameterAttributes.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ed4a2f168873527e1737deaa7a0c6c045a2cff7d 22-Nov-2007 Duncan Sands <baldrick@free.fr> Rename the 'const' parameter attribute to 'readnone',
and the 'pure' parameter attribute to 'readonly'.
Names suggested by DannyB.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
5e41f6569918a6e001cadf8dea96819686cf301c 20-Nov-2007 Duncan Sands <baldrick@free.fr> In order for parameter attribute uniquing to make
any sense it is important that ParamAttr::None gets
treated the same as not supplying an attribute at
all. Rather than stripping ParamAttr::None out of
the list of attributes, assert if ParamAttr::None
is seen. Fix up the bitcode reader which liked to
insert ParamAttr::None all over the place. Patch
based on one by Török Edwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0adb7b41e7715d47089a471ec2244348cd32bb68 14-Nov-2007 Anton Korobeynikov <asl@math.spbu.ru> Add pure/const attributes. Documentation will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d50dc73b8934e751dfe21412c020c4e687e9ae17 11-Sep-2007 Duncan Sands <baldrick@free.fr> Two ParamAttrsVectors which differ by a permutation
of their elements do not yield the same ParamAttrsList,
though they should. On the other hand, everyone seems
to pass such vectors with elements ordered by increasing
index, so rather than sorting the elements simply assert
that the elements are ordered in this way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7abff319570dd286f2b9529ea7749fe4f97e47f6 20-Aug-2007 Dan Gohman <gohman@apple.com> When Intrinsic::getName is constructing names for overloaded intrinsics,
use the ValueType name instead of the llvm type name, to match what the
verifier expects. For integers these are the same, but for floating-point
values the intrinsics use f32/f64 instead of float/double.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0162c1815e5a1b33750d313c49f707bc446ea946 18-Aug-2007 Chris Lattner <sabre@nondot.org> Compute the argument list as lazily as possible. This ensures that clients
that don't use it don't have to pay the memory cost for the arguments. This
allows us to avoid creating Argument nodes for many prototypes and for clients
who lazily deserialize code from a bytecode file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
36397f50343639ce9a25996f2d790c656791ab92 27-Jul-2007 Duncan Sands <baldrick@free.fr> Support for trampolines, except for X86 codegen which is
still under discussion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9445e9aaa0240a897baf464ff89255acdcc7fbc9 20-Jul-2007 Reid Spencer <rspencer@reidspencer.com> For PR1553:
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1aa7efbd2c98e761f50992197473304b99257ca9 06-Jul-2007 Rafael Espindola <rafael.espindola@gmail.com> Add the byval attribute


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1405d008d8d1549f69ba7cc31f0686d2380170df 06-Jun-2007 Chris Lattner <sabre@nondot.org> Fix a user-reported error building with GCC 3.4.4 on Cygwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
febca3499e5624361142dda2cb3c2ea806bfcdb6 05-Jun-2007 Zhou Sheng <zhousheng00@gmail.com> Commit first round work of PR1373. "noalias" is now fully supported in
VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll
updated also.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1a34b7bf9ac21ab3e497dcb3be3f1485c80780dc 25-Apr-2007 Chris Lattner <sabre@nondot.org> simplify some code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b90909e40536db17665727f5ca1c618e485464c3 22-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136:
Add reference counting to ParamAttrsList and make use of it in Function,
CallInst and InvokeInst classes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4f859aa532dbf061736f9c23e0d0882b5cdfe566 22-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1146:
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
18feb92e917a029b72a338e91b5b93f74d26f406 17-Apr-2007 Chris Lattner <sabre@nondot.org> merge several fields in GlobalValue to use the same word, move CallingConv
field into SubclassData in Value. This shrinks GlobalVAlue from 48->40
bytes, Function from 88->76, and GlobalVariable from 76->68. This trims
4640 bytes off my testcase, reading a bc file without materializing any
functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
f8dfef74376dd85f37601855f7519d8256700dab 17-Apr-2007 Chris Lattner <sabre@nondot.org> The (negative) offset from a SymbolTableListTraits-using ilist to its container
object is always constant. As such, evaluate it at compile time instead of storing
it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits
ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes,
and Module from 60->52 bytes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
17fcdd5e1b78b829068ca657c97357a39d6e768b 17-Apr-2007 Chris Lattner <sabre@nondot.org> Refactor SymbolTableListTraits to only have a single pointer in it, instead
of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8
bytes (68->60). On a testcase of mine, this reduces the memory used to
read a module header from 565680b to 561024, a little over 4K.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9c15de11f1abc531b91c6a810107596ab3520c04 16-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Don't return 0 if the len == 5, let the assert handle that case.
Thanks, Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
085659f040f8b943c931db8a695dec4bf22578a5 16-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Fix test/CodeGen/Generic/vector-constantexpr.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
2db15e2b4271d09ebc33516566ba852b8567810b 16-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1328:
Don't assert everytime an intrinsic name isn't recognized. Instead, make
the assert optional when callin getIntrinsicID(). This allows the assembler
to handle invalid intrinsic names gracefully.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
18da0720887527ed570e9703ae5f290beb491ee1 11-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1146:
Put the parameter attributes in their own ParamAttr name space. Adjust the
rest of llvm as a result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4746ecf16eeb5ff920672fdff1c0dd85594437ed 09-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1146:
* Add ParamAttrList pointers to Function and CallInst.
* Move the implementation of ParamAttrList from Type.cpp to Function.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ac66f4241d0f275a20fd960767d1631236cf0d2e 09-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1146:
Parameter attributes can now be defaulted for intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1437a0976567810c2930218b1ba582820150b05c 01-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1297:
Implement "actual" argument types for the Intrinsic member functions. This
involves changing the getName, getType, and getDeclaration methods to have
optional parameters for the actual types. These are necessary in order for
the type/name to be constructed properly for overloaded intrinsics. Only
the caller knows the actual argument types desired.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
3b515802f652b16b05c9a8f344d219a0739b36a3 15-Feb-2007 Chris Lattner <sabre@nondot.org> Implement Function::getIntrinsicID without it needing to call Value::getName,
which allocates a string. This speeds up instcombine on 447.dealII by 5%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
dec628eead87b20773c98a00830580df211acc98 12-Feb-2007 Chris Lattner <sabre@nondot.org> Switch ValueSymbolTable to use StringMap<Value*> instead of std::map<std::string, Value*>
as its main datastructure. There are many improvements yet to be made, but
this speeds up opt --std-compile-opts on 447.dealII by 7.3%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
95af592a631f403e1458ec1155f89fc31011572c 07-Feb-2007 Jim Laskey <jlaskey@mac.com> Automatically generating intrinsic declarations from Dan Gohman. Modified
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ef9b9a793949469cdaa4ab6d0173136229dcab7b 05-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0fc052c36f162852fd7c02acba73da0a2fce43fb 26-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR645:
Remove the Function::renameLocalSymbols function as it is no longer
needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
78d033e086e19e016273de014f9214aa6f3f844b 06-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR411:
Take an incremental step towards type plane elimination. This change
separates types from values in the symbol tables by finally making use
of the TypeSymbolTable class. This yields more natural interfaces for
dealing with types and unclutters the SymbolTable class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
79e21d338c60b4b5a5746fc45e37ea0310606aee 31-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
Change signed integer type names to unsigned equivalents.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
3da59db637a887474c1b1346c1f3ccf53b6c4663 27-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
41562398b6524760762a1d522c090710db6b4928 02-Nov-2006 Reid Spencer <rspencer@reidspencer.com> Remove unused variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b847423fc6653bc1fd0d1dde4f968502985d2c6a 25-Mar-2006 Chris Lattner <sabre@nondot.org> Implement Intrinsic::getName


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9a016ff284f7301da20e74fb1304fb17e3d1214d 09-Mar-2006 Chris Lattner <sabre@nondot.org> Use the function name matcher autogenerated from the .td file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
59bcce5ae52afff2ba4840bfa630b20e8ff4ddb2 09-Mar-2006 Chris Lattner <sabre@nondot.org> remove dbg_declare, it's not used yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
41edaa0529997e41a2bd64efd5f3e8027c67d99f 03-Mar-2006 Chris Lattner <sabre@nondot.org> remove the read/write port/io intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ffa987d3eeb04b69f356799e544a9bb7b0095541 03-Mar-2006 Chris Lattner <sabre@nondot.org> Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.

Significantly refactor autoupgrading code, to handle the more complex case
(where we upgrade one argument in a function), and fix some bugs in it.

Testcase here: llvm/test/Regression/Bytecode/memcpy.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0b118206bf3411722707f2e5cab8fd2eedcd50d6 16-Jan-2006 Reid Spencer <rspencer@reidspencer.com> For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
3776fea371840477b539f77bb2e6eacacd996276 15-Jan-2006 Chris Lattner <sabre@nondot.org> add a missing break that Reid noticed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6fb3bd6a658940287789198d3207b0da04c0a4e6 14-Jan-2006 Nate Begeman <natebegeman@mac.com> Add bswap intrinsics as documented in the Language Reference


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
71d0e3de8de94f107e62db99eebae1d83bd24c94 13-Jan-2006 Chris Lattner <sabre@nondot.org> Add recognition and verification of new llvm.stacksave/llvm.stackrestore intrinsics


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
51b8d54922350b7e1c2cd5a5183ef2c5f5d1b1d5 11-Nov-2005 Andrew Lenharth <andrewl@lenharth.org> continued readcyclecounter support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d511898b581826694e6c651e23343b1e1ba5ba64 06-May-2005 Chris Lattner <sabre@nondot.org> add support for explicit calling conventions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
691ef2ba066dda14ae4ac0ad645054fbc967785a 03-May-2005 Andrew Lenharth <andrewl@lenharth.org> Implement count leading zeros (ctlz), count trailing zeros (cttz), and count
population (ctpop). Generic lowering is implemented, however only promotion
is implemented for SelectionDAG at the moment.

More coming soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
eed37bad011c8d3843611ecabfaf279eebf68a02 30-Apr-2005 Chris Lattner <sabre@nondot.org> Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
fd93908ae8b9684fe71c239e3c6cfe13ff6a2663 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7f4ec3b2e3157e6a0798f3e95a3961bfa6ef66b6 28-Mar-2005 Andrew Lenharth <andrewl@lenharth.org> First step in adding pcmarker intrinsic. Second step (soon) is adding backend support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0d1e40728d668085257b78657b381e1f13d77d52 05-Mar-2005 Chris Lattner <sabre@nondot.org> remove all of the various setName implementations, consolidating them into
Value::setName, which is no longer virtual.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
18221ed50707342bc4c655b33a3d3dc652463811 05-Mar-2005 Chris Lattner <sabre@nondot.org> Remove the 2nd argument to Value::setName


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
edac2d1a80c34ccc4dddd33c775f840bd45705de 28-Feb-2005 Chris Lattner <sabre@nondot.org> recognize llvm.prefetch. Patch contributed by Justin Wick!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
bca81448ac8e19c588c9a4ad16fc70732b76327c 30-Jan-2005 Chris Lattner <sabre@nondot.org> Improve conformance with the Misha spelling benchmark suite


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
3cf8e6857e1e5545048fc6fb6d834d50a7b7cf8e 29-Jan-2005 Chris Lattner <sabre@nondot.org> Adjust to ilist changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
96d83f63cdbb33c075901b1b84eb07622d86386f 29-Jan-2005 Chris Lattner <sabre@nondot.org> Adjust to changes in User class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
fe59d36c4510b9b3df6deab2fe269ef19db4d193 07-Jan-2005 Chris Lattner <sabre@nondot.org> Add convenience method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
caa4ae7c3fcbb69081eb1556d2c5fbaa21202b39 05-Dec-2004 Chris Lattner <sabre@nondot.org> Add a new method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e7a3f3e7287a0688a689cbf66cfc6f4f1cd8920e 29-Oct-2004 Misha Brukman <brukman+llvm@gmail.com> The Alpha (tm) intrinsics have never been used anywhere


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
a28809d1fd5503f8038b336dfa55d8fc93a1f340 12-Oct-2004 Chris Lattner <sabre@nondot.org> Minor tweaks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4ec82eb1de09451278bd69b12412822193f0a896 12-Oct-2004 Chris Lattner <sabre@nondot.org> Implement a new method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4b83380f330b1c77bb9b4ad8f63bdcf1a596afd6 12-Oct-2004 Chris Lattner <sabre@nondot.org> Implement remove/eraseFromParent methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
44336292fcd9f3f99cbfc2c3366bea0cf95bb675 29-Jul-2004 Misha Brukman <brukman+llvm@gmail.com> Fix #includes of i*.h files => Instructions.h as per PR403


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
bb9051531c29bf425c78b88dd96aba601e00656d 18-Jul-2004 Reid Spencer <rspencer@reidspencer.com> bug 122:
- Move GlobalValue and GlobalVariable implementations to Globals.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
88e2b780cbac5b5902e1c2813f3e920286b6d9a8 12-Jul-2004 Chris Lattner <sabre@nondot.org> Fix a really nasty logic error that VC noticed.
Reid, this might matter to you :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1c2fe3148333d023a37fdbe54192631258a85f76 12-Jul-2004 Chris Lattner <sabre@nondot.org> Implement new method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4ee623de0b0fdaa2d5caa75bd65bc300cb889962 15-Jun-2004 Chris Lattner <sabre@nondot.org> isnan is dead


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9685372062a07c49d6c940d9094df07850092cd2 12-Jun-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add the isunordered intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
137cc4fc8c549c805e817095e2d82776a2af8095 11-Jun-2004 Chris Lattner <sabre@nondot.org> I misled Alkis: LLVM should have isnan, not isunordered.
isunordered(X, Y) === isnan(X) | isnan(Y)

Remove isunordered, add isnan.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
f616f22e816ce7f7ba3414cf3d91c9410aa03223 11-Jun-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add the isunordered intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e899705c27719afb24d34d194b787d2fc496b39c 23-May-2004 Chris Lattner <sabre@nondot.org> Recognize and verify the new GC intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
994a765e5cc28beae12e99fe2c680ad15c951cbd 14-Apr-2004 John Criswell <criswell@uiuc.edu> Finish adding the llvm.readio and llvm.writeio intrinsics.
Sorry these didn't get in yesterday.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9570301ee8e473c4e6df3eb71b82b79a6072891a 08-Apr-2004 John Criswell <criswell@uiuc.edu> Added the llvm.readport and llvm.writeport intrinsics.
The Verifier ensures that their parameters are of integral types and have
the correct sign, but it does not enforce any size restrictions because
such restrictions are platform dependent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
317201d77354e6fc9547468ce827e1a7c30761d7 13-Mar-2004 Chris Lattner <sabre@nondot.org> Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
cf8990838143fcfa91dd6276af523ac6c23517c2 14-Feb-2004 Chris Lattner <sabre@nondot.org> Add llvm.memset/frameaddress/returnaddress intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
2751e76a709738590242adce47a3b55bc77fd36d 12-Feb-2004 Chris Lattner <sabre@nondot.org> Add support for the llvm.memmove intrinsic

Patch graciously contributed by Reid Spencer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
5fe51cc2c46afca64638597cdef3bdafa6cd0a8c 12-Feb-2004 Chris Lattner <sabre@nondot.org> Implement the llvm.memcpy intrinsic


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
91d7efbf4b786385e0d5d36259cb6a38e917eba8 10-Jan-2004 Chris Lattner <sabre@nondot.org> Hrm, another minor cleanup, which I missed before


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9a0817971a71442d24a6aec0c5c66110176bdf95 10-Jan-2004 Chris Lattner <sabre@nondot.org> Minor cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
90ab32f9f048942e086771ceedd1a076db640b33 06-Jan-2004 Chris Lattner <sabre@nondot.org> Add support for new intrinsic


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
77b1330ece6ea40b3b7700fe13e2ca64bd494203 05-Jan-2004 Chris Lattner <sabre@nondot.org> Add VMCore and code generator support for debugging intrinsics. By default
code generators completely ignore them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c282f5a380b0b1f46d270a608dc513a51792f552 21-Nov-2003 Chris Lattner <sabre@nondot.org> Check return types of functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
31f8499e83dc4dccbb57ea7e76d1fd49b7010d0c 21-Nov-2003 Chris Lattner <sabre@nondot.org> Finegrainify namespacification


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> 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
/external/llvm/lib/VMCore/Function.cpp
e860e0d69c9c155704cd3c4b2533410a8c782d9e 05-Nov-2003 Chris Lattner <sabre@nondot.org> Make code gcc 3.4 clean


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
b576c94c15af9a440f69d9d03c2afead7971118c 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
cf3056db0fee1db7921214b1f25cea04e959e105 13-Oct-2003 Chris Lattner <sabre@nondot.org> Regularize header file comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6b63452c3ad26678b32f93dbca55902a313ee4e9 10-Oct-2003 Misha Brukman <brukman+llvm@gmail.com> Fix spelling/grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
095e90712523ada128a7cd8282bad52897d34040 19-Sep-2003 Chris Lattner <sabre@nondot.org> Reject "llvm." as a function name


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0981b62eec9286aedeac61a5ab227f9acfaeefb7 17-Sep-2003 Chris Lattner <sabre@nondot.org> Change the semancics of the dropallrefs method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
531922aaca4216c2c672ece7a8cba593fdc9bd6d 09-Sep-2003 John Criswell <criswell@uiuc.edu> Reverting back to the previous revision.
We want to check for length 5 because we might get the "llvm." string as the
name. That string is in the LLVM namespace and should be checked as such.
We also don't have to worry about garbage data because (I believe) the string
class will return a valid value. So, the switch statement will work and we
don't have to worry about the code wandering into segfault land.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
21ca6ee7cdad69168d0470fcaedc6bb494b36776 09-Sep-2003 John Criswell <criswell@uiuc.edu> Modified the check for intrinsic functions. All intrinsic functions have to
be at least 6 characters, since something must follow the "llvm." string in the
function name.
This seems to fix an assertion failure with the SingleSource tests, too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ee5457cbe88b7f691f774de8515d9a94226d1b00 08-Sep-2003 Chris Lattner <sabre@nondot.org> Eliminate support for the llvm.unwind intrinisic, using the Unwind instruction instead


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
bfa964699f2ee6390a713bd1f77953d61e38e93d 26-Aug-2003 Chris Lattner <sabre@nondot.org> As it turns out, things will be simpler than I first expected. We no longer
need any exception handling intrinsics beyond llvm.unwind. (yaay)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
101d40060c6041a84f5460bb16475f9f03fd140d 24-Aug-2003 Chris Lattner <sabre@nondot.org> rethrow is really the language independent primitive here. "throw" can be written
in terms of it and llvm.exc.setcurrent.

Rework the intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7f736c9351619133e909998d42913008bbe63484 24-Aug-2003 Chris Lattner <sabre@nondot.org> Fix copy-and-paste-o


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
9dd7d1c8eb9ade8426545129eb2e3e41b824eb8e 24-Aug-2003 Chris Lattner <sabre@nondot.org> Initial support for recognizing LLVM exception handling intrinsics


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
8169cf810c8cfbec11eced0c9e534ea83f4c287e 18-Aug-2003 Chris Lattner <sabre@nondot.org> Add intrinsics for the llvm.sig(set|long)jmp functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c232818432af88e8830cd45ee3c77738351302c4 06-Aug-2003 Chris Lattner <sabre@nondot.org> Add a bunch of new Alpha Intrinsics for Rahul Joshi


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
2418b117babb081526784e12abfcbc8b6df0bd39 28-Jul-2003 Chris Lattner <sabre@nondot.org> Add support for Alpha intrinsics, contributed by Rahul Joshi


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c436b37262fd1552fd591f50e14a7ff0067465e2 18-May-2003 Chris Lattner <sabre@nondot.org> Add support for setjmp/longjmp primitives
Patch checked in for Bill Wendling :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
dd035d188a80f560ff4193391a9e8df64c993369 08-May-2003 Chris Lattner <sabre@nondot.org> Add more support for intrinsic functions and for varargs stuff


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4ad02e726d9b634372b037d4b352d8b63bb9e849 16-Apr-2003 Chris Lattner <sabre@nondot.org> Add new linkage types to support a real frontend


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6e6026b46569b01f8f6d4dcdb6c899c3a9c76b3e 20-Nov-2002 Chris Lattner <sabre@nondot.org> - Eliminated the deferred symbol table stuff in Module & Function, it really
wasn't an optimization and it was causing lots of bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
2c08dcc276e218193beffbddf2a30f4d88e8af58 20-Nov-2002 Chris Lattner <sabre@nondot.org> Eliminate the concept of a deferred symbol table. The optimization really isn't,
and it causes obscure bugs to show up in passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
0dad6e9c95984804953db0fdcbe0c907d9ee351e 15-Oct-2002 Chris Lattner <sabre@nondot.org> - Eliminate SymbolTable::ParentSymTab, ST::localLookup, and
Function::ParentSymTab. These aren't needed at all.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
69da5cf26143e4542d4bf8c78ffac6d079efe5c9 13-Oct-2002 Chris Lattner <sabre@nondot.org> - Change Function's so that their argument list is populated when they are
constructed. Before, external functions would have an empty argument list,
now a Function ALWAYS has a populated argument list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d9bacc5a84ca938fd57e57a7b68765bb0f251430 17-Sep-2002 Vikram S. Adve <vadve@cs.uiuc.edu> Remove specification of argument default from cpp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d1e693f2a3883dacf213aa2b477540c57b53b714 08-Sep-2002 Chris Lattner <sabre@nondot.org> Enable "garbage detection" of LLVM objects. Now users should be obnoxious
warnings. If they accidentally leak LLVM Value's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
bded132d00ed626a6541b67ad101ef0fd47d3491 06-Sep-2002 Chris Lattner <sabre@nondot.org> Move code out of header files into .cpp files to make future changes easier


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
482701563a2ff76815d2cd19856469319e7c2d88 06-Sep-2002 Chris Lattner <sabre@nondot.org> * Remove extraneous #includes
* Add extra argument to Function ctor to allow automatic insertion into module


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
fe8041ae397ebbcc311469aa39dfb79f8191b412 25-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7e70829632f82de15db187845666aaca6e04b792 25-Jun-2002 Chris Lattner <sabre@nondot.org> MEGAPATCH checkin.

For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
c6f3ae5c66c8e0dab6a2bd9601d0e253ef9ba794 29-Apr-2002 Chris Lattner <sabre@nondot.org> Eliminate duplicate or unneccesary #include's


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
11aa4770fe38befb3926646cf9ea7ed0ff7e33a8 28-Apr-2002 Chris Lattner <sabre@nondot.org> * Incorporate the contents of SymTabValue into Function and Module
* Module no longer subclasses Value


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
80dd50b4aaee0ae609d21f8dded9c3af1e801b9e 09-Apr-2002 Chris Lattner <sabre@nondot.org> Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Move Argument implementation to Function.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1907aba9f4a2e4b9abb41657a37c3ea8be35248c 08-Apr-2002 Chris Lattner <sabre@nondot.org> Move include/llvm/ValueHolderImpl.h to lib/VMCore/ValueHolderImpl.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6bfd6a578a3a4fa95c585c988ee712ba880f9923 29-Mar-2002 Chris Lattner <sabre@nondot.org> s/Method/Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
79df7c0aaa18129e55968c8783ef8346807bd4af 26-Mar-2002 Chris Lattner <sabre@nondot.org> Change references from Method to Function
change references from MethodARgument to FunctionArgument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e7506a366e8bd56c97d10beb68e4db953aebaeca 23-Mar-2002 Chris Lattner <sabre@nondot.org> Rename Method to Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
697954c15da58bd8b186dbafdedd8b06db770201 20-Jan-2002 Chris Lattner <sabre@nondot.org> Changes to build successfully with GCC 3.02


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7a1767520611d9ff6face702068de858e1cadf2c 04-Dec-2001 Chris Lattner <sabre@nondot.org> Renamed inst_const_iterator -> const_inst_iterator
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
e9bb2df410f7a22decad9a883f7139d5857c1520 03-Dec-2001 Chris Lattner <sabre@nondot.org> Rename ConstPoolVal -> Constant
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
6731f08dbca6cd2b490479a0be51d8a8a88ea466 26-Nov-2001 Chris Lattner <sabre@nondot.org> Implement internal


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4dea947926f166b91db700e5547336bdbfcec481 08-Nov-2001 Vikram S. Adve <vadve@cs.uiuc.edu> Removed MachineCodeForMethod object and made it an annotation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7db933d513d9d3c626054480ab1baf26799ce902 23-Oct-2001 Vikram S. Adve <vadve@cs.uiuc.edu> Delete MachineCodeInfoForMethod object.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ac0ec4795753caa8d2b5b8186a05d700998688ae 22-Oct-2001 Vikram S. Adve <vadve@cs.uiuc.edu> Added MachineCodeForMethod object in class Method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
2b3c925d02fbfce76d51737e608aa2533c300026 20-Oct-2001 Chris Lattner <sabre@nondot.org> It is valid to have unsigned arrays as constants... the linker may initialize them later


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
4387370c1c6dd64ad01be0fc91836616d908e917 03-Oct-2001 Chris Lattner <sabre@nondot.org> Factor parentness out of Module & GlobalVariable into GlobalValue
Implement SymbolTable debug/dump utility


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ef9c23f2812322ae5c5f3140bfbcf92629d7ff47 03-Oct-2001 Chris Lattner <sabre@nondot.org> * Both Method & GlobalVariable now subclass GlobalValue
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
1d87bcf4909b06dcd86320722653341f08b8b396 01-Oct-2001 Chris Lattner <sabre@nondot.org> Convert more code to use new style casts
Eliminate old style casts from value.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7f5ef148b07e1ea547d2a9c01c29851247a47882 18-Sep-2001 Chris Lattner <sabre@nondot.org> Remove the unsized array constraint


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
d70684f7585a85c4248c1c224059478108741c70 18-Sep-2001 Chris Lattner <sabre@nondot.org> Add support for global constants, and for initializers for constants


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
ca24d381e713227094fbc0223d22b3a6e99541ce 10-Sep-2001 Chris Lattner <sabre@nondot.org> Use correct style casts


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
70cc3397f84c2e1fd69c059a0ef89e398e847b00 10-Sep-2001 Chris Lattner <sabre@nondot.org> Implement global variable support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7c43a0ace7af881e86625705542ee2cf640d5c7b 07-Sep-2001 Chris Lattner <sabre@nondot.org> Support new setName interface


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
a3d3c2b64545c00f70453642e5d84b028dfce671 14-Jul-2001 Chris Lattner <sabre@nondot.org> * ValueHolder now takes 3 arguments
* Added a few methods to ConstantPool
* ConstPoolVal no longer derives from Value
* Method & Module multiply inherit from SymTabValue & Value now
* Added a GetElementPtrInst::isStructSelector() method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
7fc9fe34390c66ca58646d09a87f7dbaacb6c1f8 28-Jun-2001 Chris Lattner <sabre@nondot.org> Miscellaneous cleanups:
* Convert post to pre-increment for for loops
* Use generic programming more
* Use new Value::cast* instructions
* Use new Module, Method, & BasicBlock forwarding methods
* Use new facilities in STLExtras.h
* Use new Instruction::isPHINode() method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp
009505452b713ed2e3a8e99c5545a6e721c65495 06-Jun-2001 Chris Lattner <sabre@nondot.org> Initial revision


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Function.cpp