#
a78cd228 |
| 12-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r134893 and r134888 (and related patches in other trees). It was causing an assert on Darwin llvm-gcc builds.
Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, f
Revert r134893 and r134888 (and related patches in other trees). It was causing an assert on Darwin llvm-gcc builds.
Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\ ne 2067. etc.
http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354
--- Reverse-merging r134893 into '.': U include/llvm/Target/TargetData.h U include/llvm/DerivedTypes.h U tools/bugpoint/ExtractFunction.cpp U unittests/Support/TypeBuilderTest.cpp U lib/Target/ARM/ARMGlobalMerge.cpp U lib/Target/TargetData.cpp U lib/VMCore/Constants.cpp U lib/VMCore/Type.cpp U lib/VMCore/Core.cpp U lib/Transforms/Utils/CodeExtractor.cpp U lib/Transforms/Instrumentation/ProfilingUtils.cpp U lib/Transforms/IPO/DeadArgumentElimination.cpp U lib/CodeGen/SjLjEHPrepare.cpp --- Reverse-merging r134888 into '.': G include/llvm/DerivedTypes.h U include/llvm/Support/TypeBuilder.h U include/llvm/Intrinsics.h U unittests/Analysis/ScalarEvolutionTest.cpp U unittests/ExecutionEngine/JIT/JITTest.cpp U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp U unittests/VMCore/PassManagerTest.cpp G unittests/Support/TypeBuilderTest.cpp U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp U lib/VMCore/IRBuilder.cpp G lib/VMCore/Type.cpp U lib/VMCore/Function.cpp G lib/VMCore/Core.cpp U lib/VMCore/Module.cpp U lib/AsmParser/LLParser.cpp U lib/Transforms/Utils/CloneFunction.cpp G lib/Transforms/Utils/CodeExtractor.cpp U lib/Transforms/Utils/InlineFunction.cpp U lib/Transforms/Instrumentation/GCOVProfiling.cpp U lib/Transforms/Scalar/ObjCARC.cpp U lib/Transforms/Scalar/SimplifyLibCalls.cpp U lib/Transforms/Scalar/MemCpyOptimizer.cpp G lib/Transforms/IPO/DeadArgumentElimination.cpp U lib/Transforms/IPO/ArgumentPromotion.cpp U lib/Transforms/InstCombine/InstCombineCompares.cpp U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp U lib/Transforms/InstCombine/InstCombineCalls.cpp U lib/CodeGen/DwarfEHPrepare.cpp U lib/CodeGen/IntrinsicLowering.cpp U lib/Bitcode/Reader/BitcodeReader.cpp
llvm-svn: 134949
show more ...
|
#
56cc1530 |
| 11-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
De-constify Types in FunctionType::get().
llvm-svn: 134888
|
#
b1ed91f3 |
| 09-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
Land the long talked about "type system rewrite" patch. This patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deleti
Land the long talked about "type system rewrite" patch. This patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-)
Removing almost 3K lines of code is a good thing. Other advantages include:
1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere.
Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this.
There are still some cleanups pending after this, this patch is large enough as-is.
llvm-svn: 134829
show more ...
|
#
83be361b |
| 22-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Replace the existing forms of ConstantArray::get() with a single form that takes an ArrayRef.
llvm-svn: 133615
|
#
cc19efaa |
| 20-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Revamp the "ConstantStruct::get" methods. Previously, these were scattered all over the place in different styles and variants. Standardize on two preferred entrypoints: one that takes a StructType
Revamp the "ConstantStruct::get" methods. Previously, these were scattered all over the place in different styles and variants. Standardize on two preferred entrypoints: one that takes a StructType and ArrayRef, and one that takes StructType and varargs.
In cases where there isn't a struct type convenient, we now add a ConstantStruct::getAnon method (whose name will make more sense after a few more patches land).
It would be "really really nice" if the ConstantStruct::get and ConstantVector::get methods didn't make temporary std::vectors.
llvm-svn: 133412
show more ...
|
#
c4407080 |
| 17-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Drop the "2" suffix on some enums.
llvm-svn: 133274
|
#
f1c87109 |
| 17-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
remove support for a bunch of obsolete instruction encodings and other backward compatibility hacks.
llvm-svn: 133273
|
#
b877855b |
| 17-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Remove some "2" suffixes from the metadata enums now that "1" is gone.
llvm-svn: 133269
|
#
2feca509 |
| 17-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
remove bitcode reader support for LLVM 2.7 metadata encoding.
llvm-svn: 133268
|
#
7ae2638d |
| 03-Jun-2011 |
Chad Rosier <mcrosier@apple.com> |
Whitespace and other cleanup. Functionallity unchanged.
llvm-svn: 132533
|
#
a97b2380 |
| 26-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix LTO builds with xcode 4.
llvm-svn: 132132
|
#
5514afe6 |
| 21-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
PR9214: Convert Metadata API to use ArrayRef.
llvm-svn: 129932
|
#
5c984e56 |
| 13-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
PR9214: Convert ConstantExpr::getWithOperands() to use ArrayRef.
llvm-svn: 129439
|
#
35a9c3cd |
| 10-Apr-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r129235 pending a vetting of the EH rewrite. --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U li
Revert r129235 pending a vetting of the EH rewrite. --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp
llvm-svn: 129259
show more ...
|
#
3d5450d8 |
| 10-Apr-2011 |
Bill Wendling <isanbard@gmail.com> |
Beginning of the Great Exception Handling Rewrite.
* Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute.
Later: The verifier will ensur
Beginning of the Great Exception Handling Rewrite.
* Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute.
Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction.
(This is a work-in-progress.)
llvm-svn: 129235
show more ...
|
Revision tags: llvmorg-2.9.0 |
|
#
52131344 |
| 30-Mar-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove PHINode::reserveOperandSpace(). Instead, add a parameter to PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128537
|
Revision tags: llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
69229316 |
| 15-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
convert ConstantVector::get to use ArrayRef.
llvm-svn: 125537
|
#
34442e6e |
| 14-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
revert my ConstantVector patch, it seems to have made the llvm-gcc builders unhappy.
llvm-svn: 125504
|
#
d9f5b885 |
| 14-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
Switch ConstantVector::get to use ArrayRef instead of a pointer+size idiom. Change various clients to simplify their code.
llvm-svn: 125487
|
#
a676c0fc |
| 07-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr. Factor some code better.
llvm-svn: 125006
|
#
35315d06 |
| 06-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
enhance vmcore to know that udiv's can be exact, and add a trivial instcombine xform to exercise this.
Nothing forms exact udivs yet though. This is progress on PR8862
llvm-svn: 124992
|
#
c8adf5f4 |
| 11-Jan-2011 |
Jay Foad <jay.foad@gmail.com> |
FixedNumOperandTraits and VariadicOperandTraits assumed that, given a "this" pointer for any subclass of User, you could static_cast it to User* and then reinterpret_cast that to Use* to get the end
FixedNumOperandTraits and VariadicOperandTraits assumed that, given a "this" pointer for any subclass of User, you could static_cast it to User* and then reinterpret_cast that to Use* to get the end of the operand list. This isn't a safe assumption in general, because the static_cast might adjust the "this" pointer. Fixed by having these OperandTraits classes take an extra template parameter, which is the subclass of User. This is groundwork for PR889.
llvm-svn: 123235
show more ...
|
#
45e6c195 |
| 08-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
First step in fixing PR8927:
Add a unnamed_addr bit to global variables and functions. This will be used to indicate that the address is not significant and therefore the constant or function can be
First step in fixing PR8927:
Add a unnamed_addr bit to global variables and functions. This will be used to indicate that the address is not significant and therefore the constant or function can be merged with others.
If an optimization pass can show that an address is not used, it can set this.
Examples of things that can have this set by the FE are globals created to hold string literals and C++ constructors.
Adding unnamed_addr to a non-const global should have no effect unless an optimization can transform that global into a constant.
Aliases are not allowed to have unnamed_addr since I couldn't figure out any use for it.
llvm-svn: 123063
show more ...
|
#
89d412a1 |
| 28-Oct-2010 |
Duncan Sands <baldrick@free.fr> |
Fix PR8494: when reading invalid bitcode, getTypeByID may return a null pointer.
llvm-svn: 117551
|
Revision tags: llvmorg-2.8.0 |
|
#
0198ce06 |
| 06-Oct-2010 |
Bill Wendling <isanbard@gmail.com> |
Provide a fast "get me the target triple from the module" API. This can drastically reduce the linking time during LTO.
Patch by Shantonu Sen!
llvm-svn: 115728
|