summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Assign variable before we test it.Bill Wendling2011-07-131-2/+1
| | | | llvm-svn: 135015
* Fix obvious think-o.Bill Wendling2011-07-131-1/+1
| | | | llvm-svn: 135014
* Clean up the handling of an EBP/RBP unwind frame pointer. In particular, don'tBill Wendling2011-07-131-23/+26
| | | | | | | | assert when the frame pointer is -1 (i.e., the function is "frameless"). Still to do: "frameless" unwind information. llvm-svn: 135013
* There is a cyclic dependency between MC and Target if this method is ↵Bill Wendling2011-07-121-6/+0
| | | | | | out-of-line. llvm-svn: 135006
* Second attempt at de-constifying LLVM Types in FunctionType::get(),Jay Foad2011-07-1227-96/+78
| | | | | | StructType::get() and TargetData::getIntPtrType(). llvm-svn: 134982
* Remove IntegerType constness from TargetDataTobias Grosser2011-07-121-1/+1
| | | | llvm-svn: 134978
* simplify assertions to not be completely redundant.Chris Lattner2011-07-121-15/+2
| | | | llvm-svn: 134968
* make the IRBuilder type methods return non-const types.Chris Lattner2011-07-121-1/+1
| | | | llvm-svn: 134959
* Revert r134893 and r134888 (and related patches in other trees). It was causingBill Wendling2011-07-1228-79/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* TypeMap had a destructor that destroyed the types it held. DenseMap did not, soNick Lewycky2011-07-121-14/+18
| | | | | | destroy those types in ~LLVMContext. llvm-svn: 134945
* indvars: Code reorganization in preparation forAndrew Trick2011-07-121-589/+624
| | | | | | | | | | | | | | | | | LinearFunctionTestReplace rewrite. No functionality. I've been wanting to group the indvar subphases into sections and order them by their logical sequence. My next checkin adds functions related to LFTR, and doing the reorg now should help reviewers. Since, most of the code in IndVarSimplify.cpp has recently been replaced or will be replaced soon, obscuring blame should not be an issue. This seems like an ideal time to shuffle the code around. I'm happy to take more suggestions for cleaning up the code. Or if you've been wanting to cleanup anything in this file yourself, now is a good time. llvm-svn: 134941
* Most MCCodeEmitter's don't meed MCContext.Evan Cheng2011-07-113-7/+3
| | | | llvm-svn: 134922
* Resynchronize EDInfo.h and EDEmitter.cpp.Shantonu Sen2011-07-112-11/+29
| | | | | | | | | | | | The enum names as well as order (i.e. value) had skewed, which means that consumers of the tablegen-ed table would see different values than intended. Make both files have a superset of enums, and add classification as needed for numMCOperands. Reviewed by Owen Anderson llvm-svn: 134905
* Fix recognition of ARM 'adcs' mnemonic.Jim Grosbach2011-07-111-23/+26
| | | | | | The 'CS' is not a predication suffix in this case. llvm-svn: 134903
* Simplify printing of ARM shifted immediates.Jim Grosbach2011-07-113-35/+0
| | | | | | | | | Print shifted immediate values directly rather than as a payload+shifter value pair. This makes for more readable output assembly code, simplifies the instruction printer, and is consistent with how Thumb immediates are displayed. llvm-svn: 134902
* De-constify Types in StructType::get() and TargetData::getIntPtrType().Jay Foad2011-07-119-22/+14
| | | | llvm-svn: 134893
* De-constify Types in FunctionType::get().Jay Foad2011-07-1123-75/+65
| | | | llvm-svn: 134888
* Remove mentions of type planes.Jay Foad2011-07-111-4/+4
| | | | llvm-svn: 134887
* - Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfoEvan Cheng2011-07-1139-142/+341
| | | | | | | | | | | | and MCSubtargetInfo. - Added methods to update subtarget features (used when targets automatically detect subtarget features or switch modes). - Teach X86Subtarget to update MCSubtargetInfo features bits since the MCSubtargetInfo layer can be shared with other modules. - These fixes .code 16 / .code 32 support since mode switch is updated in MCSubtargetInfo so MC code emitter can do the right thing. llvm-svn: 134884
* Don't duplicate the work done by a gep into a "bitcast" if the gep hasRafael Espindola2011-07-111-0/+8
| | | | | | | | more than one use. Fixes PR10322. llvm-svn: 134883
* Fix <rdar://problem/9751331>.Cameron Zwarich2011-07-111-3/+3
| | | | llvm-svn: 134882
* Silence -Wunused-variable in release builds.Chandler Carruth2011-07-101-0/+2
| | | | llvm-svn: 134868
* Use BranchProbability instead of floating points in IfConverter.Jakub Staszak2011-07-103-49/+56
| | | | llvm-svn: 134858
* Don't analyze block if it's not considered for ifcvt anymore.Jakub Staszak2011-07-101-2/+3
| | | | llvm-svn: 134856
* the various ConstantExpr::get*Ty methods existed to work with issues aroundChris Lattner2011-07-091-145/+90
| | | | | | type refinement. Zap them now that type refinement is toast. llvm-svn: 134837
* don't load element before checking to see if it is valid.Chris Lattner2011-07-091-2/+2
| | | | llvm-svn: 134836
* Eliminate the WriteTypeSymbolic function. Now that types knowChris Lattner2011-07-091-5/+0
| | | | | | their names, we don't need a module around to print them. llvm-svn: 134835
* stop using WriteTypeSymbolic.Chris Lattner2011-07-091-3/+1
| | | | llvm-svn: 134833
* remove the DerivedType which isn't adding value anymore.Chris Lattner2011-07-092-3/+2
| | | | llvm-svn: 134832
* Land the long talked about "type system rewrite" patch. ThisChris Lattner2011-07-0941-4403/+2365
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Windows/DynamicLibrary.inc: Fix trivial warnings. Thanks to John Myers!NAKAMURA Takumi2011-07-092-3/+3
| | | | llvm-svn: 134812
* Revert accidental commit.Evan Cheng2011-07-091-6/+0
| | | | llvm-svn: 134800
* Change createAsmParser to take a MCSubtargetInfo instead of triple,Evan Cheng2011-07-0923-56/+263
| | | | | | | | | CPU, and feature string. Parsing some asm directives can change subtarget state (e.g. .code 16) and it must be reflected in other modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance must be shared. llvm-svn: 134795
* Oops, didn't mean to commit that.Jakob Stoklund Olesen2011-07-091-1/+1
| | | | | | | | Spills should be hoisted out of loops, but we don't want to hoist them to dominating blocks at the same loop depth. That could cause the spills to be executed more often. llvm-svn: 134782
* Added recognition for signed add/sub/mul with overflow intrinsics to GVN as ↵Lang Hames2011-07-091-0/+3
| | | | | | per Chris and Frits suggestion. llvm-svn: 134777
* Hoist spills within a basic block.Jakob Stoklund Olesen2011-07-091-3/+28
| | | | | | | | | | Try to move spills as early as possible in their basic block. This can help eliminate interferences by shortening the live range being spilled. This fixes PR10221. llvm-svn: 134776
* Really force on 64bit for 64-bit targets. Should fix remaining failures on ↵Eli Friedman2011-07-081-3/+11
| | | | | | unknown x86/non-x86 targets. llvm-svn: 134773
* Revert earlier unnecessary hack. Make sure we correctly force on 64bit and ↵Eli Friedman2011-07-082-4/+9
| | | | | | cmov for 64-bit targets. llvm-svn: 134768
* Fix indentation.Evan Cheng2011-07-081-2/+2
| | | | llvm-svn: 134764
* Fix comment.Evan Cheng2011-07-081-1/+1
| | | | llvm-svn: 134763
* Add support for ARM / Thumb mode switching with .code 16 and .code 32.Evan Cheng2011-07-081-16/+30
| | | | llvm-svn: 134760
* Update comments for SandyBridge CPU identifiers.Bob Wilson2011-07-081-2/+6
| | | | llvm-svn: 134759
* Mark tBRIND as predicable.Jim Grosbach2011-07-081-2/+2
| | | | llvm-svn: 134758
* Restore old behavior. Always auto-detect features unless cpu or features are ↵Evan Cheng2011-07-083-20/+7
| | | | | | specified. llvm-svn: 134757
* Pseudo-ize tBRIND.Jim Grosbach2011-07-081-12/+6
| | | | llvm-svn: 134755
* Default 64-bit target features and SSE2 on when a triple specifies x86-64. ↵Eli Friedman2011-07-082-37/+1
| | | | | | Clean up all the other hacks which are now unnecessary. llvm-svn: 134753
* Recognize Intel CPUs with Family=6 and Model=44.Bob Wilson2011-07-081-0/+1
| | | | | | | | According to Intel Application Note 485, this value is used for "Intel Core i7 and Intel Xeon processor". Just include it with the other "corei7-avx" entries. llvm-svn: 134750
* Reapply a fixed version of r133285.Bob Wilson2011-07-081-5/+8
| | | | | | | This tightens up checking for overflow in alloca sizes, based on feedback from Duncan and John about the change in r132926. llvm-svn: 134749
* Make tBX_RET and tBX_RET_vararg predicable.Jim Grosbach2011-07-083-7/+10
| | | | | | | | | | The normal tBX instruction is predicable, so there's no reason the pseudos for using it as a return shouldn't be. Gives us some nice code-gen improvements as can be seen by the test changes. In particular, several tests now have to disable if-conversion because it works too well and defeats the test. llvm-svn: 134746
* Add _allrem, _aullrem and _allmul to the runtime for MSVC.Julien Lerouge2011-07-081-0/+6
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=10305 llvm-svn: 134744
OpenPOWER on IntegriCloud