Chris Lattner
5e9cd43423
snip one more #include from Metadata.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 08:30:43 +00:00
Chris Lattner
37da0ad07b
prune some #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92212 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 08:24:16 +00:00
Chris Lattner
bcb18538c2
change the strange MetadataContext::getMDs function to expose less
...
irrelevant internal implementation details to clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 08:14:54 +00:00
Chris Lattner
5710969728
change NamedMDNode to use a pimpl for its operand list instead
...
of making it a declared part of the value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92209 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 08:07:14 +00:00
Chris Lattner
c5e08a9639
move ElementVH out of the MDNode class into the MDNode.cpp file. Among
...
other things, this avoids vtable and rtti data for it being splatted in
every translation unit that uses it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92207 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 07:41:54 +00:00
Bill Wendling
47eb1eab1f
Avoid assigning to Changed when it won't be used after the return.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-25 13:50:18 +00:00
John McCall
c63ca0a71b
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
2009-12-19 00:55:12 +00:00
John McCall
be58a432ac
Put TypesEqual and TypeHasCycleThroughItself in namespace llvm so ADL from
...
the templates in TypesContext.h can find them. Caught by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91735 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 00:51:42 +00:00
Eli Friedman
3eed182e2d
Fix gcc warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 21:07:18 +00:00
Rafael Espindola
1cefd7cd07
Catch more cases of a pointer being marked garbage twice. This helps when
...
debugging some leaks (PR5770 in particular).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 20:35:38 +00:00
Victor Hernandez
5d30162150
Formalize MDNode's function-localness:
...
- an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local
Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91708 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 20:09:14 +00:00
Dan Gohman
411984810e
Add utility routines for NSW multiply.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 03:10:26 +00:00
Dan Gohman
bdc46c6af5
Add utility routines for creating integer negation operators with NSW set.
...
Integer negation only overflows with INT_MIN, but that's an important case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 02:58:50 +00:00
Jeffrey Yasskin
ad715f86c9
This fixes a memory leak in OpaqueType found by Google's internal heapchecker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 19:55:06 +00:00
Eli Friedman
e8e17833be
Aggressively flip compare constant expressions where appropriate; constant
...
folding in particular expects null to be on the RHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 06:07:04 +00:00
Victor Hernandez
6bc2b8b215
Use different name for argument and field
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91524 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 08:10:57 +00:00
Victor Hernandez
57c0f20601
MDNodes that refer to an instruction are local to a function; in that case, explicitly keep track of the function they are local to
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 02:52:09 +00:00
Chris Lattner
4bbf4ee149
Remove isPod() from DenseMapInfo, splitting it out to its own
...
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 07:26:43 +00:00
Dan Gohman
eda23faedb
Move several function bodies which are rarely inlined out of line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91319 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14 19:43:09 +00:00
Duncan Sands
be1ce0a867
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
2009-12-11 08:36:17 +00:00
Benjamin Kramer
69cee6151d
Remove useless calls to c_str().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90855 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08 13:07:38 +00:00
Chris Lattner
399ac530d6
whitespace cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08 05:31:46 +00:00
Anton Korobeynikov
211a14e476
Add MSP430 interrupt calling conv. No functionality change yet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90738 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 02:27:35 +00:00
Victor Hernandez
ff7707e983
Avoid creating a metadata slot for all metadata that contains an instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 20:07:10 +00:00
Victor Hernandez
954c80e99d
Fix crasher when N->getElement(n) is NULL
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 18:29:23 +00:00
Andreas Neustifter
1f6ae81725
Added debug output for inherited passes that are invalidated.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90553 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 06:58:24 +00:00
Victor Hernandez
97e2450de2
Teach AsmWriter to write inline (not via a global metadata slot) metadata that contains an instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90512 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 01:35:02 +00:00
Chris Lattner
7896c9f436
improve portability to avoid conflicting with std::next in c++'0x.
...
Patch by Howard Hinnant!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03 00:50:42 +00:00
Nick Lewycky
807d2fa1eb
Oops! Fix bug introduced in my recent cleanup change. Thanks to Tobias Grosser
...
for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90015 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-27 19:57:53 +00:00
Nick Lewycky
dbee4b3be5
Fix typo spotted by Gabor Greif.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89976 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26 23:19:05 +00:00
Nick Lewycky
2353122a3c
Clean up file, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89974 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26 22:54:26 +00:00
Dan Gohman
9f9ca73d7e
Move FunctionPassManagerImpl's dumpArguments and dumpPasses calls
...
out of its run function and into its doInitialization method, so
that it does the dump once instead of once per function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 16:24:18 +00:00
Duncan Sands
e8e01b600c
I forgot to update the prototype for LLVMBuildIntCast when correcting
...
the body to not pass the name for the isSigned parameter. However it
seems that changing prototypes is a big-no-no, so here I revert the
previous change and pass "true" for isSigned, meaning this always does
a signed cast, which was the previous behaviour assuming the name was
not NULL! Some other C function needs to be introduced for the general
case of signed or unsigned casts. This hopefully unbreaks the ocaml
binding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 10:49:03 +00:00
Nick Lewycky
e3ab75d886
Start catching LLVMContext misuse in the verifier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89646 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 04:52:00 +00:00
Jeffrey Yasskin
dc1472b6d9
In GlobalVariable::setInitializer, assert that the initializer has the
...
right type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17 00:43:13 +00:00
Duncan Sands
46785e68b8
BuildIntCast takes an additional parameter, isSigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16 13:15:28 +00:00
Evan Cheng
746d546877
Special case FixedStackPseudoSourceValueVal as well. Do we really need to differentiate PseudoSourceValueVal from FixedStackPseudoSourceValueVal at this level?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88902 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16 07:10:36 +00:00
Eric Christopher
2b1ffeea28
Remove extraneous commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88716 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13 23:08:47 +00:00
Eric Christopher
04458e404f
Print out something, even if it's non-parseable later when we've
...
got ghost linkage. It's better than aborting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13 23:00:14 +00:00
Devang Patel
afa5a34b30
Do not use StringRef in DebugInfo interface.
...
This allows StringRef to skip controversial if(str) check in constructor.
Buildbots, wait for corresponding clang and llvm-gcc FE check-ins!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12 00:50:58 +00:00
Chris Lattner
d682a60c4e
Reject duplicate case values in a switch, PR5450.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86846 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-11 17:37:02 +00:00
Victor Hernandez
f06dca2918
make this handle redefinition of malloc function with different prototype correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86712 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10 19:53:28 +00:00
Jeffrey Yasskin
81cf432569
Fix DenseMap iterator constness.
...
This patch forbids implicit conversion of DenseMap::const_iterator to
DenseMap::iterator which was possible because DenseMapIterator inherited
(publicly) from DenseMapConstIterator. Conversion the other way around is now
allowed as one may expect.
The template DenseMapConstIterator is removed and the template parameter
IsConst which specifies whether the iterator is constant is added to
DenseMapIterator.
Actually IsConst parameter is not necessary since the constness can be
determined from KeyT but this is not relevant to the fix and can be addressed
later.
Patch by Victor Zverovich!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10 01:02:17 +00:00
Daniel Dunbar
d65267ee62
Fix MemoryBuffer::getSTDIN to *not* return null if stdin is empty, this is a lame API.
...
Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86630 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10 00:43:58 +00:00
Chris Lattner
47fc9d3366
make this handle redefinition of malloc with different prototype correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86525 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09 07:12:01 +00:00
Chris Lattner
d6e5763e12
prune #include / layering violation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86365 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-07 09:07:01 +00:00
Victor Hernandez
4d81d97a06
Fit in 80 columns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86316 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-07 00:36:50 +00:00
Victor Hernandez
9d0b704e3e
Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions.
...
Here is the original commit message:
This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments.
Update CreateMalloc so that its callers specify the size to allocate:
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.
Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.
Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.
Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.
Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.
Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-07 00:16:28 +00:00
Victor Hernandez
82ebca15a8
CallInst::CreateMalloc() and CallInst::CreateFree() need to create calls with correct calling convention
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86290 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 21:43:21 +00:00
Daniel Dunbar
2928c83b01
Pass StringRef by value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 10:58:06 +00:00
Chris Lattner
7b550ccfc5
remove a bunch of extraneous LLVMContext arguments
...
from various APIs, addressing PR5325.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 04:27:31 +00:00
Victor Hernandez
df98761d08
Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 01:33:24 +00:00
Victor Hernandez
24f934d055
Update CreateMalloc so that its callers specify the size to allocate:
...
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.
Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.
Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.
Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.
Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.
Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05 00:03:03 +00:00
Victor Hernandez
3ad70d5d61
Changes requested (avoid getFunction(), avoid Type creation via isVoidTy(), and avoid redundant isFreeCall cases) in feedback to r85176
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85936 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-03 20:39:35 +00:00
Chris Lattner
c4775e4b97
remove a bunch of locking from LLVMContextImpl. Since only one thread
...
can be banging on a context at a time, this isn't needed. Owen, please
review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-01 18:42:03 +00:00
Chris Lattner
4a7642ec9c
the verifier shouldn't modify the IR.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85722 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-01 18:11:50 +00:00
Chris Lattner
660a4f389c
fix an issue where the verifier would reject a function whose entry
...
block had its address taken even if the blockaddress was dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85706 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-01 04:08:01 +00:00
Chris Lattner
d0ec2352ae
Fix BlockAddress::replaceUsesOfWithOnConstant to correctly
...
maintain the block use count in SubclassData.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85701 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-01 03:03:03 +00:00
Chris Lattner
cdfc940912
Revert 85678/85680. The decision is to stay with the current form of
...
indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it
for simplicity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-01 01:27:45 +00:00
Chris Lattner
7d83ebcadd
Make blockaddress(@func, null) be valid, and make 'deleting a basic
...
block with a blockaddress still referring to it' replace the invalid
blockaddress with a new blockaddress(@func, null) instead of a
inttoptr(1).
This changes the bitcode encoding format, and still needs codegen
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85678 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-31 20:08:37 +00:00
Chris Lattner
dac8bde235
if basic blocks are destroyed while there are *just* BlockAddress' hanging
...
around, then zap them. This is analogous to dangling constantexprs hanging
off functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85627 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 22:39:36 +00:00
Chris Lattner
3821176b2e
make hasAddressTaken() constant time by storing a refcount in BB's subclass data.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85625 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 22:33:29 +00:00
Chris Lattner
287db0c23c
it isn't valid to take the address of the entry block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85621 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 22:15:48 +00:00
Dan Gohman
0ed1f4264a
Simplify this code and avoid an extra space character in the output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85568 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 02:01:10 +00:00
Chris Lattner
a4c206febe
add sanity check for indbr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85496 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 05:53:32 +00:00
Dan Gohman
eeb8ef1f37
Add a hasAddressTaken for BasicBlock.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85449 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 00:09:08 +00:00
Chris Lattner
0eeb913aa1
Previously, all operands to Constant were themselves constant.
...
In the new world order, BlockAddress can have a BasicBlock operand.
This doesn't permute much, because if you have a ConstantExpr (or
anything more specific than Constant) we still know the operand has
to be a Constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 05:14:34 +00:00
Chris Lattner
5d81befc21
'static const void *X = &&y' can only be put in the
...
readonly section if a reference to the containing function
is valid in the readonly section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85370 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 04:12:16 +00:00
Chris Lattner
73050e1c38
asmprinter support for BlockAddress.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85367 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 03:38:12 +00:00
Chris Lattner
1e0dc8e123
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
2009-10-28 03:37:35 +00:00
Chris Lattner
ab21db79ef
rename indbr -> indirectbr to appease the residents of #llvm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85351 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 00:19:10 +00:00
Chris Lattner
2ee11eccdd
IR support for the new BlockAddress constant kind. This is
...
untested and there is no way to use it, next up: doing battle
with asmparser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28 00:01:44 +00:00
Jeffrey Yasskin
03236140fa
Rename lib/VMCore/ConstantsContext.h:ValueMap<> to ConstantUniqueMap<> to avoid
...
colliding with llvm/ADT/ValueMap.h:ValueMap<>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85344 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 23:45:55 +00:00
Devang Patel
50b6e33584
Factor out redundancy from clone() implementations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85327 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 22:16:29 +00:00
Victor Hernandez
f006b183e2
Rename MallocFreeHelper as MemoryBuiltins
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 20:05:49 +00:00
Chris Lattner
f9be95f867
add enough support for indirect branch for the feature test to pass
...
(assembler,asmprinter, bc reader+writer) and document it. Codegen
currently aborts on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85274 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 19:13:16 +00:00
Chris Lattner
f3523592b2
Type.h doesn't need to #include LLVMContext.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 17:08:31 +00:00
Victor Hernandez
f2becca90b
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 23:58:56 +00:00
Victor Hernandez
046e78ce55
Remove FreeInst.
...
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 23:43:48 +00:00
Devang Patel
5a1033a8ed
Do not use expensive sort().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85130 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-26 17:09:00 +00:00
Nick Lewycky
f5a86f45e7
Remove includes of Support/Compiler.h that are no longer needed after the
...
VISIBILITY_HIDDEN removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-25 06:57:41 +00:00
Nick Lewycky
6726b6d75a
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
...
Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-25 06:33:48 +00:00
Nick Lewycky
4a134afaef
Remove ICmpInst::isSignedPredicate which was a reimplementation
...
CmpInst::isSigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85037 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-25 05:20:17 +00:00
Nick Lewycky
44df023d5f
Sink isTrueWhenEqual from ICmpInst to CmpInst. Add a matching isFalseWhenEqual
...
which is equal to !isTrueWhenEqual for ints but not for floats.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85036 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-25 03:50:03 +00:00
Dan Gohman
dc4a745ffe
Make DominanceFrontierBase::print's output prettier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-24 20:01:11 +00:00
Victor Hernandez
66284e063a
Auto-upgrade free instructions to calls to the builtin free function.
...
Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-24 04:23:03 +00:00
Victor Hernandez
7b929dad59
Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23 21:09:37 +00:00
Devang Patel
9d89df1690
Hide MetadataContext implementation details.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 19:36:54 +00:00
Devang Patel
f61b2371c8
Fix getMDs() interface such that it does not expose implementation details.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 18:55:16 +00:00
Devang Patel
b5681b2293
Using TrackingVH instead of WeakVH or WeakMetadataVH.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 18:25:28 +00:00
Devang Patel
d41fc65c56
Sort handler names to ensure deterministic behavior.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 17:40:37 +00:00
Devang Patel
ce6a1c9756
Fix getHandlerNames() interface. Now it populate clinet supplied small vector with handler names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 01:01:24 +00:00
Devang Patel
921bdaaa98
Use StringRef to construct MDString.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 00:22:05 +00:00
Devang Patel
49b63a1f2c
Remove meaningless const.
...
Pass StringRef by value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-22 00:10:15 +00:00
Devang Patel
49708ad993
Derive metadata hierarchy from Value instead of User.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 23:57:35 +00:00
Benjamin Kramer
ff233b858a
Fix thinko noticed by Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 23:29:32 +00:00
Dale Johannesen
8ba2d5befc
Rename msasm to alignstack per review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 23:28:00 +00:00
Benjamin Kramer
e31cd34b8a
Remove pointless return; at end of function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 23:27:54 +00:00
Benjamin Kramer
f8ea2e28bb
Simplify code. No intended functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 22:55:51 +00:00
Devang Patel
f7ce17e8a8
Use StringRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 21:57:13 +00:00
Devang Patel
028fa77d56
Do not use SmallVector to store MDNode elements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 21:25:09 +00:00
Devang Patel
b5df28a151
Incorporate various suggestions Chris gave during metadata review.
...
- i < getNumElements() instead of getNumElements() > i
- Make setParent() private
- Fix use of resizeOperands
- Reset HasMetadata bit after removing all metadata attached to an instruction
- Efficient use of iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-21 17:33:41 +00:00
Devang Patel
d9723e9a28
Cosmetic changes.
...
s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-20 22:50:27 +00:00
Owen Anderson
59d5aac0b4
Banish ConstantsLock. It's serving no purpose other than slowing things down
...
at the moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 20:11:52 +00:00
Chris Lattner
b2a33b4646
various cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84471 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 07:10:59 +00:00
Nick Lewycky
3fc35c594c
Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed,
...
LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the
resulting instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84374 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 23:52:26 +00:00
Chris Lattner
59c4eba416
Teach vm core to more aggressively fold 'trunc' constantexprs,
...
allowing it to simplify the crazy constantexprs in the testcases
down to something sensible. This allows -std-compile-opts to
completely "devirtualize" the pointers to member functions in
the testcase from PR5176.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 21:53:27 +00:00
Nick Lewycky
2bb6f6ae7a
Emit newlines at the end of instructions too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 19:43:45 +00:00
Daniel Dunbar
4e34a3912a
Remove unnecessary include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84336 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 18:11:57 +00:00
Victor Hernandez
a276c603b8
Remove MallocInst from LLVM Instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 01:18:07 +00:00
Victor Hernandez
13ad5aaaff
Autoupgrade malloc insts to malloc calls.
...
Update testcases that rely on malloc insts being present.
Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 00:00:19 +00:00
Devang Patel
5db2c52270
Add copyMD to copy metadata from one instruction to another instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84113 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 17:02:49 +00:00
Duncan Sands
b01bbdcc1a
I don't see any point in having both eh.selector.i32 and eh.selector.i64,
...
so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector.
Likewise for eh.typeid.for. This aligns us with gcc, which always uses a
32 bit value for the selector on all platforms. My understanding is that
the register allocator used to assert if the selector intrinsic size didn't
match the pointer size, and this was the reason for introducing the two
variants. However my testing shows that this is no longer the case (I
fixed some bugs in selector lowering yesterday, and some more today in the
fastisel path; these might have caused the original problems).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 16:11:37 +00:00
Dale Johannesen
4360298d2b
Add an "msasm" flag to inline asm as suggested in PR 5125.
...
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 20:46:56 +00:00
Devang Patel
740d0db812
Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83977 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 17:00:54 +00:00
Nick Lewycky
321333e51e
Force memory use markers to have a ConstantInt for the size argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:57:33 +00:00
Jeffrey Yasskin
6a9291ad55
Fix http://llvm.org/PR5160 , to let CallbackVHs modify other ValueHandles on the
...
same Value without breaking things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 17:43:32 +00:00
Chris Lattner
885dffc391
add some more hooks to the C bindings, patch by Kenneth Uildriks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 04:01:02 +00:00
Dan Gohman
8a261e44f7
Add a form of addPreserved which takes a string argument, to allow passes
...
to declare that they preserve other passes without needing to pull in
additional header file or library dependencies. Convert MachineFunctionPass
and CodeGenLICM to make use of this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83555 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 17:00:02 +00:00
Devang Patel
7f93f4d66c
Do not assume that the module is set.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83462 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 16:37:55 +00:00
Duncan Sands
83ed76869e
Make getPointerTo return a const PointerType* rather than
...
an unqualified PointerType* because it seems more correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83454 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 07:35:19 +00:00
Duncan Sands
ac53a0b272
Introduce and use convenience methods for getting pointer types
...
where the element is of a basic builtin type. For example, to get
an i8* use getInt8PtrTy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 15:40:36 +00:00
Chris Lattner
cf0fe8d813
strength reduce a ton of type equality tests to check the typeid (Through
...
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05 05:54:46 +00:00
Nick Lewycky
b13105fbf6
Requires element types in a constant initializer to match the element types of
...
of the constant. This reverts r6544 and r7428.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83270 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-03 19:30:43 +00:00
Devang Patel
4d7a2061f1
Check for null MDNode element while printing comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83172 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-30 21:26:51 +00:00
Jeffrey Yasskin
1fb613c43d
Assert that ConstantArrays are created with correctly-typed elements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83168 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-30 21:08:08 +00:00
Devang Patel
2d5988d9ba
Print tag name for MDNodes that are used to encode debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-30 20:16:54 +00:00
Devang Patel
11716d766b
Lookup handler name only when assertions are enabled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29 22:05:52 +00:00
Devang Patel
74da40a96f
Add removeMD().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83107 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29 20:42:25 +00:00
Devang Patel
58a230a491
Only one custom meadata of each kind can be attached with an instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29 20:30:57 +00:00
Devang Patel
1d957e4d0d
Use assertion instead of early exit to catch malformed custom metadata store.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83102 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29 20:01:19 +00:00
Devang Patel
0475c9170e
Parse custom metadata attached with an instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29 00:01:14 +00:00
Dan Gohman
d0c5a292aa
Add C API calls for building FNeg operations. Patch by KS Sreeram!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83021 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 21:51:41 +00:00
Devang Patel
e30e678865
s/class Metadata/class MetadataContext/g
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 21:41:20 +00:00
Devang Patel
a2148402ce
Do not use global typedef for MDKindID.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 21:14:55 +00:00
Devang Patel
18f0c263e6
Do not hardcode metadata names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83010 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 20:56:00 +00:00
Devang Patel
3168b79c1c
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82999 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 18:31:56 +00:00
Dan Gohman
a9245d63f6
Remove temporary debugging hack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 00:44:15 +00:00
Dan Gohman
9450b0e1a6
Move the dominator verification code out of special code embedded within
...
the PassManager code into a regular verifyAnalysis method.
Also, reorganize loop verification. Make the LoopPass infrastructure
call verifyLoop as needed instead of having LoopInfo::verifyAnalysis
check every loop in the function after each looop pass. Add a new
command-line argument, -verify-loop-info, to enable the expensive
full checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 00:27:48 +00:00
Dan Gohman
5c12adaa8b
Extend the StartPassTimer and StopPassTimer functions so that the
...
code that stops the timer doesn't have to search to find the timer
object before it stops the timer. This avoids a lock acquisition
and a few other things done with the timer running.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82949 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 00:07:05 +00:00
Dan Gohman
27a8fb8a54
Extract the code for releasing a pass into a separate function, and
...
tidy it up a little.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82944 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 23:38:27 +00:00
Nick Lewycky
c261df9fab
Remove the "metadata*" type and simplify the code it complicated. This was only
...
used to support GlobalVariables storing MDNodes, back when they were derived
from Constant before the introduction of NamedMDNode, but never removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82943 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 23:27:42 +00:00
Nick Lewycky
ae05e7d945
Round out the API for the new optimization flags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82930 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 21:33:04 +00:00
Dan Gohman
6afea253e0
Micro-optimize DerivedType::dropAllTypeUses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82900 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 15:32:21 +00:00
Nick Lewycky
513869453b
Remove dead code from this function and optimize. Update its corresponding
...
LangRef entry too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 07:55:32 +00:00
Nick Lewycky
6776064d19
Instruction::clone does not need to take an LLVMContext&. Remove that and
...
update all the callers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82889 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27 07:38:41 +00:00
Duncan Sands
3548ea8e90
For the NSWSub support in the builder to actually be useable,
...
there need to be corresponding changes to the constant folders,
done in this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82862 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-26 15:35:35 +00:00
Dan Gohman
a23643d5b7
Rename ConstantFP's getInf to getInfinity.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 23:40:21 +00:00
Dan Gohman
f344f7f008
Add a ConstantFP::getInf utility function for creating infinity ConstantFPs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82818 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 23:00:48 +00:00
Victor Hernandez
3e0c99a26f
Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 18:11:52 +00:00