ec4e85e3364f50802f2007e4b1e23661d4610366 |
|
28-Jun-2012 |
Hal Finkel <hfinkel@anl.gov> |
Refactor operation equivalence checking in BBVectorize by extending Instruction::isSameOperationAs. Maintaining this kind of checking in different places is dangerous, extending Instruction::isSameOperationAs consolidates this logic into one place. Here I've added an optional flags parameter and two flags that are important for vectorization: CompareIgnoringAlignment and CompareUsingScalarTypes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
c038a7833565ecf92a699371d448135a097c9e2f |
|
12-Jun-2012 |
Duncan Sands <baldrick@free.fr> |
Now that Reassociate's LinearizeExprTree can look through arbitrary expression topologies, it is quite possible for a leaf node to have huge multiplicity, for example: x0 = x*x, x1 = x0*x0, x2 = x1*x1, ... rapidly gives a value which is x raised to a vast power (the multiplicity, or weight, of x). This patch fixes the computation of weights by correctly computing them no matter how big they are, rather than just overflowing and getting a wrong value. It turns out that the weight for a value never needs more bits to represent than the value itself, so it is enough to represent weights as APInts of the same bitwidth and do the right overflow-avoiding dance steps when computing weights. As a side-effect it reduces the number of multiplies needed in some cases of large powers. While there, in view of external uses (eg by the vectorizer) I made LinearizeExprTree static, pushing the rank computation out into users. This is progress towards fixing PR13021. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
9df72a93ef27a27c6853eed3ed92c9e0b62c9ca6 |
|
10-May-2012 |
Joel Jones <joel_k_jones@apple.com> |
Fix a problem with incomplete equality testing of PHINodes in Instruction::IsIdenticalToWhenDefined. This manifested itself when inlining two calls to the same function. The inlined function had a switch statement that returned one of a set of global variables. Without this modification, the two phi instructions that chose values from the branches of the switch instruction inlined from the callee were considered equivalent and jump-threading replaced a load for the first switch value with a phi selecting from the second switch, thereby producing incorrect code. This patch has been tested with "make check-all", "lnt runteste nt", and llvm self-hosted, and on the original program that had this problem, wireshark. <rdar://problem/11025519> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
8833ef03b9ceaa52063116819fff8b3d16fd8933 |
|
06-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
[unwind removal] Remove all of the code for the dead 'unwind' instruction. There were no 'unwind' instructions being generated before this, so this is in effect a no-op. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
fdebc38523b397743973ff6a2d2e93b112dd96e5 |
|
17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f0426601977c3e386d2d26c72a2cca691dc42072 |
|
15-Dec-2011 |
Dan Gohman <gohman@apple.com> |
Move Instruction::isSafeToSpeculativelyExecute out of VMCore and into Analysis as a standalone function, since there's no need for it to be in VMCore. Also, update it to use isKnownNonZero and other goodies available in Analysis, making it more precise, enabling more aggressive optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
81b4e434d98d4d2ed0a7b493b3ecd09dd7735275 |
|
01-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Make isSafeToSpeculativelyExecute() return the right answer for some new instructions. Found by inspection; not sure what practical impact, if any, this has. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
c9b2a987a291434490fd5b3b6e98b9992916ece4 |
|
17-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r137655. There is some question about whether the 'landingpad' instruction should be marked as potentially reading and/or writing memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
55fdb4eec073fe7fd480ffa7e2a3b05acfacd5b1 |
|
16-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
The resume instruction may throw. Return 'true' in this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
9d6070f161d89376c7c834950f518e25e34d7ce8 |
|
15-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Duncan pointed out that the LandingPadInst might read memory. (It might also write to memory.) Marking it as such makes some checks for immobility go away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
e5e771263a71536ab2794ae726f43e7ccd2720ac |
|
15-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix predicates methods on Instruction to handle atomic load/store correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
e6e8826870bee3facb04f950f0bd725f8a88623d |
|
12-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Initial commit of the 'landingpad' instruction. This implements the 'landingpad' instruction. It's used to indicate that a basic block is a landing pad. There are several restrictions on its use (see LangRef.html for more detail). These restrictions allow the exception handling code to gather the information it needs in a much more sane way. This patch has the definition, implementation, C interface, parsing, and bitcode support in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
dccc03b2423fe65efb5963ae816b99c24fc53374 |
|
31-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Add the 'resume' instruction for the new EH rewrite. This adds the 'resume' instruction class, IR parsing, and bitcode reading and writing. The 'resume' instruction resumes propagation of an existing (in-flight) exception whose unwinding was interrupted with a 'landingpad' instruction (to be added later). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
10c6d12a9fd4dab411091f64db4db69670b88850 |
|
30-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338, r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444, r136445, r136446, r136253 pending review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
55ba816883842e793cdeb32fcb805c4e011b527f |
|
29-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be working on x86 (at least for trivial testcases); other architectures will need more work so that they actually emit the appropriate instructions for orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC, Mips, and Alpha backends need such changes.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ff03048c1350fcc4fda1ef6d6c57252f3a950854 |
|
28-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
LangRef and basic memory-representation/reading/writing for 'cmpxchg' and 'atomicrmw' instructions, which allow representing all the current atomic rmw intrinsics. The allowed operands for these instructions are heavily restricted at the moment; we can probably loosen it a bit, but supporting general first-class types (where it makes sense) might get a bit complicated, given how SelectionDAG works. As an initial cut, these operations do not support specifying an alignment, but it would be possible to add if we think it's useful. Specifying an alignment lower than the natural alignment would be essentially impossible to support on anything other than x86, but specifying a greater alignment would be possible. I can't think of any useful optimizations which would use that information, but maybe someone else has ideas. Optimizer/codegen support coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
772fe17a6d07304ae2e6b3052bbb24ebb751f0f3 |
|
27-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Merge the contents from exception-handling-rewrite to the mainline. This adds the new instructions 'landingpad' and 'resume'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
8a552bb85a5e9a6c250c0a899941fbd3ae7b5006 |
|
27-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc mid-level changes for new 'fence' instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
47f3513dd574535aeb40c9eb11134f0899e92269 |
|
26-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier. This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
4baa510f48000308251a0d7c6be491d11c20d30b |
|
14-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
manually copy debugloc over to a new instruction in clone() instead of calling getAllMetadata(). This is semantically identical, but doing it this way avoids unpacking the DebugLoc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
fc6d3a49867cd38954dc40936a88f1907252c6d2 |
|
13-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f6c63c23203ca4c4aa89efa2bff722bb479cfe3c |
|
26-Jan-2011 |
Nick Lewycky <nicholas@mxc.ca> |
AttrListPtr has an overloaded operator== which does this for us, we should use it. No functionality change! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
0d7ce5ffa4aa853b75e1015c62e27bd9f23ef73b |
|
20-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
There is no need for isAssociative to take the type as an argument anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
4d70a2949007edeaad4662d5cdcb2d272cb2b2ff |
|
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Factor out Instruction::isSafeToSpeculativelyExecute's code for testing for dereferenceable pointers into a helper function, isDereferenceablePointer. Teach it how to reason about GEPs with simple non-zero indices. Also eliminate ArgumentPromtion's IsAlwaysValidPointer, which didn't check for weak externals or out of range gep indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
4f1be4abba762f8a7b77d7622abaf1ed1a87b48b |
|
21-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Rename removeAllMetadata to clearMetadataHashEntries and simplify it to just do the things that need to be done when an instruction is deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
a8b9df7bd96e0b0bc6dec448d30b7d72180b6595 |
|
12-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
cache dereferenced iterators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
8e82e3bf59a4163cd9c44d217baae62d2d2b753c |
|
11-Jul-2010 |
Nick Lewycky <nicholas@mxc.ca> |
If it's safe to speculatively execute load(alloca) the it's safe to execute load(gep(alloca)) where the gep is all-zeros. There's more we could do here but this is a common case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
108e3707fa4df177fdfc1533ce941a50c70eef7c |
|
02-Jul-2010 |
Dan Gohman <gohman@apple.com> |
IndirectBr is not safe to speculatively execute (!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
61336ae001e07c6d68454b1494e45954d373fb51 |
|
01-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Switch the representation of the location in instruction from being a TrackingVH<MDNode> to a NewDebugLoc, shrinking sizeof(Instruction) a lot, and providing clients the ability to deal with locations in terms of NewDebugLoc instead of having to deal with Metadata. This is still fully compatible with all clients that *do* use MDNodes for everything of course. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ec39f095f5abaf1ec90d7c6c46454032cda36e1c |
|
31-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Fix a major source of compile-time slowness at -O0 -g by optimizing the storage of !dbg metadata kinds in the instruction themselves. The on-the-side hash table works great for metadata that not-all instructions get, or for metadata that only exists when optimizing. But when compile-time is everything, it isn't great. I'm not super thrilled with the fact that this plops a TrackingVH in Instruction, because it grows it by 3 words. I'm investigating alternatives, but this should be a step in the right direction in any case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
7ba4e17285ba271758dc478cf422b64e7a2f0e8e |
|
04-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
fa5dd977e4ed16a82e1367ff9ed77c94d4054457 |
|
03-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
it isn't safe to speculative load from a malloc, it might have returned null, and may not have been big enough in any case. Thanks to Jay Foad for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
508b19a5a41a4b82be4ae71e6ea5c691bea99b96 |
|
29-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
remove some unneeded Metadata interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
b2406d9895314cbc61183c2fb712cd1a2ddfe7e0 |
|
29-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
sink the Instruction::HasMetadata bit into SubclassData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
3990b121cf4a0b280ed3e54cf13870cbf4259e78 |
|
29-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
This is a major cleanup of the instruction metadata interfaces that I asked Devang to do back on Sep 27. Instead of going through the MetadataContext class with methods like getMD() and getMDs(), just ask the instruction directly for its metadata with getMetadata() and getAllMetadata(). This includes a variety of other fixes and improvements: previously all Value*'s were bloated because the HasMetadata bit was thrown into value, adding a 9th bit to a byte. Now this is properly sunk down to the Instruction class (the only place where it makes sense) and it will be folded away somewhere soon. This also fixes some confusion in getMDs and its clients about whether the returned list is indexed by the MDID or densely packed. This is now returned sorted and densely packed and the comments make this clear. This introduces a number of fixme's which I'll follow up on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
3ad70d5d61f3f86fb5bc167e157680fc107a1173 |
|
03-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
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
/external/llvm/lib/VMCore/Instruction.cpp
|
ab21db79ef1d2530880ad11f21f0b87ffca02dd4 |
|
28-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
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
/external/llvm/lib/VMCore/Instruction.cpp
|
50b6e33584f4e4cf75c7795b1f1a90731861c825 |
|
27-Oct-2009 |
Devang Patel <dpatel@apple.com> |
Factor out redundancy from clone() implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f006b183e2d2bebcf6968d1dd7350397c95b0325 |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocFreeHelper as MemoryBuiltins git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f9be95f867745b6754b2402b9b72f9eaeabd637f |
|
27-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
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
/external/llvm/lib/VMCore/Instruction.cpp
|
f2becca90b832cc02345fba063b9b439b2be33ad |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
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
/external/llvm/lib/VMCore/Instruction.cpp
|
046e78ce55a7c3d82b7b6758d2d77f2d99f970bf |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
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
/external/llvm/lib/VMCore/Instruction.cpp
|
7b929dad59785f62a66f7c58615082f98441e95e |
|
23-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
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
/external/llvm/lib/VMCore/Instruction.cpp
|
a276c603b82a11b0bf0b59f0517a69e4b63adeab |
|
17-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove MallocInst from LLVM Instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f9e0a220fc97df6bcbd545009e036a91f67e9cc4 |
|
24-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Move parent assertion check before metadata deletion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ffa363c94b7180635efd3c5391da0e034eb138f3 |
|
23-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Delete attached metadata when an instruction is deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
a279bc3da55691784064cb47200a1c584408b8ab |
|
20-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Tabs -> spaces, and remove trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
88d9839d07a6b5a03484d664913de0f2b33d3bff |
|
18-Sep-2009 |
Victor Hernandez <vhernandez@apple.com> |
Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type). In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants. Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array. Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type. Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls. Add verification for malloc calls. Reviewed by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
75b0edae7275436c1255c10eb98e5b0dffc978f6 |
|
26-Aug-2009 |
Dan Gohman <gohman@apple.com> |
This should use isIndenticalToWhenDefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
58cfa3b13752579c86cf85270d49f9ced0942f2f |
|
26-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined, and introduce a new Instruction::isIdenticalTo which tests for full identity, including the SubclassOptionalData flags. Also, fix the Instruction::clone implementations to preserve the SubclassOptionalData flags. Finally, teach several optimizations how to handle SubclassOptionalData correctly, given these changes. This fixes the counterintuitive behavior of isIdenticalTo not comparing the full value, and clone not returning an identical clone, as well as some subtle bugs that could be caused by these. Thanks to Nick Lewycky for reporting this, and for an initial patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
0b79a7727d68a507837e827803859424cf3d997b |
|
17-Jul-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Replace isTrapping with a new, similar method called isSafeToSpeculativelyExecute. The new method is a bit closer to what the callers actually care about in that it rejects more things callers don't want. It also adds more precise handling for integer division, and unifies code for analyzing the legality of a speculative load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
34468c205f7da41f967489760a7ab97e1bd265b0 |
|
14-Jul-2009 |
Dan Gohman <gohman@apple.com> |
FreeInst is trapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
7f6aa2b162e5daaf7b9ccf05d749597d3d7cf460 |
|
08-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove the vicmp and vfcmp instructions. Because we never had a release with these instructions, no autoupgrade or backwards compatibility support is provided. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
194ae785e1f94619cbdcdcf2921caa6997277d32 |
|
12-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Give Instruction::isSameOperationAs a corresponding comment to note the relationship with MergeFunctions.cpp's isEquivalentOperation, and make a trivial code reordering so that the two functions are easier to compare. Fix the name of Instruction::isSameOperationAs in MergeFunction.cpp's isEquivalentOperation's comment, and fix a nearby 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ae3a0be92e33bc716722aa600983fc1535acb122 |
|
05-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Split the Add, Sub, and Mul instruction opcodes into separate integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
7af1c78b98d2df7d0ab9154461ca3d835706716e |
|
06-May-2009 |
Duncan Sands <baldrick@free.fr> |
Allow readonly functions to unwind exceptions. Teach the optimizers about this. For example, a readonly function with no uses cannot be removed unless it is also marked nounwind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
a36791da41cf4f635e50077b290676b873836bda |
|
23-Jan-2009 |
Gabor Greif <ggreif@gmail.com> |
Simplify the logic of getting hold of a PHI predecessor block. There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
3ff704fa2b67d6c857142218c5aca3058b6239fc |
|
13-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
add a new insertAfter method, patch by Tom Jablin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
e3a0884ddf9009f040d80f5fde3b6d5d70b0fa13 |
|
27-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
improve const correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
41fe88b26dab59bedc9e45a43752245b9ec3496a |
|
27-Oct-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Fix an obvious copy/pasto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
9a8af451a39a38351d87866a1d39e594a0c3341f |
|
16-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Fix Instruction::isIdenticalTo and isSameOperationAs to recognize additional information in Loads, Stores, Calls, Invokes, InsertValueInsts, and ExtractValueInsts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
95c2cc51ebb2a58ccd66a1465d5c8ed89b381bc9 |
|
16-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Correct the name of isTrapping in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
fc74abfba5128544a750fce22fdf13eb0403e3ce |
|
23-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Enable first-class aggregates support. Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
26bb50ab48c561adfd32d129e0eff0cbf0a04625 |
|
17-Jun-2008 |
Owen Anderson <resistor@mac.com> |
Add an insertBefore method for attaching previously unattached instructions, such as those created by clone(), to a basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
74b5e07cc4a65989eb43bdc016d51db3c192691f |
|
30-May-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Let Instruction::getOpcodeName() return something useful for the new insertvalue / extractvalue instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ac80ade1580378e484e24c9f66d2fa5b058e5891 |
|
12-May-2008 |
Nate Begeman <natebegeman@mac.com> |
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef for details. CodeGen support coming in a follow up patch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
748118d8aa8a66597437e6970ab389c988bbdb8b |
|
08-May-2008 |
Chris Lattner <sabre@nondot.org> |
conservatively say that volatile stores read memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
38818b072f2e914aeb28fefc38d19eca0268f873 |
|
08-May-2008 |
Chris Lattner <sabre@nondot.org> |
store can't read from memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
d96288a2ff188bb1fb1b86fb89b1ac82f6310a5c |
|
08-May-2008 |
Chris Lattner <sabre@nondot.org> |
add a new Instruction::mayReadFromMemory predicate, make Instruction::mayWriteToMemory stronger for invokes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
7ae40e7d8ac43feaa5b3107e02c9b3a77fe729f2 |
|
21-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
add a handy helper method to instruction, useful for determining whether it is used outside of some block. This can be used to see if there are any non-local references, for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
d660f973dc69801615545c74409e77888869aae2 |
|
14-Apr-2008 |
Dan Gohman <gohman@apple.com> |
VAArg may trap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
95cb2ad919043d8ec5dbcc36cd59ac7d9a46999f |
|
22-Feb-2008 |
Devang Patel <dpatel@apple.com> |
print getresult instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
7915cbee4d6ecc8bc2daa9fb44833a134a25016b |
|
12-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Revert r44626, which turned off the use of readonly and readnone for functions with bodies because it broke llvm-gcc-4.2 bootstrap. It turns out that, because of LLVM's array_ref hack, gcc was computing pure/const attributes wrong (now fixed by turning off the gcc ipa-pure-const pass). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.cpp
|
5d84afdc836fa28d840449108206e850617a2a15 |
|
05-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Commit 44487 broke bootstrap of llvm-gcc-4.2. It is not yet clear why, but in the meantime work around the problem by making less use of readnone/readonly info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
37f3ee17d2192e52f436f640788b28c0b68db102 |
|
26-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead to Instruction::mayWriteToMemory, fixing a FIXME, and helping various places that call mayWriteToMemory directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
910c80a07503591052a77cefb26cebea95a8d743 |
|
24-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Refactor the setName stuff, moving it down the inheritance hierarchy, to solve a crash in -instcombine -debug that was hit while investigating PR1217 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
da304d07507d373477a79e9a3259724b35838deb |
|
19-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
remove warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
c552ff2825d7d7c8128ae845d3e1512649780f91 |
|
19-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Add a FIXME for unwritten code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
fadb3f773e5ab171315761d151c1416921d25614 |
|
16-Feb-2007 |
Andrew Lenharth <andrewl@lenharth.org> |
fix build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
bb5493d9fa8845f002613ac013087b347a052357 |
|
16-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
make mayWriteToMemory a non-virtual function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f00042a9990d90885a8f236ed0f6bf07902d1374 |
|
13-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Switch UnaryOperators to default to passing names up by const char* when possible. This speeds up bcreading by 1.5%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.cpp
|
70d8d121eaa3a3982022f7146113416f9b3f26c1 |
|
04-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Now that setcondinst has been eliminated, we can mark Value::SubclassID const and remove the ugly mutator methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
e4d87aa2de6e52952dca73716386db09aad5a8fd |
|
23-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
74f1642bc1c2981e4573c9f0690d91b6a9bbc68c |
|
03-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Allow the ICmp and FCmp instructions to be written by the AsmWriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
45fb3f3cb2b8efc01d9bbe42a64194f35b92c759 |
|
20-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: First in a series of patches to convert SetCondInst into ICmpInst and FCmpInst using only two opcodes and having the instructions contain their predicate value. Nothing uses these classes yet. More patches to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
3822ff5c71478c7c90a50ca57045fb676fcb5005 |
|
08-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch converts the old SHR instruction into two instructions, AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not dependent on the sign of their operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
0a783f783ca05c961234385f5b269d4cf03dbbdb |
|
02-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: Replace the REM instruction with UREM, SREM and FREM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
4d3839ded2f434c67bc5f5cc7803978a727defb3 |
|
26-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
Fix Transforms/InstCombine/2006-10-26-VectorReassoc.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
1628cec4d7fce310d9cde0bcc73997e5a71692c4 |
|
26-Oct-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
a5b07404f79036727ba47624050040defe59a5fa |
|
17-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Add new SetCondInst::isRelational/isEquality methods. Rename Instruction::isRelational to Instruction::isComparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
70aa33ee37fede7fb84de02daa38557ffd366458 |
|
21-Jun-2006 |
Chris Lattner <sabre@nondot.org> |
Add some out-of-line virtual dtors so that the class has a "home", preventing vtables for (e.g.) Instruction from being emitted into every .o file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
00f1023cf8b30c74dc219525f518a80c45b6e7ba |
|
08-Apr-2006 |
Chris Lattner <sabre@nondot.org> |
Add shufflevector support, todo, implement better constant folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
c152f9cd26e7cb32352c513389a18ffd892ecaec |
|
17-Jan-2006 |
Robert Bocchino <bocchino@illinois.edu> |
VMCore support for the insertelement operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
b52ee7f5ffd189c4f21ab227c6a24061ef3378fc |
|
10-Jan-2006 |
Robert Bocchino <bocchino@illinois.edu> |
Added support for the extractelement operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
0fe34d89126c594e0e8378d978a593350189fedf |
|
08-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
add new helper function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
558bc88a00930fce283b240b7c9555f649a18f1b |
|
18-Jun-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
core changes for varargs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ddb6db4fa11d06217d01d8431596131abdfb7ef0 |
|
06-May-2005 |
Chris Lattner <sabre@nondot.org> |
Add a 'tail' marker for call instructions, patch contributed by Alexander Friedman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.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/Instruction.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/Instruction.cpp
|
38f14553939e574becab6ea1e0b055d31293b0cf |
|
30-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Add method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
b976e668165e1875a8f1eb7af800e33bb1e4393d |
|
16-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for undef and unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.cpp
|
40515dba1bcbde16ee79657c6053232bc4562554 |
|
27-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Fold iType into Value::VTy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
e5828f1fa7c2691f747f5060ce11b8e55cea03ab |
|
26-May-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Refactor common initialization code in private init() functions. This is a first step in supplying append to basic block constructors for all instruction types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
b4f4880eba456ed240beb6eb571339efbd0bf65f |
|
12-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Know the opcode name of the select instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
786993c01ec8bdabe354fb62a083fedc9d7a087e |
|
04-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
If changing a parent, don't add then remove the object from the leak detector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
3a534f200acf1353c3a8a0cdb2501b773c233525 |
|
13-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Implement new Instruction::isRelational method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
4b74c8333495c609fa81421df32e46db616672e1 |
|
20-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
* Finegrainify namespacification * Add new constructors to allow insertion of terminator instructions at the end of basic blocks. * Move a ReturnInst method out-of-line, so that the vtable and type info don't need to be emitted to every translation unit that uses the class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.cpp
|
3b237fcd385a734b49bb54893ce256ba181e36f9 |
|
19-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
4d45bd007d0c3a3a6e5b3876b67fd495acb0db2b |
|
18-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for the new varargs intrinsics and instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.cpp
|
a6ce898dad724380b1444f664f8e422ba1e746d0 |
|
08-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for unwind git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
ec127bb3526aefbf9008df3c3ce4c1f30fb77f08 |
|
31-Jul-2003 |
Tanya Lattner <tonic@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
741bb0019de9aa28a731b4eef2422a3397f99cd0 |
|
31-Jul-2003 |
Tanya Lattner <tonic@nondot.org> |
Added function to determine if an Instruction may trap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
8f77daef04355c00b78b645f5aae5694e7a8b631 |
|
08-May-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for the new va_arg instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
f2da7241f590aaae128ecce7732c6094084df2b6 |
|
31-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
New isAssociative/isCommutative inspection methods, graciously contributed by Casey Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
2aa831120c97fa4725aea97b0b3e67e8d95b4f38 |
|
10-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Add capability to insert an instruction into a basic block immediately after it is created, as part of the ctor call. Eliminate the GenericBinaryInst class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.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/Instruction.cpp
|
0513e9fe03f6e3c7d0272b8f4f82359e8d1a2e44 |
|
14-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Remove support for NOT instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
c105645c16f77ee20b853baf717073ad393dd4aa |
|
15-Jul-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Create a static version of Instruction::getOpcodeName(opCode) that can be invoked with only an opcode (i.e., without an instruction). Move all opCode->opCodeName translations there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
2fbfdcffd3e0cf41422aaa6c526c37cb02b81341 |
|
07-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Change references to the Method class to be references to the Function class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
221d688a5ef21a22c2368c9fff0e92d7966c95e5 |
|
12-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Method.h no longer includes BasicBlock.h Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
71947fdbc607c2eca3ddd456197c240ad5157f40 |
|
03-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Switch from MachineCodeForVMInstr model that is built into the VMCore library to an annotation based MAchineCodeForInstruction model Instruction.cpp now has 0 lines of code generation related code in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
699a7bfd6b0c789e7e04c0e182d7518b34b514b0 |
|
26-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Remove extraneous #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|
e05bf2f49caa7682c8c4ce39e03e6c596fc63bcc |
|
07-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
* Support new setname interface * Add assertion for sanity checking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
7e583cfafeb07713e5ceadcfe28b70111a528d97 |
|
21-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Renamed include/llvm/Codegen to include/llvm/CodeGen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
f9be9a9bf17e2b44e826fe6aa31e2fc691326bc4 |
|
21-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Fix code to be in a consistent style git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
cfad5df977f257299063309fa34f3c24831093c4 |
|
21-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Remove getTempValuesForMachineCode from the Instruction interface to remove dependency on <vector> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
3344615555d57b2c16f36a3108b78ac89c7b4e7f |
|
20-Jul-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added a representation of the machine instructions generated for a VM instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
20554f11d0410496bc5c49744e0d45c71a1a3955 |
|
25-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp Moved BinaryOperator::create to iBinaryOperators.cpp Add getUniqueName to SymbolTable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.cpp
|
477c2ec3e01ddb67c3c079156f2ee2e1858bec42 |
|
08-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator to the UnaryOperator class (from the Instruction class). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Instruction.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/Instruction.cpp
|