summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the representation of AliasSets explicitly differentiateDan Gohman2010-10-181-2/+2
| | | | | | | between "not known yet" and "known no tbaa info" so that it can merge them properly. llvm-svn: 116767
* Don't pass the raw invalid pointer used to represent conflictingDan Gohman2010-10-181-3/+5
| | | | | | TBAA information to AliasAnalysis. llvm-svn: 116751
* Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM.Dan Gohman2010-10-181-24/+49
| | | | llvm-svn: 116743
* Fix BasicAA to pass TBAAInfo through to the chained analysis.Dan Gohman2010-10-181-26/+47
| | | | llvm-svn: 116730
* Make TypeBasedAliasAnalysis default to doing nothing, with a command-lineDan Gohman2010-10-181-0/+10
| | | | | | option to enable it. llvm-svn: 116722
* Use chaining in TypeBasedAliasAnalysis::pointsToConstantMemory.Dan Gohman2010-10-181-1/+4
| | | | llvm-svn: 116721
* Make BasicAliasAnalysis a normal AliasAnalysis implementation whichDan Gohman2010-10-181-11/+25
| | | | | | | | | | | | does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias. Update StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis. Update tests to explicitly request -basicaa. llvm-svn: 116720
* Eliminate some calls to Value::getNameStr.Benjamin Kramer2010-10-161-1/+1
| | | | llvm-svn: 116670
* Tolerate a null parent pointer.Dan Gohman2010-10-141-1/+1
| | | | llvm-svn: 116533
* add uadd_ov/usub_ov to apint, consolidate constant foldingChris Lattner2010-10-141-32/+28
| | | | | | | | | logic to use the new APInt methods. Among other things this implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold which comes from "clang -ftrapv", originally brought to my attention from PR8221. llvm-svn: 116457
* Analysis groups need to initialize their default implementations.Owen Anderson2010-10-133-3/+3
| | | | llvm-svn: 116441
* Add Region::isTopLevelRegion().Tobias Grosser2010-10-131-3/+3
| | | | llvm-svn: 116402
* RegionInfo: Fix trivial error that slipped in last minute.Tobias Grosser2010-10-131-1/+1
| | | | llvm-svn: 116400
* RegionInfo: Update RegionInfo after a BB was split.Tobias Grosser2010-10-131-0/+13
| | | | llvm-svn: 116398
* RegioInfo: Add getExpandedRegion().Tobias Grosser2010-10-131-0/+32
| | | | | | | getExpandedRegion() enables us to create non canonical regions. Those regions can be used to define the largerst region, that fullfills a certain property. llvm-svn: 116397
* RegionInfo: Allow to update exit and entry of a region.Tobias Grosser2010-10-131-0/+9
| | | | llvm-svn: 116396
* RegionInfo: Enhance addSubregion.Tobias Grosser2010-10-131-4/+29
| | | | llvm-svn: 116395
* RegionInfo: Allow to set the parent region of a basic block.Tobias Grosser2010-10-131-1/+4
| | | | llvm-svn: 116394
* RegionInfo: Free the RegionNodes in cache.Tobias Grosser2010-10-131-0/+5
| | | | | | Contributed by: ether llvm-svn: 116380
* Begin adding static dependence information to passes, which will allow us toOwen Anderson2010-10-1216-17/+75
| | | | | | | | | 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
* Support AA chaining.Dan Gohman2010-10-111-6/+9
| | | | llvm-svn: 116264
* Now using a variant of the existing inlining heuristics to decide whether to ↵Kenneth Uildriks2010-10-091-0/+70
| | | | | | 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
* Start separating out code metrics into code size metrics and code ↵Kenneth Uildriks2010-10-081-10/+53
| | | | | | performance metrics. Partial Specialization will apply the former to function specializations, and the latter to all callsites that can use a specialization, in order to decide whether to create a specialization llvm-svn: 116057
* Now with fewer extraneous semicolons!Owen Anderson2010-10-0734-51/+52
| | | | llvm-svn: 115996
* Add an implementation of the initialization routine for IPA.Owen Anderson2010-10-071-0/+29
| | | | llvm-svn: 115947
* Add initialization routines for Analysis and IPA.Owen Anderson2010-10-072-0/+57
| | | | llvm-svn: 115946
* Fix a warning when building with clang++.Owen Anderson2010-10-071-2/+3
| | | | llvm-svn: 115924
* Move the pass initialization helper functions into the llvm namespace, and addOwen Anderson2010-10-072-10/+11
| | | | | | | a header declaring them all. This is also where we will declare per-library pass-set initializer functions down the road. llvm-svn: 115900
* Appease the clang self-host buildbot by providing a correct instantiation.Owen Anderson2010-10-061-3/+3
| | | | llvm-svn: 115857
* Hide analysis group registration behind a macro, just like pass registration.Owen Anderson2010-10-063-3/+3
| | | | llvm-svn: 115835
* Add support for DW_TAG_unspecified_parameters.Devang Patel2010-10-061-1/+14
| | | | llvm-svn: 115833
* Don't add the operand count to SCEV uniquing data; FoldingSetNodeIDDan Gohman2010-10-041-5/+0
| | | | | | already knows its own length, so this is redundant. llvm-svn: 115521
* Let FE mark a variable as artificial variable.Devang Patel2010-09-291-3/+7
| | | | llvm-svn: 115102
* Generalize DISubprogram element to encode various flags instead of just one ↵Devang Patel2010-09-291-3/+3
| | | | | | | | boolean for isArtificial. This is a backword compatible change. llvm-svn: 115084
* Remove PointerTracking from cmakelists …Benjamin Kramer2010-09-291-1/+0
| | | | llvm-svn: 115076
* remove PointerTracking from mainline, Edwin is going to move it out to ClamAVChris Lattner2010-09-291-316/+0
| | | | | | for LLVM 2.9 llvm-svn: 115062
* Removed a bunch of unnecessary target_link_libraries.Oscar Fuentes2010-09-281-2/+0
| | | | llvm-svn: 114999
* Provide an interface to let FEs anchor debug info for types.Devang Patel2010-09-281-0/+8
| | | | llvm-svn: 114969
* Don't try to constant fold libm functions with non-finite arguments.Jakob Stoklund Olesen2010-09-271-0/+7
| | | | | | | | Usually we wouldn't do this anyway because llvm_fenv_testexcept would return an exception, but we have seen some cases where neither errno nor fenv detect an exception on arm-linux. llvm-svn: 114893
* Teach memdep about TBAA tags.Dan Gohman2010-09-221-71/+95
| | | | llvm-svn: 114588
* Simplify code.Benjamin Kramer2010-09-211-8/+6
| | | | llvm-svn: 114444
* Make CreateComplexVariable independent of SmallVector.Benjamin Kramer2010-09-211-7/+6
| | | | llvm-svn: 114439
* Don't include <fenv.h> now that we have llvm/System/FEnv.h.Jakob Stoklund Olesen2010-09-171-1/+0
| | | | llvm-svn: 114219
* Attempt to support platforms which don't have fenv.h.Dan Gohman2010-09-171-12/+7
| | | | llvm-svn: 114196
* Fix the folding of floating-point math library calls, like sin(infinity),Dan Gohman2010-09-171-2/+9
| | | | | | | so that it detects errors on platforms where libm doesn't set errno. It's still subject to host libm details though. llvm-svn: 114148
* Add an #include of raw_ostream.h. Previously, this only compiledDan Gohman2010-09-171-0/+1
| | | | | | because it was using Twine.h's declaration of operator<<(const Twine &). llvm-svn: 114141
* Update CMake build.Benjamin Kramer2010-09-161-0/+1
| | | | llvm-svn: 114128
* Rename a variable to avoid a declaration conflict.Dan Gohman2010-09-161-3/+3
| | | | llvm-svn: 114126
* Add a pass which prints out all the memdep dependencies.Dan Gohman2010-09-161-0/+153
| | | | llvm-svn: 114121
* Revert r114097, adding back in the assertion against replacing an ↵Owen Anderson2010-09-161-24/+11
| | | | | | | | | Instruction by itself. Now that CorrelatedValuePropagation is more careful not to call SimplifyInstructionsInBlock() on an unreachable block, the issue has been fixed at a higher level. Add a big warning to SimplifyInstructionsInBlock() to hopefully prevent this in the future. llvm-svn: 114117
OpenPOWER on IntegriCloud