| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Revamp the "ConstantStruct::get" methods. Previously, these were scattered | Chris Lattner | 2011-06-20 | 1 | -39/+39 |
| | | | | | | | | | | | | | | | | 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 | ||||
| * | Don't crash owhen ComputeLoadResult can't compute the result of the load. | Nick Lewycky | 2011-05-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 132290 | ||||
| * | Obey the isVolatile bit on memory intrinsics when analyzing uses of a global | Nick Lewycky | 2011-05-29 | 1 | -5/+19 |
| | | | | | | | | | | variable. Noticed by inspection. Simulate memset in EvaluateFunction where the target of the memset and the value we're setting are both the null value. Fixes PR10047! llvm-svn: 132288 | ||||
| * | fix PR9856, an incorrectly conservative assertion: a global can be | Chris Lattner | 2011-05-22 | 1 | -3/+3 |
| | | | | | | | "stored once" even if its address is compared. llvm-svn: 131849 | ||||
| * | Just because a GlobalVariable's initializer is [N x { i32, void ()* }] doesn't | Nick Lewycky | 2011-04-11 | 1 | -7/+10 |
| | | | | | | | | | | | | | mean that it has to be ConstantArray of ConstantStruct. We might have ConstantAggregateZero, at either level, so don't crash on that. Also, semi-deprecate the sentinal value. The linker isn't aware of sentinals so we end up with the two lists appended, each with their "sentinals" on them. Different parts of LLVM treated sentinals differently, so make them all just ignore the single entry and continue on with the rest of the list. llvm-svn: 129307 | ||||
| * | Don't include Operator.h from InstrTypes.h. | Jay Foad | 2011-04-11 | 1 | -0/+1 |
| | | | | | llvm-svn: 129271 | ||||
| * | Add back a couple checks removed by r129128; the fact that an intitializer | Eli Friedman | 2011-04-09 | 1 | -4/+6 |
| | | | | | | | | is an array of structures doesn't imply it's a ConstantArray of ConstantStruct. llvm-svn: 129207 | ||||
| * | llvm.global_[cd]tor is defined to be either external, or appending with an array | Nick Lewycky | 2011-04-08 | 1 | -20/+5 |
| | | | | | | | | of { i32, void ()* }. Teach the verifier to verify that, deleting copies of checks strewn about. llvm-svn: 129128 | ||||
| * | Remove PHINode::reserveOperandSpace(). Instead, add a parameter to | Jay Foad | 2011-03-30 | 1 | -1/+1 |
| | | | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128537 | ||||
| * | (Almost) always call reserveOperandSpace() on newly created PHINodes. | Jay Foad | 2011-03-30 | 1 | -1/+3 |
| | | | | | llvm-svn: 128535 | ||||
| * | Handle another case that Frits suggested. | Anders Carlsson | 2011-03-22 | 1 | -2/+4 |
| | | | | | llvm-svn: 128068 | ||||
| * | More cleanups to the OptimizeEmptyGlobalCXXDtors GlobalOpt function. | Anders Carlsson | 2011-03-21 | 1 | -15/+9 |
| | | | | | llvm-svn: 127997 | ||||
| * | As suggested by Nick Lewycky, ignore debugging intrinsics when trying to ↵ | Anders Carlsson | 2011-03-21 | 1 | -0/+7 |
| | | | | | | | decide whether a destructor is empty or not. llvm-svn: 127985 | ||||
| * | Fix comments | Nick Lewycky | 2011-03-21 | 1 | -2/+2 |
| | | | | | llvm-svn: 127984 | ||||
| * | Don't try to eliminate invokes to __cxa_atexit. | Anders Carlsson | 2011-03-20 | 1 | -0/+6 |
| | | | | | llvm-svn: 127976 | ||||
| * | Don't segfault on mutual recursion, as pointed out by Frits. | Anders Carlsson | 2011-03-20 | 1 | -4/+6 |
| | | | | | llvm-svn: 127975 | ||||
| * | Address comments from Frits van Bommel. | Anders Carlsson | 2011-03-20 | 1 | -7/+16 |
| | | | | | llvm-svn: 127974 | ||||
| * | Add an optimization to GlobalOpt that eliminates calls to __cxa_atexit, if ↵ | Anders Carlsson | 2011-03-20 | 1 | -0/+101 |
| | | | | | | | the function passed is empty. llvm-svn: 127970 | ||||
| * | convert ConstantVector::get to use ArrayRef. | Chris Lattner | 2011-02-15 | 1 | -2/+1 |
| | | | | | llvm-svn: 125537 | ||||
| * | revert my ConstantVector patch, it seems to have made the llvm-gcc | Chris Lattner | 2011-02-14 | 1 | -1/+2 |
| | | | | | | | builders unhappy. llvm-svn: 125504 | ||||
| * | Switch ConstantVector::get to use ArrayRef instead of a pointer+size | Chris Lattner | 2011-02-14 | 1 | -2/+1 |
| | | | | | | | idiom. Change various clients to simplify their code. llvm-svn: 125487 | ||||
| * | Add unnamed_addr when we can show that address of a global is not used. | Rafael Espindola | 2011-01-19 | 1 | -13/+42 |
| | | | | | llvm-svn: 123834 | ||||
| * | Reduce indentation and remove commented out code. | Rafael Espindola | 2011-01-18 | 1 | -122/+101 |
| | | | | | llvm-svn: 123729 | ||||
| * | Improve the safety of my globalopt enhancement by ensuring that the bitcast | Owen Anderson | 2011-01-16 | 1 | -12/+22 |
| | | | | | | | of the stored value to the new store type is always. Also, add a testcase. llvm-svn: 123563 | ||||
| * | simplify this code, it is still broken but will follow up on llvm-commits. | Chris Lattner | 2011-01-16 | 1 | -15/+5 |
| | | | | | llvm-svn: 123558 | ||||
| * | Try to unbreak selfhost. | Benjamin Kramer | 2011-01-15 | 1 | -0/+1 |
| | | | | | llvm-svn: 123537 | ||||
| * | Fix a false-positive warning. | Owen Anderson | 2011-01-14 | 1 | -1/+3 |
| | | | | | llvm-svn: 123480 | ||||
| * | Enhance GlobalOpt to be able evaluate initializers that involve stores through | Owen Anderson | 2011-01-14 | 1 | -2/+49 |
| | | | | | | | bitcasts, at least in simple cases. This fixes clang's CodeGenCXX/virtual-base-dtor.cpp llvm-svn: 123477 | ||||
| * | fix a globalopt crash on two Adobe-C++ testcases that the recent | Chris Lattner | 2011-01-01 | 1 | -0/+5 |
| | | | | | | | loop idiom pass exposed. llvm-svn: 122674 | ||||
| * | reapply r121100 with a tweak to constant fold ConstExprs with TargetData | Chris Lattner | 2010-12-07 | 1 | -8/+95 |
| | | | | | | | | | (if available) as we go so that we get simple constantexprs not insane ones. This fixes the failure of clang/test/CodeGenCXX/virtual-base-ctor.cpp that the previous iteration of this patch had. llvm-svn: 121111 | ||||
| * | Temporarily revert r121100 as it's causing clang to fail | Eric Christopher | 2010-12-07 | 1 | -85/+5 |
| | | | | | | | CodeGenCXX/virtual-base-ctor.cpp. llvm-svn: 121102 | ||||
| * | fix PR8710 - teach global opt that some constantexprs are too complex to | Chris Lattner | 2010-12-07 | 1 | -5/+85 |
| | | | | | | | put in a global variable's initializer. llvm-svn: 121100 | ||||
| * | replace a linear scan with a symtab lookup, reduce indentation. | Chris Lattner | 2010-12-06 | 1 | -38/+38 |
| | | | | | | | No functionality change. llvm-svn: 121042 | ||||
| * | Get rid of static constructors for pass registration. Instead, every pass ↵ | Owen Anderson | 2010-10-19 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820 | ||||
| * | GlobalOpt: EvaluateFunction() must not evaluate stores to weak_odr globals. | Mikhail Glushenkov | 2010-10-19 | 1 | -6/+7 |
| | | | | | | | Fixes PR8389. llvm-svn: 116812 | ||||
| * | Trailing whitespace. | Mikhail Glushenkov | 2010-10-18 | 1 | -151/+151 |
| | | | | | llvm-svn: 116749 | ||||
| * | Now with fewer extraneous semicolons! | Owen Anderson | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115996 | ||||
| * | Reapply r110396, with fixes to appease the Linux buildbot gods. | Owen Anderson | 2010-08-06 | 1 | -1/+1 |
| | | | | | llvm-svn: 110460 | ||||
| * | Revert r110396 to fix buildbots. | Owen Anderson | 2010-08-06 | 1 | -1/+1 |
| | | | | | llvm-svn: 110410 | ||||
| * | Don't use PassInfo* as a type identifier for passes. Instead, use the ↵ | Owen Anderson | 2010-08-05 | 1 | -1/+1 |
| | | | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396 | ||||
| * | Prefix `next' iterator operation with `llvm::'. | Oscar Fuentes | 2010-08-02 | 1 | -1/+1 |
| | | | | | | | | | Fixes potential ambiguity problems on VS 2010. Patch by nobled! llvm-svn: 110029 | ||||
| * | undo 80 column trespassing I caused | Gabor Greif | 2010-07-22 | 1 | -1/+2 |
| | | | | | llvm-svn: 109092 | ||||
| * | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 1 | -1/+2 |
| | | | | | llvm-svn: 109045 | ||||
| * | eliminate unlockedRefineAbstractTypeTo, types are all per-llvmcontext, | Chris Lattner | 2010-07-16 | 1 | -1/+1 |
| | | | | | | | so there is no locking involved in type refinement. llvm-svn: 108553 | ||||
| * | cache result of operator* | Gabor Greif | 2010-07-12 | 1 | -4/+6 |
| | | | | | llvm-svn: 108144 | ||||
| * | make the prototypes for CreateMalloc and CreateFree more consistent. Patch | Chris Lattner | 2010-07-12 | 1 | -2/+2 |
| | | | | | | | by Hans Vandierendonck from PR7605 llvm-svn: 108116 | ||||
| * | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -6/+6 |
| | | | | | llvm-svn: 107990 | ||||
| * | use ArgOperand API and CallSite for arg range; add necessary casts and ↵ | Gabor Greif | 2010-06-24 | 1 | -11/+14 |
| | | | | | | | perform some cosmetics llvm-svn: 106747 | ||||
| * | use abstract accessors to CallInst | Gabor Greif | 2010-04-20 | 1 | -2/+2 |
| | | | | | llvm-svn: 101899 | ||||
| * | Revert 101465, it broke internal OpenGL testing. | Eric Christopher | 2010-04-16 | 1 | -13/+13 |
| | | | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579 | ||||

