- Dec 06, 2010
-
-
Chris Lattner authored
llvm-svn: 120993
-
- Nov 11, 2010
-
-
Dan Gohman authored
and vaarg instructions. llvm-svn: 118845
-
Dan Gohman authored
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. llvm-svn: 118840
-
Dan Gohman authored
llvm-svn: 118804
-
- Nov 10, 2010
-
-
Dan Gohman authored
it, and to be consistent. llvm-svn: 118692
-
Dan Gohman authored
arbitrary memory into a helper function, and adjust some comments. llvm-svn: 118687
-
Dan Gohman authored
chaining and simplify FunctionAttrs' GetModRefBehavior logic. llvm-svn: 118660
-
- Nov 09, 2010
-
-
Dan Gohman authored
llvm-svn: 118627
-
Dan Gohman authored
memory. This isn't a real improvement with present day AliasAnalysis implementations; it's mainly for consistency. llvm-svn: 118624
-
Dan Gohman authored
llvm-svn: 118617
-
- Nov 08, 2010
-
-
Dan Gohman authored
llvm-svn: 118430
-
Dan Gohman authored
llvm-svn: 118417
-
Dan Gohman authored
to optionally look for constant or local (alloca) memory. Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select and Phi nodes, and to support looking for local memory. Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that AliasAnalysis knows all the tricks that it knew. llvm-svn: 118412
-
Dan Gohman authored
knows about intrinsic functions. llvm-svn: 118410
-
- Nov 03, 2010
-
-
Duncan Sands authored
the code more self-documenting. llvm-svn: 118171
-
Jakob Stoklund Olesen authored
threshold given to createFunctionInliningPass(). Both opt -O3 and clang would silently ignore the -inline-threshold option. llvm-svn: 118117
-
- Oct 30, 2010
-
-
Duncan Sands authored
it claiming not to have side-effects is no longer needed. llvm-svn: 117789
-
Duncan Sands authored
consider it to be readonly. In fact, don't even consider it to be readonly if it does a volatile load from an AllocaInst either (it is debatable as to whether readonly would be correct or not in this case; play safe for the moment). This fixes PR8279. llvm-svn: 117783
-
- Oct 21, 2010
-
-
Duncan Sands authored
it looks like maybe it was supposed to be used in the test...), so zap it (gcc-4.6 warning). llvm-svn: 117023
-
- Oct 20, 2010
-
-
Dan Gohman authored
uint64_t, plus fixes for places I missed before. llvm-svn: 116875
-
- Oct 19, 2010
-
-
Owen Anderson authored
Get rid of static constructors for pass registration. Instead, every pass 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
-
Mikhail Glushenkov authored
Fixes PR8389. llvm-svn: 116812
-
- Oct 18, 2010
-
-
Mikhail Glushenkov authored
llvm-svn: 116749
-
- Oct 14, 2010
-
-
Owen Anderson authored
llvm-svn: 116443
-
- Oct 13, 2010
-
-
Rafael Espindola authored
llvm-svn: 116387
-
- Oct 12, 2010
-
-
Owen Anderson authored
perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
-
- Oct 10, 2010
-
-
Kenneth Uildriks authored
Now using a variant of the existing inlining heuristics to decide whether to create a given specialization of a function in PartialSpecialization. If the total performance bonus across all callsites passing the same constant exceeds the specialization cost, we create the specialization. llvm-svn: 116158
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Oct 07, 2010
-
-
Owen Anderson authored
llvm-svn: 115933
-
- Oct 01, 2010
-
-
Dale Johannesen authored
The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
-
- Sep 29, 2010
-
-
Oscar Fuentes authored
llvm-svn: 114999
-
- Sep 23, 2010
-
-
Bob Wilson authored
"external" even when doing lazy bitcode loading. This was broken because a function that is not materialized fails the !isDeclaration() test. llvm-svn: 114666
-
- Sep 15, 2010
-
-
Chris Lattner authored
attribute(used). llvm-svn: 113911
-
- Sep 14, 2010
-
-
Michael J. Spencer authored
This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819
-
- Sep 10, 2010
-
-
Michael J. Spencer authored
llvm-svn: 113632
-
- Sep 07, 2010
-
-
Nick Lewycky authored
Switch from isWeakForLinker to mayBeOverridden which is more accurate. Add more statistics and debugging info. Add comments. Move static function outside anonymous namespace. llvm-svn: 113190
-
- Sep 05, 2010
-
-
Nick Lewycky authored
llvm-svn: 113106
-
Nick Lewycky authored
This reduces malloc traffic (yay!) and removes MergeFunctionsEqualityInfo. llvm-svn: 113105
-
Nick Lewycky authored
strong functions first to make sure they're the canonical definitions and then do a second pass looking only for weak functions. llvm-svn: 113104
-
- Aug 31, 2010
-
-
Nick Lewycky authored
two are weak, we make them thunks to a new strong function) so don't iterate through the function list as we're modifying it. Also add back the outermost loop which got removed during the cleanups. llvm-svn: 112595
-