00d7baad90040cd117d717ff93c41a22f767759b |
06-Aug-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix missing -*- C++ -*-s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187758 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
81e480463d8bb57776d03cebfd083762909023f1 |
27-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Reimplement isPotentiallyReachable to make nocapture deduction much stronger. Adds unit tests for it too. Split BasicBlockUtils into an analysis-half and a transforms-half, and put the analysis bits into a new Analysis/CFG.{h,cpp}. Promote isPotentiallyReachable into llvm::isPotentiallyReachable and move it into Analysis/CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187283 91177308-0d34-0410-b5e6-96231b3b80d8
FG.h
|
57e6b2d1f3de0bf459e96f7038e692d624f7e580 |
27-Jul-2013 |
Tom Stellard <thomas.stellard@amd.com> |
SimplifyCFG: Use parallel-and and parallel-or mode to consolidate branch conditions Merge consecutive if-regions if they contain identical statements. Both transformations reduce number of branches. The transformation is guarded by a target-hook, and is currently enabled only for +R600, but the correctness has been tested on X86 target using a variety of CPU benchmarks. Patch by: Mei Ye git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187278 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
a1ac7ede0c39fff1612311afab0039b74eed59e1 |
23-Jul-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix typo (ponted -> pointed) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186896 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
a0ec3f9b7b826b9b40b80199923b664bad808cce |
14-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186274 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
bee07bddeaf30aba392c1abd2815cd07545ef2c0 |
13-Jul-2013 |
Michael Gottesman <mgottesman@apple.com> |
Fixed 80+ violation and added C++ to header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186225 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyInfo.h
|
c0a11edba6ea46c782672ab3fb4e4ab3dc267a22 |
12-Jul-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
TargetTransformInfo: address calculation parameter for gather/scather Address calculation for gather/scather in vectorized code can incur a significant cost making vectorization unbeneficial. Add infrastructure to add cost. Tests and cost model for targets will be in follow-up commits. radar://14351991 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186187 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
4ff87aaf84f0fbc9dffa2757fd7a33c7ee9044ea |
12-Jul-2013 |
Michael Gottesman <mgottesman@apple.com> |
Fixed comment in header of Block Frequency Impl and added text for C++ mode. This is a generic block implementation that works on more than machine blocks. The C++ mode addition is a bonus due to the extra space provided. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186175 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
a10369920fa86d8961495b71dbc00f5596d122d9 |
12-Jul-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Stylistic change. Thank Nick for figuring out these problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186146 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
5e915e6e364532ed00b4c5508e59b42f608b5244 |
08-Jul-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Fix a SCEV update problem. The symptom is seg-fault, and the root cause is that a SCEV contains a SCEVUnknown which has null-pointer to a llvm::Value. This is how the problem take place: =================================== 1). In the pristine input IR, there are two relevant instrutions Op1 and Op2, Op1's corresponding SCEV (denoted as SCEV(op1)) is a SCEVUnknown, and SCEV(Op2) contains SCEV(Op1). None of these instructions are dead. Op1 : V1 = ... ... Op2 : V2 = ... // directly or indirectly (data-flow) depends on Op1 2) Optimizer (LSR in my case) generates an instruction holding the equivalent value of Op1, making Op1 dead. Op1': V1' = ... Op1: V1 = ... ; now dead) Op2 : V2 = ... //Now deps on Op1', but the SCEV(Op2) still contains SCEV(Op1) 3) Op1 is deleted, and call-back function is called to reset SCEV(Op1) to indicate it is invalid. However, SCEV(Op2) is not invalidated as well. 4) Following pass get the cached, invalid SCEV(Op2), and try to manipulate it, and cause segfault. The fix: ======== It seems there is no clean yet inexpensive fix. I write to dev-list soliciting good solution, unforunately no ack. So, I decide to fix this problem in a brute-force way: When ScalarEvolution::getSCEV is called, check if the cached SCEV contains a invalid SCEVUnknow, if yes, remove the cached SCEV, and re-evaluate the SCEV from scratch. I compile buch of big *.c and *.cpp, fortunately, I don't see any increase in compile time. Misc: ===== The reduced test-case has 2357 lines of code+other-stuff, too big to commit. rdar://14283433 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185843 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
99666cb8f98ba9d84a7516a9f0bbfce5fb9a7df2 |
29-Jun-2013 |
Preston Briggs <preston.briggs@gmail.com> |
extending the interface of Dependence slightly to support future work git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185241 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
37cb687fcb256cd891d1a69c8db77ae1c39f759f |
29-Jun-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Try to unbreak Linux buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185237 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
97be1d608e0fd8f0578342932b3b8116e5028a02 |
29-Jun-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Minimize precision loss when computing cyclic probabilities. Allow block frequencies to exceed 32 bits by using the new BlockFrequency division function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185236 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
b0f8341b3449623db80f1ac375e2dcfe4b1796e4 |
26-Jun-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Merge isReachable into isBackedge. Prefer using RPO.lookup() instead of RPO[] which can mutate the map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184891 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
75b51621540c23ddfc1e9ef6b4dc803453d9d122 |
25-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
BlockFrequency: Bump up the entry frequency a bit. This is a band-aid to fix the most severe regressions we're seeing from basing spill decisions on block frequencies, until we have a better solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184835 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
lockFrequencyInfo.h
|
3ade978551927cfb0e6dd4e26f0768908b1898bb |
09-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add a const version of findNearestCommonDominator to PostDom for convenience. PR16283. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183629 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
326ae27c4f744cc7fb43f5a413d042d54fc1ddc0 |
07-Jun-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183460 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
06f5ebc5a1604b01689cf2d482dd05f956538af6 |
31-May-2013 |
Quentin Colombet <qcolombet@apple.com> |
Loop Strength Reduce: Scaling factor cost. Account for the cost of scaling factor in Loop Strength Reduce when rating the formulae. This uses a target hook. The default implementation of the hook is: if the addressing mode is legal, the scaling factor is free. <rdar://problem/13806271> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183045 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
616011418e7460f765469f6347417fa25b5b740b |
31-May-2013 |
Andrew Trick <atrick@apple.com> |
Fix ScalarEvolution::ComputeExitLimitFromCond for 'or' conditions. Fixes PR16130 - clang produces incorrect code with loop/expression at -O2. This is a 2+ year old bug that's now holding up the release. It's a case where we knowingly made aggressive assumptions about undefined behavior. These assumptions are wrong when SCEV is computing a subexpression that does not directly control the branch. With this fix, we avoid making assumptions in those cases but still optimize the common case. SCEV's trip count computation for exits controlled by 'or' expressions is now analagous to the trip count computation for loops with multiple exits. I had already fixed the multiple exit case to be conservative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182989 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
ee21b6f7b41e3fc19031f6d410b2ebe6a1a2f361 |
28-May-2013 |
Paul Redmond <paul.redmond@intel.com> |
Add support for llvm.vectorizer metadata - llvm.loop.parallel metadata has been renamed to llvm.loop to be more generic by making the root of additional loop metadata. - Loop::isAnnotatedParallel now looks for llvm.loop and associated llvm.mem.parallel_loop_access - document llvm.loop and update llvm.mem.parallel_loop_access - add support for llvm.vectorizer.width and llvm.vectorizer.unroll - document llvm.vectorizer.* metadata - add utility class LoopVectorizerHints for getting/setting loop metadata - use llvm.vectorizer.width=1 to indicate already vectorized instead of already_vectorized - update existing tests that used llvm.loop.parallel and llvm.vectorizer.already_vectorized Reviewed by: Nadav Rotem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182802 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9f5de6dadcdb9922ad8c8135a29e4abccec11671 |
28-May-2013 |
Michael Kuperstein <michael.m.kuperstein@intel.com> |
Make BasicAliasAnalysis recognize the fact a noalias argument cannot alias another argument, even if the other argument is not itself marked noalias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182755 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
77226a03dca98e6237c1068f2652fe41bea7b687 |
24-May-2013 |
Diego Novillo <dnovillo@google.com> |
Add a new function attribute 'cold' to functions. Other than recognizing the attribute, the patch does little else. It changes the branch probability analyzer so that edges into blocks postdominated by a cold function are given low weight. Added analysis and code generation tests. Added documentation for the new attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182638 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
63f3ca5da75a614c603c04757edeaac123879d39 |
17-May-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add missing -*- C++ -*- to headers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182164 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
d14743ed791f49cb9b5e3b018c3fa3391ab2193d |
17-May-2013 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo (ouput => output) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182090 91177308-0d34-0410-b5e6-96231b3b80d8
egionPass.h
|
453f4f01302f00651aae2fc7658f6e23a2beadb0 |
15-May-2013 |
David Blaikie <dblaikie@gmail.com> |
Use only explicit bool conversion operators BitVector/SmallBitVector::reference::operator bool remain implicit since they model more exactly a bool, rather than something else that can be boolean tested. The most common (non-buggy) case are where such objects are used as return expressions in bool-returning functions or as boolean function arguments. In those cases I've used (& added if necessary) a named function to provide the equivalent (or sometimes negative, depending on convenient wording) test. One behavior change (YAMLParser) was made, though no test case is included as I'm not sure how to reach that code path. Essentially any comparison of llvm::yaml::document_iterators would be invalid if neither iterator was at the end. This helped uncover a couple of bugs in Clang - test cases provided for those in a separate commit along with similar changes to `operator bool` instances in Clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181868 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
d03fdfb97c1a693101bfef5800c262237f5d382f |
10-Apr-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegionInfo: Add helpers to replace entry/exit recursively Contributed by: Star Tan <tanmx_star@yeah.net> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179157 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
8e4df489d0e02e0fbdd00ed829e70e5f21998162 |
09-Apr-2013 |
Nadav Rotem <nrotem@apple.com> |
Revert r176408 and r176407 to address PR15540. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179111 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
6bf4f676413b8f7d97aaff289997aab344180957 |
05-Apr-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
CostModel: Add parameter to instruction cost to further classify operand values On certain architectures we can support efficient vectorized version of instructions if the operand value is uniform (splat) or a constant scalar. An example of this is a vector shift on x86. We can efficiently support for (i = 0 ; i < ; i += 4) w[0:3] = v[0:3] << <2, 2, 2, 2> but not for (i = 0; i < ; i += 4) w[0:3] = v[0:3] << x[0:3] This patch adds a parameter to getArithmeticInstrCost to further qualify operand values as uniform or uniform constant. Targets can then choose to return a different cost for instructions with such operand values. A follow-up commit will test this feature on x86. radar://13576547 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178807 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
e74c2e86cb405963ba9c4043a1d0ca00b8f85fbe |
26-Mar-2013 |
Andrew Trick <atrick@apple.com> |
Fix SCEV forgetMemoizedResults should search and destroy backedge exprs. Fixes PR15570: SEGV: SCEV back-edge info invalid after dead code removal. Indvars creates a SCEV expression for the loop's back edge taken count, then determines that the comparison is always true and removes it. When loop-unroll asks for the expression, it contains a NULL SCEVUnknkown (as a CallbackVH). forgetMemoizedResults should invalidate the loop back edges expression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177986 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
80c6a66bbfb748c230d52345ededd3fd35ebddd7 |
20-Mar-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add std prefixes to fix the build with xlc. Patch by Kai <kai@redstar.de>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177574 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
02a2d4fb9e29f7a2b270bb23596dba02a1f79a03 |
19-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177351 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
ec3bb4b660fc2f8353c510ebfc15277bcf28df8b |
10-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. Use forward declarations instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176783 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
e939a066c85a21e86d32e0a57fd16f4188576633 |
10-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. Use forward declarations instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176782 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
64bf55af6f3cc6c6db985d3840547b5869e57222 |
09-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded const_cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176771 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
209cb5b56bb90f1ceee570efabe9c04121cb0beb |
09-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Use forward declaration instead of #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176770 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
423de3f0478fd8e4f8aa650d8cf9f64d08963118 |
08-Mar-2013 |
David Blaikie <dblaikie@gmail.com> |
Remove -print-dbginfo as it is unused & bitrotten. This pass hasn't been touched in two years & would fail with assertions against the current debug info metadata format (the only test case for it still uses a many-versions old debug info metadata format) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176707 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
985dac65791b9f6f631bdd51c18fe66592a67469 |
06-Mar-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. The "invariant.load" metadata indicates the memory unit being accessed is immutable. A load annotated with this metadata can be moved across any store. As I am not sure if it is legal to move such loads across barrier/fence, this change dose not allow such transformation. rdar://11311484 Thank Arnold for code review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176562 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
62c102360ad39e005c3c8c42fe85bfc9f2f23474 |
06-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove duplicated forward declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176536 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
f84606732c76899af54c295ec987c96c88452747 |
05-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix a few typos in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176519 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
ntervalIterator.h
calarEvolution.h
argetTransformInfo.h
|
fe0c244633aff93111063224317ec9c20d3dbcf4 |
05-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Add some constantness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176518 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
aa4e2aea9e8ce01f31a917639bcc7d810b9fe6d1 |
05-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
std::distance() == 0 means that iterators are equal. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176516 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
6936ebd700d8195cfed39baa21230ee736fe1316 |
05-Mar-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
Use the right number of slashes in comment string git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176504 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
1c9bdf1e5e4b128206e1699c1bb82457118601e4 |
05-Mar-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
Clarify comment for function getObjectSize Clarify that we mean the object starting at the pointer to the end of the underlying object and not the size of the whole allocated object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176491 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
b443a0aeac38e6fdce063224dfc746c269b0779d |
02-Mar-2013 |
Nuno Lopes <nunoplopes@sapo.pt> |
recommit r172363 & r171325 (reverted in r172756) This adds minimalistic support for PHI nodes to llvm.objectsize() evaluation fingers crossed so that it does break clang boostrap again.. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176408 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
2bc689c8461dfbaa4ca9a9cc4ae5bc59cb007329 |
02-Mar-2013 |
Nuno Lopes <nunoplopes@sapo.pt> |
add getUnderlyingObjectSize() this is similar to getObjectSize(), but doesnt subtract the offset tweak the BasicAA code accordingly (per PR14988) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176407 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
a39058aaed4540fc37681cad728b99546595b2e8 |
19-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments. Also removes some redundant DNI comments on function declarations already using the macro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175466 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
b075ed3b90fa2a520aeb15802fddf3460d865f91 |
16-Feb-2013 |
Matt Beaumont-Gay <matthewbg@google.com> |
Pacify -Wnon-virtual-dtor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175324 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
0deff9fbeb3a6a68f224282f8c6bd277d4c0c78c |
15-Feb-2013 |
Sebastian Pop <spop@codeaurora.org> |
capitalize SCEV to match the current naming convention git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175302 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
5661fcdde295645e5c6f982a25225e682727b5b1 |
15-Feb-2013 |
Sebastian Pop <spop@codeaurora.org> |
add ScevApplyRewriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175294 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
a9e4d3f37590bb326e6c5a3ea02ee1aa3db681ea |
15-Feb-2013 |
Sebastian Pop <spop@codeaurora.org> |
add SCEVParameterRewriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175293 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
5d0ce79e26f40141f35cc0002dc5cc6060382359 |
13-Feb-2013 |
Pekka Jaaskelainen <pekka.jaaskelainen@tut.fi> |
Metadata for annotating loops as parallel. The first consumer for this metadata is the loop vectorizer. See the documentation update for more info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
96a82d186e123dbcc414b513007675c6af7fff84 |
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174806 91177308-0d34-0410-b5e6-96231b3b80d8
oopIterator.h
|
882b9276cb3a19ecc4fd307d8c0acd17574570a0 |
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove trailing spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174791 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
29521a0fb9ba7ed6a2fc50d2c958151f86963ead |
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174790 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4fa57932c7b13ec42c563e33a2e40fd04194b64e |
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove #includes from the commonly used LoopInfo.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174786 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopInfoImpl.h
|
fb55a8fd7c38aa09d9c243d48a8a72d890f36a3d |
08-Feb-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
ARM cost model: Address computation in vector mem ops not free Adds a function to target transform info to query for the cost of address computation. The cost model analysis pass now also queries this interface. The code in LoopVectorize adds the cost of address computation as part of the memory instruction cost calculation. Only there, we know whether the instruction will be scalarized or not. Increase the penality for inserting in to D registers on swift. This becomes necessary because we now always assume that address computation has a cost and three is a closer value to the architecture. radar://13097204 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174713 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
43d836343e56b78d9a660272c84a8feb1683d861 |
31-Jan-2013 |
Dan Gohman <dan433584@gmail.com> |
Document another instsimplify assumption. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174100 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
de0eb19248f3053c07a5b1dad9c47b8435458337 |
31-Jan-2013 |
Dan Gohman <dan433584@gmail.com> |
Move isKnownNonNull out of AliasAnalysis.h and into ValueTracking.cpp since it isn't really an AliasAnalysis concept, and ValueTracking has similar things that it could plausibly share code with some day. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174027 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
alueTracking.h
|
a070d2a0355c4993240b5206ebc1d517c151331d |
31-Jan-2013 |
Dan Gohman <dan433584@gmail.com> |
Change GetPointerBaseWithConstantOffset's DataLayout argument from a reference to a pointer, so that it can handle the case where DataLayout is not available and behave conservatively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174024 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
c4e441804ebe5a2d0eadbd9b0840d4f1b12d5a6f |
28-Jan-2013 |
Dan Gohman <dan433584@gmail.com> |
Add a comment mentioning that InstructionSimplify routines do, in fact, resolve undef uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173721 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
13086a658ae06046ded902229f9918b8bad505bd |
22-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Begin fleshing out an interface in TTI for modelling the costs of generic function calls and intrinsics. This is somewhat overlapping with an existing intrinsic cost method, but that one seems targetted at vector intrinsics. I'll merge them or separate their names and use cases in a separate commit. This sinks the test of 'callIsSmall' down into TTI where targets can control it. The whole thing feels very hack-ish to me though. I've left a FIXME comment about the fundamental design problem this presents. It isn't yet clear to me what the users of this function *really* care about. I'll have to do more analysis to figure that out. Putting this here at least provides it access to proper analysis pass tools and other such. It also allows us to more cleanly implement the baseline cost interfaces in TTI. With this commit, it is now theoretically possible to simplify much of the inline cost analysis's handling of calls by calling through to this interface. That conversion will have to happen in subsequent commits as it requires more extensive restructuring of the inline cost analysis. The CodeMetrics class is now really only in the business of running over a block of code and aggregating the metrics on that block of code, with the actual cost evaluation done entirely in terms of TTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173148 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
a5157e68d183e1bdf010e94a15dc0c44b65f889b |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch CodeMetrics itself over to use TTI to determine if an instruction is free. The whole CodeMetrics API should probably be reworked more, but this is enough to allow deleting the duplicate code there for computing whether an instruction is free. All of the passes using this have been updated to pull in TTI and hand it to the CodeMetrics stuff. Further, a dead CodeMetrics API (analyzeFunction) is nuked for lack of users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173036 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
6097e774fc9896583ae916daabedbd87b26b4466 |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix indentation and formatting. This change brought to by clang-format. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173034 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
8d6c0f4deeb0f2ff671df7ae92b75ee1e39acd37 |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Now that the inline cost analysis is a pass, we can easily have it depend on and use other analyses (as long as they're either immutable passes or CGSCC passes of course -- nothing in the pass manager has been fixed here). Leverage this to thread TargetTransformInfo down through the inline cost analysis. No functionality changed here, this just threads things through. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173031 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
86953b5795007eaa98838297360a6987e33e92e7 |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Make the inline cost a proper analysis pass. This remains essentially a dynamic analysis done on each call to the routine. However, now it can use the standard pass infrastructure to reference other analyses, instead of a silly setter method. This will become more interesting as I teach it about more analysis passes. This updates the two inliner passes to use the inline cost analysis. Doing so highlights how utterly redundant these two passes are. Either we should find a cheaper way to do always inlining, or we should merge the two and just fiddle with the thresholds to get the desired behavior. I'm leaning increasingly toward the latter as it would also remove the Inliner sub-class split. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173030 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
78e1cdaba3cad6e85ff631542052bbb718c7e588 |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix an old-style doxygen comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173027 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
4ef13242ab7473de62c2c4d77de3c69d362bd9ef |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Cleanup the formatting of this header. This removes the namespace indent and reformats a few constructors using clang-format. Only whitespace changes here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173018 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
c61aa59bcc62019b8e31fcbb3582255be3a63052 |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Remove the comma from the last enumerator to fix -pedantic warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172999 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
1e05bd9e714934a71ff933ad15f0b884808b405f |
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Introduce a generic interface for querying an operation's expected lowered cost. Currently, this is a direct port of the logic implementing isInstructionFree in CodeMetrics. The hope is that the interface can be improved (f.ex. supporting un-formed instruction queries) and the implementation abstracted so that as we have test cases and target knowledge we can expose increasingly accurate heuristics to clients. I'll start switching existing consumers over and kill off the routine in CodeMetrics in subsequent commits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172998 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
053a2119835ac6ca3484f1b496cabd43c37e4279 |
20-Jan-2013 |
Renato Golin <renato.golin@linaro.org> |
Revert CostTable algorithm, will re-write git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172992 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
90230c84668269fbd53d163e398cd16486d5d414 |
19-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of the includes. Several files got checked in with mis-sorted includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172891 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
167ede898a6105e05fcd9d2ae5679fbf1744018f |
17-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Reverting r171325 & r172363. This was causing a mis-compile on the self-hosted LTO build bots. Okay, here's how to reproduce the problem: 1) Build a Release (or Release+Asserts) version of clang in the normal way. 2) Using the clang & clang++ binaries from (1), build a Release (or Release+Asserts) version of the same sources, but this time enable LTO --- specify the `-flto' flag on the command line. 3) Run the ARC migrator tests: $ arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ ./src/tools/clang/test/ARCMT/cxx-rewrite.mm You'll see that the output isn't correct (the whitespace is off). The mis-compile is in the function `RewriteBuffer::RemoveText' in the clang/lib/Rewrite/Core/Rewriter.cpp file. When that function and RewriteRope.cpp are compiled with LTO and the `arcmt-test' executable is regenerated, you'll see the error. When those files are not LTO'ed, then the output of the `arcmt-test' is fine. It is *really* hard to get a testcase out of this. I'll file a PR with what I have currently. --- Reverse-merging r172363 into '.': U include/llvm/Analysis/MemoryBuiltins.h U lib/Analysis/MemoryBuiltins.cpp --- Reverse-merging r171325 into '.': U test/Transforms/InstCombine/objsize.ll G include/llvm/Analysis/MemoryBuiltins.h G lib/Analysis/MemoryBuiltins.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172756 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
d3c965d6251e6d939f7797f8704d4e3a82f7e274 |
16-Jan-2013 |
Renato Golin <renato.golin@linaro.org> |
Change CostTable model to be global to all targets Moving the X86CostTable to a common place, so that other back-ends can share the code. Also simplifying it a bit and commoning up tables with one and two types on operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172658 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
1ba5769676bb14078ddbdb9760523619726800c0 |
14-Jan-2013 |
Andrew Trick <atrick@apple.com> |
SCEVExpander fix. RAUW needs to update the InsertedExpressions cache. Note that this bug is only exposed because LTO fails to use TTI. Fixes self-LTO of clang. rdar://13007381. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172462 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
29eb2cc00ca0bc4d218c6d034f90becfed999bcb |
13-Jan-2013 |
Nuno Lopes <nunoplopes@sapo.pt> |
fix compile-time regression report by Joerg Sonnenberger: cache result of Size/OffsetVisitor to speedup analysis of PHI nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172363 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
96f498bd9f140a98321c478f517877c4767b94fa |
13-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove redundant 'llvm::' qualifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172358 91177308-0d34-0410-b5e6-96231b3b80d8
OTGraphTraitsPass.h
|
a125cacf7d154d0e5cad47f011e619e45517c839 |
11-Jan-2013 |
Andrew Trick <atrick@apple.com> |
Added -view-callgraph module pass. -dot-callgraph similarly follows a standard module pass pattern. Patch by Speziale Ettore! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172220 91177308-0d34-0410-b5e6-96231b3b80d8
allPrinter.h
OTGraphTraitsPass.h
|
cbdb7e4b560f77f49f042ea47eac6d4980d8bece |
11-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
LoopPass.h doesn't require Function.h. Remove unneeded #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172155 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
48fdf9b37926a9c3debd3f0b5814a2a4b6bb5097 |
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172118 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
allGraphSCCPass.h
OTGraphTraitsPass.h
nterval.h
ntervalIterator.h
ntervalPartition.h
ibCallAliasAnalysis.h
oopInfo.h
oopInfoImpl.h
oopIterator.h
oopPass.h
emoryDependenceAnalysis.h
athNumbering.h
athProfileInfo.h
ostDominators.h
egionInfo.h
egionIterator.h
egionPass.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
calarEvolutionNormalization.h
parsePropagation.h
argetTransformInfo.h
race.h
|
14925e6b885f8bd8cf448627386d412831f4bf1b |
09-Jan-2013 |
Nadav Rotem <nrotem@apple.com> |
ARM Cost model: Use the size of vector registers and widest vectorizable instruction to determine the max vectorization factor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172010 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
83be7b0dd3ae9a3cb22d36ae4c1775972553b94b |
09-Jan-2013 |
Nadav Rotem <nrotem@apple.com> |
Cost Model: Move the 'max unroll factor' variable to the TTI and add initial Cost Model support on ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171928 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
3251e81d793a293b78f4914be6093b405c24fc2a |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move CallGraphSCCPass.h into the Analysis tree; that's where the implementation lives already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171746 91177308-0d34-0410-b5e6-96231b3b80d8
allGraphSCCPass.h
|
e4ba75f43e2ab1480d119d2d4eb878256274e0fb |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch the SCEV expander and LoopStrengthReduce to use TargetTransformInfo rather than TargetLowering, removing one of the primary instances of the layering violation of Transforms depending directly on Target. This is a really big deal because LSR used to be a "special" pass that could only be tested fully using llc and by looking at the full output of it. It also couldn't run with any other loop passes because it had to be created by the backend. No longer is this true. LSR is now just a normal pass and we should probably lift the creation of LSR out of lib/CodeGen/Passes.cpp and into the PassManagerBuilder. =] I've not done this, or updated all of the tests to use opt and a triple, because I suspect someone more familiar with LSR would do a better job. This change should be essentially without functional impact for normal compilations, and only change behvaior of targetless compilations. The conversion required changing all of the LSR code to refer to the TTI interfaces, which fortunately are very similar to TargetLowering's interfaces. However, it also allowed us to *always* expect to have some implementation around. I've pushed that simplification through the pass, and leveraged it to simplify code somewhat. It required some test updates for one of two things: either we used to skip some checks altogether but now we get the default "no" answer for them, or we used to have no information about the target and now we do have some. I've also started the process of removing AddrMode, as the TTI interface doesn't use it any longer. In some cases this simplifies code, and in others it adds some complexity, but I think it's not a bad tradeoff even there. Subsequent patches will try to clean this up even further and use other (more appropriate) abstractions. Yet again, almost all of the formatting changes brought to you by clang-format. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171735 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
bb00800ff46e7a2a628d0a6741a7f0422c74c198 |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix the enumerator names for ShuffleKind to match tho coding standards, and make its comments doxygen comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171688 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
d1b8ef97c47d347f2a2261a0d6de4872f248321f |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Make the popcnt support enums and methods have more clear names and follow the conding conventions regarding enumerating a set of "kinds" of things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171687 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
be04929f7fd76a921540e9901f24563e51dc1219 |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move TargetTransformInfo to live under the Analysis library. This no longer would violate any dependency layering and it is in fact an analysis. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171686 91177308-0d34-0410-b5e6-96231b3b80d8
argetTransformInfo.h
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
FGPrinter.h
allGraph.h
aptureTracking.h
ependenceAnalysis.h
ominators.h
nlineCost.h
nstructionSimplify.h
ntervalIterator.h
oads.h
oopPass.h
emoryBuiltins.h
emoryDependenceAnalysis.h
HITransAddr.h
athNumbering.h
athProfileInfo.h
trUseVisitor.h
egionPass.h
calarEvolution.h
calarEvolutionExpander.h
|
0a9ff4cab3a3fc1179c37855717a54ae44a5312e |
31-Dec-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
recommit r171298 (add support for PHI nodes to ObjectSizeOffsetVisitor). Hopefully with bugs corrected now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171325 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
41be2fb1f9e9b8f796effb81c2bee6cf397136cf |
31-Dec-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
add support for GlobalAlias to ObjectSizeOffsetVisitor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171303 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
e949aa1c91132094a9073c82a8aef729fa8c9eca |
28-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Teach instsimplify to use the constant folder where appropriate for constant folding calls. Add the initial tests for this which show that now instsimplify can simplify blindingly obvious code patterns expressed with both intrinsics and library calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171194 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
c98bd9f1a79adffe73acd337b6f7f9afa6bae078 |
28-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Add entry points to instsimplify for simplifying calls. The entry points are nice and decomposed so that we can simplify synthesized calls as easily as actually call instructions. The internal utility still has the same behavior, it just now operates on a more generic interface so that I can extend the set of call simplifications that instsimplify knows about. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171189 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
44185d49084f76427be15b1d4db18fc3027681c9 |
27-Dec-2012 |
Alexey Samsonov <samsonov@google.com> |
Fix new[]/delete mismatch in FullDependence spotted by AddressSanitizer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171150 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
67ae13575900e8efd056672987249fd0adbf5e73 |
20-Dec-2012 |
James Molloy <james.molloy@arm.com> |
Add a new attribute, 'noduplicate'. If a function contains a noduplicate call, the call cannot be duplicated - Jump threading, loop unrolling, loop unswitching, and loop rotation are inhibited if they would duplicate the call. Similarly inlining of the function is inhibited, if that would duplicate the call (in particular inlining is still allowed when there is only one callsite and the function has internal linkage). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170704 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
dbaa2376f7b3c027e895ff4bee3ae08351f3ea88 |
13-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Rename isPowerOfTwo to isKnownToBeAPowerOfTwo. In a previous thread it was pointed out that isPowerOfTwo is not a very precise name since it can return false for powers of two if it is unable to show that they are powers of two. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170093 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
b09c146b116359616f6cbd4c8b3328607e00ff42 |
12-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
The TargetData is not used for the isPowerOfTwo determination. It has never been used in the first place. It simply was passed to the function and to the recursive invocations. Simply drop the parameter and update the callers for the new signature. Patch by Saleem Abdulrasool! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169988 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
09ee250e728ccdb7afc6354d777f8319c5a0465c |
12-Dec-2012 |
Michael Ilseman <milseman@apple.com> |
Added a slew of SimplifyInstruction floating-point optimizations, many of which take advantage of fast-math flags. Test cases included. fsub X, +0 ==> X fsub X, -0 ==> X, when we know X is not -0 fsub +/-0.0, (fsub -0.0, X) ==> X fsub nsz +/-0.0, (fsub +/-0.0, X) ==> X fsub nnan ninf X, X ==> 0.0 fadd nsz X, 0 ==> X fadd [nnan ninf] X, (fsub [nnan ninf] 0, X) ==> 0 where nnan and ninf have to occur at least once somewhere in this expression fmul X, 1.0 ==> X git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169940 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
4ced4ee94b59a2b239a59a2ae5fd373579868f20 |
11-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Hoist the GEP constant address offset computation to a common home on the GEP instruction class. This is part of the continued refactoring and cleaning of the infrastructure used by SROA. This particular operation is also done in a few other places which I'll try to refactor to share this implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169852 91177308-0d34-0410-b5e6-96231b3b80d8
trUseVisitor.h
|
2bf786af90b8c3826974b2a9deea5e8081ebf113 |
10-Dec-2012 |
Sean Silva <silvas@purdue.edu> |
Fix funky copy-pasted grammatical error. PR14343 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169742 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
ed90ed077a58d6eff6aede206273ae0aeefa3a94 |
10-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Add a new visitor for walking the uses of a pointer value. This visitor provides infrastructure for recursively traversing the use-graph of a pointer-producing instruction like an alloca or a malloc. It maintains a worklist of uses to visit, so it can handle very deep recursions. It automatically looks through instructions which simply translate one pointer to another (bitcasts and GEPs). It tracks the offset relative to the original pointer as long as that offset remains constant and exposes it during the visit as an APInt offset. Finally, it performs conservative escape analysis. However, currently it has some limitations that should be addressed going forward: 1) It doesn't handle vectors of pointers. 2) It doesn't provide a cheaper visitor when the constant offset tracking isn't needed. 3) It doesn't support non-instruction pointer values. The current functionality is exactly what is required to implement the SROA pointer-use visitors in terms of this one, rather than in terms of their own ad-hoc base visitor, which was always very poorly specified. SROA has been converted to use this, and the code there deleted which this utility now provides. Technically speaking, using this new visitor allows SROA to handle a few more cases than it previously did. It is now more aggressive in ignoring chains of instructions which look like they would defeat SROA, but in fact do not because they never result in a read or write of memory. While this is "neat", it shouldn't be interesting for real programs as any such chains should have been removed by others passes long before we get to SROA. As a consequence, I've not added any tests for these features -- it shouldn't be part of SROA's contract to perform such heroics. The goal is to extend the functionality of this visitor going forward, and re-use it from passes like ASan that can benefit from doing a detailed walk of the uses of a pointer. Thanks to Ben Kramer for the code review rounds and lots of help reviewing and debugging this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169728 91177308-0d34-0410-b5e6-96231b3b80d8
trUseVisitor.h
|
1638b839090a35adcd5a4b4cc0a649352276e703 |
09-Dec-2012 |
Michael Ilseman <milseman@apple.com> |
Reorganize FastMathFlags to be a wrapper around unsigned, and streamline some interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169712 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
49eb628c21b358380b76df82aa3dfe0baab4c6ec |
03-Dec-2012 |
Pedro Artigas <partigas@apple.com> |
moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo reviewed by Evan Cheng <evan.cheng@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169164 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
egionPass.h
|
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 |
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the #include lines for the include/... tree with the script. AKA: Recompile *ALL* the source code! This one went much better. No manual edits here. I spot-checked for silliness and grep-checked for really broken edits and everything seemed good. It all still compiles. Yell if you see something that looks goofy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
lockFrequencyImpl.h
ranchProbabilityInfo.h
FGPrinter.h
allGraph.h
aptureTracking.h
OTGraphTraitsPass.h
ependenceAnalysis.h
ominatorInternals.h
ominators.h
nlineCost.h
oopInfo.h
oopInfoImpl.h
oopPass.h
emoryBuiltins.h
emoryDependenceAnalysis.h
HITransAddr.h
athNumbering.h
athProfileInfo.h
rofileInfo.h
rofileInfoLoader.h
egionIterator.h
egionPass.h
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
parsePropagation.h
race.h
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
rofileDataLoader.h
|
84bcf93e0fd225de2217d1b712c01586a633a6d8 |
30-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Move the InstVisitor utility into VMCore where it belongs. It heavily depends on the IR infrastructure, there is no sense in it being off in Support land. This is in preparation to start working to expand InstVisitor into more special-purpose visitors that are still generic and can be re-used across different passes. The expansion will go into the Analylis tree though as nothing in VMCore needs it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168972 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
c63ee60ef030177fed0fea9212bc2f516fdf0796 |
29-Nov-2012 |
Dan Gohman <dan433584@gmail.com> |
Update comment for malloc being a library call now, rather than an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168946 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
eb61c920f12cacee38815bf10821d2f294b66f3a |
27-Nov-2012 |
Michael Ilseman <milseman@apple.com> |
Fast-math optimization: fold multiply by zero Added in first optimization using fast-math flags to serve as an example for following optimizations. SimplifyInstruction will now try to optimize an fmul observing its FastMathFlags to see if it can fold multiply by zero when 'nnan' and 'nsz' flags are set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168648 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
d6f048959a8a747f7b8a2fe830e8589a106f090e |
21-Nov-2012 |
Preston Briggs <preston.briggs@gmail.com> |
test commit: added a few comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168445 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
7372a7d5f87bf1ff65d07f25bae037ddc4df994d |
20-Nov-2012 |
Sebastian Pop <spop@codeaurora.org> |
removes a few "const" qualifiers so that I can (someday) call SE->getSCEV without complaint. No semantic change intended. Patch from Preston Briggs <preston.briggs@gmail.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168391 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
28f872f8a1945635f30763805c1418a90c6b345e |
19-Nov-2012 |
Bob Wilson <bob.wilson@apple.com> |
Clean up handling of always-inline functions in the inliner. This patch moves the isInlineViable function from the InlineAlways pass into the InlineCostAnalyzer and then changes the InlineCost computation to use that simple check for always-inline functions. All the special-case checks for AlwaysInline in the CallAnalyzer can then go away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168300 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
593423f7461fbbbf752ff013bf20c19ef95d3435 |
19-Nov-2012 |
Bob Wilson <bob.wilson@apple.com> |
Some comment fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168299 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
407a6169b729c72c3a7ddb01b8454ab0b4f6897c |
15-Nov-2012 |
Michael Ilseman <milseman@apple.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168103 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
6bed58ef240b1e1a1fb41fb867a8ba6e7566e0e9 |
02-Nov-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a cost model analysis that allows us to estimate the cost of IR-level instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167324 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
ece6c6bb6329748b92403c06ac87f45c43485911 |
01-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Revert the series of commits starting with r166578 which introduced the getIntPtrType support for multiple address spaces via a pointer type, and also introduced a crasher bug in the constant folder reported in PR14233. These commits also contained several problems that should really be addressed before they are re-committed. I have avoided reverting various cleanups to the DataLayout APIs that are reasonable to have moving forward in order to reduce the amount of churn, and minimize the number of commits that were reverted. I've also manually updated merge conflicts and manually arranged for the getIntPtrType function to stay in DataLayout and to be defined in a plausible way after this revert. Thanks to Duncan for working through this exact strategy with me, and Nick Lewycky for tracking down the really annoying crasher this triggered. (Test case to follow in its own commit.) After discussing with Duncan extensively, and based on a note from Micah, I'm going to continue to back out some more of the more problematic patches in this series in order to ensure we go into the LLVM 3.2 branch with a reasonable story here. I'll send a note to llvmdev explaining what's going on and why. Summary of reverted revisions: r166634: Fix a compiler warning with an unused variable. r166607: Add some cleanup to the DataLayout changes requested by Chandler. r166596: Revert "Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! r166591: Delete a directory that wasn't supposed to be checked in yet. r166578: Add in support for getIntPtrType to get the pointer type based on the address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167221 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
calarEvolution.h
|
e803d05bd87d1181c971fb719fef5638dd44ce99 |
31-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix a couple of comment typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167113 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
6a09098cca6938dbfdc28e26fc45d626342816ac |
29-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Remove code to saturate profile counts. We may need to change the way profile counter values are stored, but saturation is the wrong thing to do. Just remove it for now. Patch by Alastair Murray! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166938 91177308-0d34-0410-b5e6-96231b3b80d8
rofileDataLoader.h
|
b8b3f6081f8dc409e7281e1597d8d94e50e4b028 |
26-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove LoopDependenceAnalysis. It was unmaintained and not much more than a stub. The new DependenceAnalysis pass is both more general and complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166810 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
asses.h
|
ff18310274e872429cd06d679b1c8c8a14166328 |
26-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add a basic verifier for SCEV's backedge taken counts. Enabled with -verify-scev. This could be extended significantly but hopefully catches the common cases now. Note that it's not enabled by default in any configuration because the way it tries to distinguish SCEVs is still fragile and may produce false positives. Also the test-suite isn't clean yet, one example is that it fails if a pass drops an NSW bit but it's still present in SCEV's cached. Cleaning up all those cases will take some time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166786 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
8e4e0074092f5e6e429f4ac5415a82a8423ec4f9 |
25-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
DependenceAnalysis: Push #includes down into the implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166688 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
aa76e9e2cf50af190de90bc778b7f7e42ef9ceff |
24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add in support for getIntPtrType to get the pointer type based on the address space. This checkin also adds in some tests that utilize these paths and updates some of the clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166578 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
calarEvolution.h
|
a04a4a79ea365d1ba96ed4b5861e879b267162e2 |
19-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
revert r166264 because the LTO build is still failing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166340 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
725f1d12801109a3b1d081a6e1c9e44426b2cf34 |
19-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
recommit the patch that makes LSR and LowerInvoke use the TargetTransform interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166264 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
3b9a911efcf280950f878a050728450423875639 |
18-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Temporarily revert the TargetTransform changes. The TargetTransform changes are breaking LTO bootstraps of clang. I am working with Nadav to figure out the problem, but I am reverting it for now to get our buildbots working. This reverts svn commits: 165665 165669 165670 165786 165787 165997 and I have also reverted clang svn 165741 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166168 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 |
12-Oct-2012 |
Sean Silva <silvas@purdue.edu> |
Remove unnecessary classof()'s isa<> et al. automatically infer when the cast is an upcast (including a self-cast), so these are no longer necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
aa79721fceb3310db5c6aa98f212b690652a8ab4 |
12-Oct-2012 |
Chad Rosier <mcrosier@apple.com> |
Remove extra semicolon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165758 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
|
54d2d2bbe9be3f23b680e6c6ba28e7ef1fade992 |
11-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
llvm/Analysis/Passes.h: Fix copypasto in createDependenceAnalysisPass(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165709 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
ad43499fc4c2879e25e8c83ddd556a3079e41516 |
11-Oct-2012 |
Sebastian Pop <spop@codeaurora.org> |
dependence analysis Patch from Preston Briggs <preston.briggs@gmail.com>. This is an updated version of the dependence-analysis patch, including an MIV test based on Banerjee's inequalities. It's a fairly complete implementation of the paper Practical Dependence Testing Gina Goff, Ken Kennedy, and Chau-Wen Tseng PLDI 1991 It cannot yet propagate constraints between coupled RDIV subscripts (discussed in Section 5.3.2 of the paper). It's organized as a FunctionPass with a single entry point that supports testing for dependence between two instructions in a function. If there's no dependence, it returns null. If there's a dependence, it returns a pointer to a Dependence which can be queried about details (what kind of dependence, is it loop independent, direction and distance vector entries, etc). I haven't included every imaginable feature, but there's a good selection that should be adequate for supporting many loop transformations. Of course, it can be extended as necessary. Included in the patch file are many test cases, commented with C code showing the loops and array references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165708 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceAnalysis.h
asses.h
|
e3d0e86919730784faaddcb5d9b0257c39b0804b |
11-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a new interface to allow IR-level passes to access codegen-specific information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165665 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
c92b8aa79f4a2cd16f7b674189e425c2c367e886 |
09-Oct-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Give CaptureTracker::shouldExplore a base implementation. Most users want to do the same thing. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165435 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
odeMetrics.h
onstantFolding.h
VUsers.h
nlineCost.h
nstructionSimplify.h
azyValueInfo.h
oads.h
emoryBuiltins.h
emoryDependenceAnalysis.h
HITransAddr.h
calarEvolution.h
alueTracking.h
|
4fde2f6a280d0697c31d82e4148a4ba36fc8c0f0 |
04-Oct-2012 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix doxygen comment to match parameters' names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165239 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
94c22716d60ff5edf6a98a3c67e0faa001be1142 |
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164768 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ibCallSemantics.h
calarEvolution.h
calarEvolutionExpressions.h
|
7e2c793a2b5c746344652b6579e958ee42fafdcc |
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo 'iff' => 'if' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164767 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ibCallSemantics.h
calarEvolution.h
calarEvolutionExpressions.h
|
adb4a40cb6ef2dba298e9dac5a905fcd2bee6e35 |
19-Sep-2012 |
Will Dietz <wdietz2@illinois.edu> |
Fix minor typo in IntervalPartition.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164222 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalPartition.h
|
9455a61009d6745558b217a44838f5c6318b0d5c |
19-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
InlineCost: Make TotalAllocaSizeRecursiveCaller unsigned to avoid sign-compare warnings. It's a size, not a cost. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164219 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
92df026f0da91dc65ef6186e97ff87b1f53e8cd0 |
19-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Prevent inlining of callees which allocate lots of memory into a recursive caller. Example: void foo() { ... foo(); // I'm recursive! bar(); } bar() { int a[1000]; // large stack size } rdar://10853263 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164207 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
de8091708f2d5ade958507aa6d37907a6277e9f2 |
17-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164015 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
azyValueInfo.h
oopInfo.h
egionInfo.h
calarEvolution.h
parsePropagation.h
|
7ffafe4102ec4b8491a82e700076c85bd692ec84 |
17-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove a couple unused fields. Not detected by Wunused-private-field because of unimplemented copy constructor and copy assignment operator that make the class look incomplete. Upcoming patch will mark them deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164013 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
15d0c81b2496a025af30a78e3a36fd7f05b165ef |
05-Sep-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Remove unused typedefs gcc4.8 warns about. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163225 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfoImpl.h
|
230768bd1316a012e88ac62689589fe5e2f10456 |
05-Sep-2012 |
Dan Gohman <gohman@apple.com> |
Make provenance checking conservative in cases when pointers-to-strong-pointers may be in play. These can lead to retains and releases happening in unstructured ways, foiling the optimizer. This fixes rdar://12150909. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163180 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
cb5f63d7fa717b67a666712a3a0d7eebd4d8fb8b |
31-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Clean up ProfileDataLoader a bit. - Overloading operator<< for raw_ostream and pointers is dangerous, it alters the behavior of code that includes the header. - Remove unused ID. - Use LLVM's byte swapping helpers instead of a hand-coded. - Make ReadProfilingData work directly on a pointer. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162992 91177308-0d34-0410-b5e6-96231b3b80d8
rofileDataLoader.h
|
f91e400b2125067e75e0f2159bca7ffd0cf109a0 |
31-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Cleanups due to feedback. No functionality change. Patch by Alistair. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162979 91177308-0d34-0410-b5e6-96231b3b80d8
rofileDataLoader.h
|
688c1cd6c932ce2811905dbca64e631c7ecbbd0f |
29-Aug-2012 |
Michael Liao <michael.liao@intel.com> |
fix C++ comment in C header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162856 91177308-0d34-0410-b5e6-96231b3b80d8
rofileDataTypes.h
|
8e0d1c03ca7fd86e6879b4e37d0d7f0e982feef6 |
29-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make MemoryBuiltins aware of TargetLibraryInfo. This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more severe with the recent memory builtin improvements. Since the memory builtin functions are used everywhere, this required passing TLI in many places. This means that functions that now have an optional TLI argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead mallocs anymore if the TLI argument is missing. I've updated most passes to do the right thing. Fixes PR13694 and probably others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
emoryBuiltins.h
|
d26200423ee818e54d4088bd0c499caf840d866d |
29-Aug-2012 |
Manman Ren <mren@apple.com> |
Profile: set branch weight metadata with data generated from profiling. This patch implements ProfileDataLoader which loads profile data generated by -insert-edge-profiling and updates branch weight metadata accordingly. Patch by Alastair Murray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162799 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
rofileDataLoader.h
|
23a22a29441b8b7d948e6ff7c2afb39e6528cfbd |
27-Aug-2012 |
Hongbin Zheng <etherzhhb@gmail.com> |
Remove the the block_node_iterator of Region, replace it by the block_iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162672 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
6adeb67b33d718767ff25e935fbfafff8e5584e0 |
24-Aug-2012 |
Manman Ren <mren@apple.com> |
Forgot to check in ProfileDataTypes.h in r162576 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162578 91177308-0d34-0410-b5e6-96231b3b80d8
rofileDataTypes.h
|
cd62c287230a495134ae8c896a9e1f49fc981ba4 |
24-Aug-2012 |
Manman Ren <mren@apple.com> |
Profile: move a single enum out of ProfileInfoTypes.h into a new ProfileDataTypes.h header. With this patch the old and new profiling code can exist side-by-side. The new profiling code will be submitted soon and it only supports insert-edge-profiling for now and will not depend on ProfileInfo. Patch by Alastair Murray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162576 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoTypes.h
|
1a710fdde197b00107ef55df51054925b9a5d2a2 |
24-Aug-2012 |
Manman Ren <mren@apple.com> |
BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle the case of multiple edges from one block to another. A simple example is a switch statement with multiple values to the same destination. The definition of an edge is modified from a pair of blocks to a pair of PredBlock and an index into the successors. Also set the weight correctly when building SelectionDAG from LLVM IR, especially when converting a Switch. IntegersSubsetMapping is updated to calculate the weight for each cluster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162572 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
168843c0137ad67c24a3930244a9c5f60add320d |
17-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
MemoryBuiltins: Properly guard ObjectSizeOffsetVisitor against cycles in the IR. The previous fix only checked for simple cycles, use a set to catch longer cycles too. Drop the broken check from the ObjectSizeOffsetEvaluator. The BoundsChecking pass doesn't have to deal with invalid IR like InstCombine does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162120 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
05130597262f3ed00dc4881d64795d117c76e3fc |
16-Aug-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Teach GVN to reason about edges dominating uses. This allows it to handle cases where some fact lake a=b dominates a use in a phi, but doesn't dominate the basic block itself. This feature could also be implemented by splitting critical edges, but at least with the current algorithm reasoning about the dominance directly is faster. The time for running "opt -O2" in the testcase in pr10584 is 1.003 times slower and on gcc as a single file it is 1.0007 times faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162023 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
0c34ae88bfe6ab40fc30784f131510992438ea43 |
15-Aug-2012 |
Bill Wendling <isanbard@gmail.com> |
Set the branch probability of branching to the 'normal' destination of an invoke instruction to something absurdly high, while setting the probability of branching to the 'unwind' destination to the bare minimum. This should set cause the normal destination's invoke blocks to be moved closer to the invoke. PR13612 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161944 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
a3a3219b3a972db6449548abf7e0c9112e8ce7b9 |
13-Aug-2012 |
Nadav Rotem <nrotem@apple.com> |
Fix a documentation typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161758 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
25ac7518ffda5f4256e8333dde4801270bb26418 |
10-Aug-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move BasicBlockEdge to the cpp file. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161663 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
702bcce747cd3fd89049b16d37c9c88952b5af81 |
07-Aug-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
The dominance computation already has logic for computing if an edge dominates a use or a BB, but it is inline in the handling of the invoke instruction. This patch refactors it so that it can be used in other cases. For example, in define i32 @f(i32 %x) { bb0: %cmp = icmp eq i32 %x, 0 br i1 %cmp, label %bb2, label %bb1 bb1: br label %bb2 bb2: %cond = phi i32 [ %x, %bb0 ], [ 0, %bb1 ] %foo = add i32 %cond, %x ret i32 %foo } GVN should be able to replace %x with 0 in any use that is dominated by the true edge out of bb0. In the above example the only such use is the one in the phi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161429 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
5258d9f96767d898af4756930ce0c66a31ddf7d9 |
02-Aug-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
include/llvm/Analysis/RegionInfo.h: Appease msvc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161179 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
f63f8834250e5bd50b1cc5b2649acdf42988abad |
02-Aug-2012 |
Hongbin Zheng <etherzhhb@gmail.com> |
Implement the block_iterator of Region based on df_iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161177 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
6e699bf38dd862331532bd6f74ec491bdfad5db9 |
25-Jul-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
revert r160742: it's breaking CMake build original commit msg: MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160751 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
e3094283e38d9e6f6a4a7a14a3a5d0f2af67d5d5 |
25-Jul-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160742 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
e288cd100f86631ec0ade2a85930397a4ea7b21e |
21-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused private member variables uncovered by the recent changes to clang's -Wunused-private-field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160583 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
18a1b616ea123548b61a037c4f4fea4133aac1b5 |
18-Jul-2012 |
Andrew Trick <atrick@apple.com> |
SCEVTraversal: Add a visited set. Expression trees may be DAGs. Make sure traversal has linear complexity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160426 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
31f18eeb2bff53ce48c9c980f0b0676401d593c8 |
17-Jul-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow for customized graph edge pruning in PostOrderIterator.h Make it possible to prune individual graph edges from a post-order traversal by specializing the po_iterator_storage template. Previously, it was only possible to prune full graph nodes. Edge pruning makes it possible to remove loop back-edges, for example. Also replace the existing DFSetTraits customization hook with a po_iterator_storage method for observing the post-order. DFSetTraits was only used by LoopIterator.h which now provides a po_iterator_storage specialization. Thanks to Sean and Chandler for reviewing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160366 91177308-0d34-0410-b5e6-96231b3b80d8
oopIterator.h
|
e08c32249fca32cd7b122024a4ca252fcb235694 |
14-Jul-2012 |
Andrew Trick <atrick@apple.com> |
LSR Fix: check SCEV expression safety before expansion. All SCEV expressions used by LSR formulae must be safe to expand. i.e. they may not contain UDiv unless we can prove nonzero denominator. Fixes PR11356: LSR hoists UDiv. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160205 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
8b7036b0f4ae3f76ad24a6b9bc2d874620406306 |
14-Jul-2012 |
Andrew Trick <atrick@apple.com> |
Factor SCEV traversal code so I can use it elsewhere. No functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160203 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
0dff532fce434c3e9fdf9695aed8efeb5f752ed5 |
03-Jul-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
fold PHI nodes in SizeOffsetEvaluator whenever possible. Unfortunately this change requires the cache map to hold WeakVHs instead git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159667 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
06cb8ed00696eb14d1b831921452e50ec0568ea2 |
29-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move. I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so. I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg. Thanks to Bill and Eric for giving the green light for this bit of cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
calarEvolutionExpander.h
|
16eeb6f5ebc978b03745177b9ac82684ab1c6932 |
29-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
The DIBuilder class is just a wrapper around debug info creation (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159414 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
41a3f251346681e21171879dce409b2e6a3ba750 |
28-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
MemoryBuiltins: - recognize C++ new(std::nothrow) friends - ignore ExtractElement and ExtractValue instructions in size/offset analysis (all easy cases are probably folded away before we get here) - also recognize realloc as noalias git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159356 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
0bcbd1df7a204e1e512f1a27066d725309de1b13 |
28-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h. The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
494f8c6cfaa7443bc708f6006c70f37ca30ac765 |
27-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Revamp how debugging information is emitted for debug info objects. It's not necessary for each DI class to have its own copy of `print' and `dump'. Instead, just give DIDescriptor those methods and have it call the appropriate debugging printing routine based on the type of the debug information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159237 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c9b1e25493b393013b28e5d457f2fb2845a4dd9f |
26-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Enable the new LoopInfo algorithm by default. The primary advantage is that loop optimizations will be applied in a stable order. This helps debugging and unit test creation. It is also a better overall implementation without pathologically bad performance on deep functions. On large functions (llvm-stress --size=200000 | opt -loops) Before: 0.1263s After: 0.0225s On deep functions (after tweaking llvm-stress, thanks Nadav): Before: 0.2281s After: 0.0227s See r158790 for more comments. The loop tree is now consistently generated in forward order, but loop passes are applied in reverse order over the program. If we have a loop optimization that prefers forward order, that can easily be achieved by adding a different type of LoopPassManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159183 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopInfoImpl.h
|
eb7c6865cd8d44a882aa7c3e10e1d976f333344f |
22-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
remove extractMallocCallFromBitCast, since it was tailor maded for its sole user. Update GlobalOpt accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158952 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
2b3e9580536dfb5666b9d91e99baebf6d45bfa5f |
21-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
Add support for invoke to the MemoryBuiltin analysid. Update comments accordingly. Make instcombine remove useless invokes to C++'s 'new' allocation function (test attached). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158937 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
10cefaab3fa4270396fa57b3286ab9860fafb60d |
21-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
move some typedefs so that we don't polute the llvm namespace. this should appease the GCC buildbots git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158924 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
9e72a79ef4a9fcda482ce0b0e1f0bd6a4f16cffd |
21-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
refactor the MemoryBuiltin analysis: - provide more extensive set of functions to detect library allocation functions (e.g., malloc, calloc, strdup, etc) - provide an API to compute the size and offset of an object pointed by Move a few clients (GVN, AA, instcombine, ...) to the new API. This implementation is a lot more aggressive than each of the custom implementations being replaced. Patch reviewed by Nick Lewycky and Chandler Carruth, thanks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158919 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
b9598e41bc5187cfe8fb6345a90be27e6967958f |
21-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Restructure PopulateLoopsDFS::insertIntoLoop. As Nadav pointed out the first implementation was obscure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158862 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfoImpl.h
|
60c7d5bc2cbeff9eff16716295ffd6a5374dc6bc |
20-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Add "extern template" declarations now that we use explicit instantiation. This is supported by gcc and clang, but guarded by a macro for MSVC 2008. The extern template declaration is not necessary but generally good form. It can avoid extra instantiations of the template methods defined inline. The EXTERN_TEMPLATE_INSTANTIATION macro could probably be generalized to handle multiple template parameters if someone thinks it's worthwhile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158840 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
305b515c2787f47adecbe120e4b4bef55c5e5525 |
20-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Remove 'static' from inline functions defined in header files. There is a pretty staggering amount of this in LLVM's header files, this is not all of the instances I'm afraid. These include all of the functions that (in my build) are used by a non-static inline (or external) function. Specifically, these issues were caught by the new '-Winternal-linkage-in-inline' warning. I'll try to just clean up the remainder of the clearly redundant "static inline" cases on functions (not methods!) defined within headers if I can do so in a reliable way. There were even several cases of a missing 'inline' altogether, or my personal favorite "static bool inline". Go figure. ;] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158800 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
oopInfo.h
|
37aa33bc11c01a7142bfa2428a5a4d219b07b6c3 |
20-Jun-2012 |
Andrew Trick <atrick@apple.com> |
A new algorithm for computing LoopInfo. Temporarily disabled. -stable-loops enables a new algorithm for generating the Loop forest. It differs from the original algorithm in a few respects: - Not determined by use-list order. - Initially guarantees RPO order of block and subloops. - Linear in the number of CFG edges. - Nonrecursive. I didn't want to change the LoopInfo API yet, so the block lists are still inclusive. This seems strange to me, and it means that building LoopInfo is not strictly linear, but it may not be a problem in practice. At least the block lists start out in RPO order now. In the future we may add an attribute or wrapper analysis that allows other passes to assume RPO order. The primary motivation of this work was not to optimize LoopInfo, but to allow reproducing performance issues by decomposing the compilation stages. I'm often unable to do this with the current LoopInfo, because the loop tree order determines Loop pass order. Serializing the IR tends to invert the order, which reverses the optimization order. This makes it nearly impossible to debug interdependent loop optimizations such as LSR. I also believe this will provide more stable performance results across time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158790 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopInfoImpl.h
|
cbf24b4e58c2f621f480883c5bb1f2f2b2b8d497 |
20-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Move the implementation of LoopInfo into LoopInfoImpl.h. The implementation only needs inclusion from LoopInfo.cpp and MachineLoopInfo.cpp. Clients of the interface should only include the interface. This makes the interface readable and speeds up rebuilds after modifying the implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158787 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopInfoImpl.h
|
95a9d937728ca9cf2bf44f86ff1184df318b3bd7 |
06-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Round 2 of dead private variable removal. LLVM is now -Wunused-private-field clean except for - lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields. - gtest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158096 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 |
02-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix typos found by http://github.com/lyda/misspell-check git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
IBuilder.h
|
fc4199bf4add3422ce6470ca47bbe6bff2d70ea5 |
01-Jun-2012 |
Eric Christopher <echristo@apple.com> |
Add support for enum forward declarations. Part of rdar://11570854 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157786 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
6cf07a80ff5ee8ef7dc336f954aae17c7e8d83d4 |
30-May-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b. This also required making recursive simplifications until nothing changes or a hard limit (currently 3) is hit. With the simplification in place indvars can canonicalize loops of the form for (unsigned i = 0; i < a-b; ++i) into for (unsigned i = 0; i != a-b; ++i) which used to fail because SCEV created a weird umax expr for the backedge taken count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157701 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
bb0f6eac1f2d04e485607f0726c31a84ce9b8ced |
23-May-2012 |
Eric Christopher <echristo@apple.com> |
Add support for C++11 enum classes in llvm. Part of rdar://11496790 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157303 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
791e629deef7e4a410e67527da26405916415d3a |
19-May-2012 |
Eric Christopher <echristo@apple.com> |
Actually support DW_TAG_rvalue_reference_type that we were trying to generate out of the front end. rdar://11479676 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157094 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
8aa22019ca5ef29a15058be905d782e7225aa206 |
19-May-2012 |
Andrew Trick <atrick@apple.com> |
SCEV: Add MarkPendingLoopPredicates to avoid recursive isImpliedCond. getUDivExpr attempts to simplify by checking for overflow. isLoopEntryGuardedByCond then evaluates the loop predicate which may lead to the same getUDivExpr causing endless recursion. Fixes PR12868: clang 3.2 segmentation fault. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157092 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
3a884f5c17ac32e34e7e62b4602a0d73eeda1ce8 |
14-May-2012 |
Chad Rosier <mcrosier@apple.com> |
Move the capture analysis from MemoryDependencyAnalysis to a more general place so that it can be reused in MemCpyOptimizer. This analysis is needed to remove an unnecessary memcpy when returning a struct into a local variable. rdar://11341081 PR12686 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156776 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
emoryDependenceAnalysis.h
|
b401e3bd16c3d648464606d5e5b496dd61d12afc |
10-May-2012 |
Dan Gohman <gohman@apple.com> |
Teach DeadStoreElimination to eliminate exit-block stores with phi addresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156558 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
599da5ec016a6e52371c8e76e5aa091c04cbacd1 |
08-May-2012 |
Eric Christopher <echristo@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156404 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
7c52c97a2232756bbcc2fb4e664892bdb8b2d90c |
04-May-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Rename the Region::block_iterator to Region::block_node_iterator, and add a new Region::block_iterator which actually iterates over the basic blocks of the region. The old iterator, now call 'block_node_iterator' iterates over RegionNodes which contain a single basic block. This works well with the GraphTraits-based iterator design, however most users actually want an iterator over the BasicBlocks inside these RegionNodes. Now the 'block_iterator' is a wrapper which exposes exactly this interface. Internally it uses the block_node_iterator to walk all nodes which are single basic blocks, but transparently unwraps the basic block to make user code simpler. While this patch is a bit of a wash, most of the updates are to internal users, not external users of the RegionInfo. I have an accompanying patch to Polly that is a strict simplification of every user of this interface, and I'm working on a pass that also wants the same simplified interface. This patch alone should have no functional impact. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156202 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
d5003cafd6fc86acaf8e09ef0ca1dc899da8850e |
04-May-2012 |
Chandler Carruth <chandlerc@gmail.com> |
A pile of long over-due refactorings here. There are some very, *very* minor behavior changes with this, but nothing I have seen evidence of in the wild or expect to be meaningful. The real goal is unifying our logic and simplifying the interfaces. A summary of the changes follows: - Make 'callIsSmall' actually accept a callsite so it can handle intrinsics, and simplify callers appropriately. - Nuke a completely bogus declaration of 'callIsSmall' that was still lurking in InlineCost.h... No idea how this got missed. - Teach the 'isInstructionFree' about the various more intelligent 'free' heuristics that got added to the inline cost analysis during review and testing. This mostly surrounds int->ptr and ptr->int casts. - Switch most of the interesting parts of the inline cost analysis that were essentially computing 'is this instruction free?' to use the code metrics routine instead. This way we won't keep duplicating logic. All of this is motivated by the desire to allow other passes to compute a roughly equivalent 'cost' metric for a particular basic block as the inline cost analysis. Sadly, re-using the same analysis for both is really messy because only the actual inline cost analysis is ever going to go to the contortions required for simplification, SROA analysis, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156140 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
252ef566e8734b6bcf46434d0a7954c9eda0bd96 |
03-May-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
add support for calloc to objectsize lowering git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156102 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
216432df5ac897327a0cb6323f08811910481038 |
23-Apr-2012 |
Eric Christopher <echristo@apple.com> |
Allow forward declarations to take a context. This helps the debugger find forward declarations in the context that the actual definition will occur. rdar://11291658 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155380 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
558ece284cef9d42a96577f3943cb3efee8904e0 |
13-Apr-2012 |
Dan Gohman <gohman@apple.com> |
Add forms of dominates and isReachableFromEntry that accept a Use directly instead of a user Instruction. This allows them to test whether a def dominates a particular operand if the user instruction is a PHI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154631 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
f7c3e5f05199e1202c86198e0827cac19c0f48b5 |
11-Apr-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
FoldingSet: Push the hash through FoldingSetTraits::Equals, so clients can use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154496 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
d9fc1ce8096f7138c60edc3a6655583bf209780e |
10-Apr-2012 |
Andrew Trick <atrick@apple.com> |
Fix 12513: Loop unrolling breaks with indirect branches. Take this opportunity to generalize the indirectbr bailout logic for loop transformations. CFG transformations will never get indirectbr right, and there's no point trying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154386 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b381578fcb5fea988f661dbbee9747b8fd55c5fb |
06-Apr-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Reintroduce InlineCostAnalyzer::getInlineCost() variant with explicit callee parameter until we have a more sensible API for doing the same thing. Reviewed by Chandler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154180 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
26c8dcc692fb2addd475446cfff24d6a4e958bca |
04-Apr-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Always compute all the bits in ComputeMaskedBits. This allows us to keep passing reduced masks to SimplifyDemandedBits, but know about all the bits if SimplifyDemandedBits fails. This allows instcombine to simplify cases like the one in the included testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154011 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
6126a1e1894f346fae02a514a20aa56b879aeb99 |
03-Apr-2012 |
Eric Christopher <echristo@apple.com> |
Add a line number for the scope of the function (starting at the first brace) so that we get more accurate line number information about the declaration of a given function and the line where the function first starts. Part of rdar://11026482 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153916 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
1c8cf21d0c96cee0d55b619be58b1b400675e6ac |
03-Apr-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make dominatedBySlowTreeWalk private and assert cases handled by the caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153905 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
5004e9849aff165bcbd953f891b402ad23bdd1ac |
02-Apr-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add missing 'd'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153872 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
caa2c40a57040dc3e1a5e40401cd1e4ede845451 |
02-Apr-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Start cleaning up the InlineCost class. This switches to sentinel values rather than a bitfield, a great suggestion by Chris during code review. There is still quite a bit of cruft in the interface, but that requires sorting out some awkward uses of the cost inside the actual inliner. No functionality changed intended here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153853 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
6226c49bdec886a7162e24e152af579df203e163 |
31-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a workaround for building with old versions of clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153820 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
95d594cac3737ae1594a391276942a443cac426b |
31-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Teach CodeGen's version of computeMaskedBits to understand the range metadata. This is the CodeGen equivalent of r153747. I tested that there is not noticeable performance difference with any combination of -O0/-O2 /-g when compiling gcc as a single compilation unit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153817 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
45de584b4f82fbfb9cb9c50bc1fc08931b534308 |
31-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Remove a bunch of empty, dead, and no-op methods from all of these interfaces. These methods were used in the old inline cost system where there was a persistent cache that had to be updated, invalidated, and cleared. We're now doing more direct computations that don't require this intricate dance. Even if we resume some level of caching, it would almost certainly have a simpler and more narrow interface than this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153813 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
f2286b0152f0b942e82d8e809186e5cc0d247131 |
31-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Initial commit for the rewrite of the inline cost analysis to operate on a per-callsite walk of the called function's instructions, in breadth-first order over the potentially reachable set of basic blocks. This is a major shift in how inline cost analysis works to improve the accuracy and rationality of inlining decisions. A brief outline of the algorithm this moves to: - Build a simplification mapping based on the callsite arguments to the function arguments. - Push the entry block onto a worklist of potentially-live basic blocks. - Pop the first block off of the *front* of the worklist (for breadth-first ordering) and walk its instructions using a custom InstVisitor. - For each instruction's operands, re-map them based on the simplification mappings available for the given callsite. - Compute any simplification possible of the instruction after re-mapping, and store that back int othe simplification mapping. - Compute any bonuses, costs, or other impacts of the instruction on the cost metric. - When the terminator is reached, replace any conditional value in the terminator with any simplifications from the mapping we have, and add any successors which are not proven to be dead from these simplifications to the worklist. - Pop the next block off of the front of the worklist, and repeat. - As soon as the cost of inlining exceeds the threshold for the callsite, stop analyzing the function in order to bound cost. The primary goal of this algorithm is to perfectly handle dead code paths. We do not want any code in trivially dead code paths to impact inlining decisions. The previous metric was *extremely* flawed here, and would always subtract the average cost of two successors of a conditional branch when it was proven to become an unconditional branch at the callsite. There was no handling of wildly different costs between the two successors, which would cause inlining when the path actually taken was too large, and no inlining when the path actually taken was trivially simple. There was also no handling of the code *path*, only the immediate successors. These problems vanish completely now. See the added regression tests for the shiny new features -- we skip recursive function calls, SROA-killing instructions, and high cost complex CFG structures when dead at the callsite being analyzed. Switching to this algorithm required refactoring the inline cost interface to accept the actual threshold rather than simply returning a single cost. The resulting interface is pretty bad, and I'm planning to do lots of interface cleanup after this patch. Several other refactorings fell out of this, but I've tried to minimize them for this patch. =/ There is still more cleanup that can be done here. Please point out anything that you see in review. I've worked really hard to try to mirror at least the spirit of all of the previous heuristics in the new model. It's not clear that they are all correct any more, but I wanted to minimize the change in this single patch, it's already a bit ridiculous. One heuristic that is *not* yet mirrored is to allow inlining of functions with a dynamic alloca *if* the caller has a dynamic alloca. I will add this back, but I think the most reasonable way requires changes to the inliner itself rather than just the cost metric, and so I've deferred this for a subsequent patch. The test case is XFAIL-ed until then. As mentioned in the review mail, this seems to make Clang run about 1% to 2% faster in -O0, but makes its binary size grow by just under 4%. I've looked into the 4% growth, and it can be fixed, but requires changes to other parts of the inliner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153812 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
092c5ccf5bdcaa53151645e5628cec77fcf4062b |
30-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle unreachable code in the dominates functions. This changes users when needed for correctness, but still doesn't clean up code that now unnecessary checks for reachability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153755 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
oopInfo.h
|
b8ca98874316bfe8e46b27e7a034a8a764c92e08 |
29-Mar-2012 |
Eric Christopher <echristo@apple.com> |
Add support for objc property decls according to the page at: http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the metadata needed accordingly. rdar://11144023 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153639 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
eede6c9075a3a872e0ea00bbd71ab6fa88b677cd |
25-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use the isReachableFromEntry method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153400 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
42c487d2e529489648176ebb8e9ef022c07ef785 |
24-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid using dominatedBySlowTreeWalk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153398 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
6b980541df5846ad335c377c8803b517968daee2 |
24-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Refactor the interface to recursively simplifying instructions to be tad bit simpler by handling a common case explicitly. Also, refactor the implementation to use a worklist based walk of the recursive users, rather than trying to use value handles to detect and recover from RAUWs during the recursive descent. This fixes a very subtle bug in the previous implementation where degenerate control flow structures could cause mutually recursive instructions (PHI nodes) to collapse in just such a way that From became equal to To after some amount of recursion. At that point, we hit the inf-loop that the assert at the top attempted to guard against. This problem is defined away when not using value handles in this manner. There are lots of comments claiming that the WeakVH will protect against just this sort of error, but they're not accurate about the actual implementation of WeakVHs, which do still track RAUWs. I don't have any test case for the bug this fixes because it requires running the recursive simplification on unreachable phi nodes. I've no way to either run this or easily write an input that triggers it. It was found when using instruction simplification inside the inliner when running over the nightly test-suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153393 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
1508e5e0495a3b3d034cb8e0b9be16b01749d8b3 |
22-Mar-2012 |
Andrew Trick <atrick@apple.com> |
Cleanup IVUsers::addUsersIfInteresting. Keep the public interface clean, even though LLVM proper does not currently use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153263 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
f91f5af802bd4487c49ee17cd0d3e46c6456263e |
16-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Start removing the use of an ad-hoc 'never inline' set and instead directly query the function information which this set was representing. This simplifies the interface of the inline cost analysis, and makes the always-inline pass significantly more efficient. Previously, always-inline would first make a single set of every function in the module *except* those marked with the always-inline attribute. It would then query this set at every call site to see if the function was a member of the set, and if so, refuse to inline it. This is quite wasteful. Instead, simply check the function attribute directly when looking at the callsite. The normal inliner also had similar redundancy. It added every function in the module with the noinline attribute to its set to ignore, even though inside the cost analysis function we *already tested* the noinline attribute and produced the same result. The only tricky part of removing this is that we have to be able to correctly remove only the functions inlined by the always-inline pass when finalizing, which requires a bit of a hack. Still, much less of a hack than the set of all non-always-inline functions was. While I was touching this function, I switched a heavy-weight set to a vector with sort+unique. The algorithm already had a two-phase insert and removal pattern, we were just needlessly paying the uniquing cost on every insert. This probably speeds up some compiles by a small amount (-O0 compiles with lots of always-inline, so potentially heavy libc++ users), but I've not tried to measure it. I believe there is no functional change here, but yell if you spot one. None are intended. Finally, the direction this is going in is to greatly simplify the inline cost query interface so that we can replace its implementation with a much more clever one. Along the way, all the APIs get simplified, so it seems incrementally good. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152903 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
9b081d9691f4509af58919db5760235ca319c9da |
16-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Pull the implementation of the code metrics out of the inline cost analysis implementation. The header was already separated. Also cleanup all the comments in the header to follow a nice modern doxygen form. There is still plenty of cruft here, but some of that will fall out in subsequent refactorings and this was an easy step in the right direction. No functionality changed here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152898 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
75ae20366fd1b480f4cc38400bb075c43c9f4f7f |
16-Mar-2012 |
Andrew Trick <atrick@apple.com> |
LSR fix: Add isSimplifiedLoopNest to IVUsers analysis. Only record IVUsers that are dominated by simplified loop headers. Otherwise SCEVExpander will crash while looking for a preheader. I previously tried to work around this in LSR itself, but that was insufficient. This way, LSR can continue to run if some uses are not in simple loops, as long as we don't attempt to analyze those users. Fixes <rdar://problem/11049788> Segmentation fault: 11 in LoopStrengthReduce git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152892 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
220d2d7b50ddbbab1fe5e57fe9f39e72ef430a89 |
15-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Remove all remnants of partial specialization in the cost computation side of things. This is all dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152759 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
274d377ea68195989c3238fe96ce2ca812a12faf |
15-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Extend the inline cost calculation to account for bonuses due to correlated pairs of pointer arguments at the callsite. This is designed to recognize the common C++ idiom of begin/end pointer pairs when the end pointer is a constant offset from the begin pointer. With the C-based idiom of a pointer and size, the inline cost saw the constant size calculation, and this provides the same level of information for begin/end pairs. In order to propagate this information we have to search for candidate operations on a pair of pointer function arguments (or derived from them) which would be simplified if the pointers had a known constant offset. Then the callsite analysis looks for such pointer pairs in the argument list, and applies the appropriate bonus. This helps LLVM detect that half of bounds-checked STL algorithms (such as hash_combine_range, and some hybrid sort implementations) disappear when inlined with a constant size input. However, it's not a complete fix due the inaccuracy of our cost metric for constants in general. I'm looking into that next. Benchmarks showed no significant code size change, and very minor performance changes. However, specific code such as hashing is showing significantly cleaner inlining decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152752 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
5161de6ebbd36b0532bd980483d757f5a3014611 |
13-Mar-2012 |
Chris Lattner <sabre@nondot.org> |
enhance jump threading to preserve TBAA information when PRE'ing loads, fixing rdar://11039258, an issue that came up when inspecting clang's bootstrapped codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152635 91177308-0d34-0410-b5e6-96231b3b80d8
oads.h
|
bd0fe5642544d4ec3aee1ede7af60c006bae5cbf |
13-Mar-2012 |
Duncan Sands <baldrick@free.fr> |
Generalize the "trunc(ptrtoint(x)) - trunc(ptrtoint(y)) -> trunc(ptrtoint(x-y))" optimization introduced by Chandler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152626 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
0aa85eb231dc76bcabcd35f6dc9a50536f607df3 |
13-Mar-2012 |
Duncan Sands <baldrick@free.fr> |
Uniformize the InstructionSimplify interface by ensuring that all routines take a TargetLibraryInfo parameter. Internally, rather than passing TD, TLI and DT parameters around all over the place, introduce a struct for holding them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152623 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
c10fa6c801e48771b5eade50afc2fe6abaf08227 |
08-Mar-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*". ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value. Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters. Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. } If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method. There are also related changes in llvm-clients: klee and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152297 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
6f130bf368ab082ab87bafaee9bf4e1a78acc669 |
08-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Rotate two of the functions used to count bonuses for the inline cost analysis to be methods on the cost analysis's function info object instead of the code metrics object. These really are just users of the code metrics, they're building the information for the function's analysis. This is the first step of growing the amount of information we collect about a function in order to cope with pair-wise simplifications due to allocas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152283 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
c9ae8cc24c70dda33b68cacf01d2feeeb836f6f2 |
26-Feb-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change the implementation of dominates(inst, inst) to one based on what the verifier does. This correctly handles invoke. Thanks to Duncan, Andrew and Chris for the comments. Thanks to Joerg for the early testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151469 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
8c727f9200cd54adc4a1b742950e80035bc53a20 |
26-Feb-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't call dominates on unreachable instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151466 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
55f4ab84e567ac101d70f052771d1bc67a7560e3 |
25-Feb-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Move isKnownNonNull from private implementation detail of BasicAA to a public function that others can use, next to llvm::isIdentifiedObject. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151446 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
9f90e8760fda131db8311f976c6bbeb66abbaa05 |
20-Feb-2012 |
Eric Christopher <echristo@apple.com> |
Add support for runtime languages on our forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150973 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
b0934ab7d811e23bf530371976b8b35f3242169c |
19-Feb-2012 |
Ahmed Charles <ace2001ac@gmail.com> |
Remove dead code. Improve llvm_unreachable text. Simplify some control flow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150918 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
1a4ccc3aa24d0ed3617d617b80785ae33e9282b1 |
10-Feb-2012 |
Hal Finkel <hfinkel@anl.gov> |
Make aliasesPointer and aliasesUnknownInst public members of AliasSet. These query functions are safe for external use and, furthermore, are the only way to make queries against the "unknown instructions" array. BBVectorize will use these functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150248 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
4fe345729285ae634c657ab854057464d03220f7 |
08-Feb-2012 |
Eric Christopher <echristo@apple.com> |
Add support for a temporary forward decl type. We want this so we can rauw forward declarations if we decide to emit the full type. Part of rdar://10809898 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150024 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
9f99721a1882cdef9f7cca25de7ea43627d23958 |
08-Feb-2012 |
Devang Patel <dpatel@apple.com> |
Remove tabs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150022 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
6588abf377b7381274236e651462ec83052f6013 |
06-Feb-2012 |
Devang Patel <dpatel@apple.com> |
DebugInfo: Provide a new hook to encode relationship between a property and an ivar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149874 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
50bee42b54cd9aec5f49566307df2b0cf23afcf6 |
05-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149849 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
rofileInfo.h
|
18c7f80b3e83ab584bd8572695a3cde8bafd9d3c |
05-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
reapply the patches reverted in r149470 that reenable ConstantDataArray, but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
0df823461dd3de0146c656cba4697d96998f3d24 |
04-Feb-2012 |
Devang Patel <dpatel@apple.com> |
Update llvm debug version to support new structure and tag for Objective-C property's debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149736 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
1ea02d467a311b4846b942377d0b00fde987be65 |
04-Feb-2012 |
Devang Patel <dpatel@apple.com> |
Introduce DIObjCProperty. This will be used to encode objective-c property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149732 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
24473120a253a05f3601cd3373403b47e6d03d41 |
01-Feb-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
SwitchInst refactoring. The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. What was done: 1. Changed semantics of index inside the getCaseValue method: getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous. 2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned. 3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment. 4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst. 4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor. 4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor. Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149481 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
91766fe066efe6e0969ba805a2e3726a70ed34a3 |
01-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert Chris' commits up to r149348 that started causing VMCoreTests unit test to fail. These are: r149348 r149351 r149352 r149354 r149356 r149357 r149361 r149362 r149364 r149365 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149470 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
f98743a49d931e4f4d7ee17e5869972fc96ff115 |
31-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
remove commented-out code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149364 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
f0e1053a63f5522ecfe1df8fe3ea07b24cb6b193 |
31-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
remove the last vestiges of llvm::GetConstantStringInfo, in CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149356 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
3ef9cfef13d7c7208b98b2d9995c3df6dcfe0d99 |
31-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
Change ConstantArray::get to form a ConstantDataArray when possible, kicking in the big win of ConstantDataArray. As part of this, change the implementation of GetConstantStringInfo in ValueTracking to work with ConstantDataArray (and not ConstantArray) making it dramatically, amazingly, more efficient in the process and renaming it to getConstantStringInfo. This keeps around a GetConstantStringInfo entrypoint that (grossly) forwards to getConstantStringInfo and constructs the std::string required, but existing clients should move over to getConstantStringInfo instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149351 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
a97ddd0cffb9a9eb1313343fd49097c9057a5850 |
24-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
Split the interesting bits of ConstantFoldLoadThroughGEPConstantExpr out into a new ConstantFoldLoadThroughGEPIndices (more useful) function and rewrite it to be simpler, more efficient, and to handle the new ConstantDataSequential type. Enhance ConstantFoldLoadFromConstPtr to handle ConstantDataSequential. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148786 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
b5c26ef9da16052597d59a412eaae32098aa1be0 |
20-Jan-2012 |
Andrew Trick <atrick@apple.com> |
SCEVExpander fixes. Affects LSR and indvars. LSR has gradually been improved to more aggressively reuse existing code, particularly existing phi cycles. This exposed problems with the SCEVExpander's sloppy treatment of its insertion point. I applied some rigor to the insertion point problem that will hopefully avoid an endless bug cycle in this area. Changes: - Always used properlyDominates to check safe code hoisting. - The insertion point provided to SCEV is now considered a lower bound. This is usually a block terminator or the use itself. Under no cirumstance may SCEVExpander insert below this point. - LSR is reponsible for finding a "canonical" insertion point across expansion of different expressions. - Robust logic to determine whether IV increments are in "expanded" form and/or can be safely hoisted above some insertion point. Fixes PR11783: SCEVExpander assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148535 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
calarEvolutionExpander.h
|
bda43e95a03c19868106e8111d7a5bf1c924ec63 |
17-Jan-2012 |
Jakub Staszak <kubastaszak@gmail.com> |
Move includes to the .cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148342 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
3eada319fc21bca31a2bc7819e4c05f46e6f82e1 |
11-Jan-2012 |
Andrew Trick <atrick@apple.com> |
Clarified the SCEV getSmallConstantTripCount interface with in-your-face comments. This interface is misleading and dangerous, but it is actually what we need for unrolling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147926 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
64925c55c65f9345a69fb67db07aa62cfb723577 |
10-Jan-2012 |
Andrew Trick <atrick@apple.com> |
Enable LSR IV Chains with sufficient heuristics. These heuristics are sufficient for enabling IV chains by default. Performance analysis has been done for i386, x86_64, and thumbv7. The optimization is rarely important, but can significantly speed up certain cases by eliminating spill code within the loop. Unrolled loops are prime candidates for IV chains. In many cases, the final code could still be improved with more target specific optimization following LSR. The goal of this feature is for LSR to make the best choice of induction variables. Instruction selection may not completely take advantage of this feature yet. As a result, there could be cases of slight code size increase. Code size can be worse on x86 because it doesn't support postincrement addressing. In fact, when chains are formed, you may see redundant address plus stride addition in the addressing mode. GenerateIVChains tries to compensate for the common cases. On ARM, code size increase can be mitigated by using postincrement addressing, but downstream codegen currently misses some opportunities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147826 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
ee98aa87434d9d49a8e4dab41d873888ac9c4805 |
07-Jan-2012 |
Andrew Trick <atrick@apple.com> |
Extended replaceCongruentPhis to handle mixed phi types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147707 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
f8fd841a4bb7a59f81cf4642169e8251e039acfe |
07-Jan-2012 |
Andrew Trick <atrick@apple.com> |
Expose isNonConstantNegative to users of ScalarEvolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147700 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
260bf5364e151754c16f723d62c4080009bf98cb |
06-Jan-2012 |
Andrew Trick <atrick@apple.com> |
Put all IVUsers in the processed set. Allow querying IVUsers with isIVUserOrOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147686 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
febaf8401779fedf8db7b02e499c5e39848fb9f5 |
05-Jan-2012 |
Dan Gohman <gohman@apple.com> |
Generalize isSafeToSpeculativelyExecute to work on arbitrary Values, rather than just Instructions, since it's interesting for ConstantExprs too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147560 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
da69f3b357097e75fbf9a5a2bbe1e7273d4b4271 |
04-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify more DenseMap.find users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147550 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
34b5f0437b9bf67bcbeb166a1c092dbbe3786157 |
04-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify code. No functionality change. Using DenseMap iterators isn't free as they have to check for empty buckets. Dominator queries are common so this gives a minor speedup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147544 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
3a023d318075639434fdb5e2424d0c2c5edd89e7 |
29-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix grammar error noticed by Duncan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147333 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
b48a18903a5769f0ecb295db069252576b1388b0 |
29-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Change CaptureTracking to pass a Use* instead of a Value* when a value is captured. This allows the tracker to look at the specific use, which may be especially interesting for function calls. Use this to fix 'nocapture' deduction in FunctionAttrs. The existing one does not iterate until a fixpoint and does not guarantee that it produces the same result regardless of iteration order. The new implementation builds up a graph of how arguments are passed from function to function, and uses a bottom-up walk on the argument-SCCs to assign nocapture. This gets us nocapture more often, and does so rather efficiently and independent of iteration order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147327 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
25101bb2a799a36be9f077ee2fc2dcf0df2b6efb |
20-Dec-2011 |
Jakub Staszak <kubastaszak@gmail.com> |
Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146986 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
lockFrequencyInfo.h
|
2d24e2a396a1d211baaeedf32148a3b657240170 |
20-Dec-2011 |
David Blaikie <dblaikie@gmail.com> |
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
ominanceFrontier.h
|
34706936412b9e9ff73511fed58e97bf6e100e69 |
18-Dec-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Allow inlining of functions with returns_twice calls, if they have the attribute themselve. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146851 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
f0426601977c3e386d2d26c72a2cca691dc42072 |
15-Dec-2011 |
Dan Gohman <gohman@apple.com> |
Move Instruction::isSafeToSpeculativelyExecute out of VMCore and into Analysis as a standalone function, since there's no need for it to be in VMCore. Also, update it to use isKnownNonZero and other goodies available in Analysis, making it more precise, enabling more aggressive optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146610 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
e15402f92b6949d2474cc82648239fe22e5a2209 |
05-Dec-2011 |
Anna Zaks <ganna@apple.com> |
Change the Dominators recalculate() function to only rely on GraphTraits This is a patch by Guoping Long! As part of utilizing LLVM Dominator computation in Clang, made two changes to LLVM dominators tree implementation: - (1) Change the recalculate() template function to only rely on GraphTraits. - (2) Add a size() method to GraphTraits template class to query the number of nodes in the graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145837 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
aab8e28d5e470711d80276bbf717408c3ab966fd |
02-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix a few more places where TargetData/TargetLibraryInfo is not being passed. Add FIXMEs to places that are non-trivial to fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145661 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
618c1dbd293d15ee19f61b1156ab8086ad28311a |
01-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and InstructionSimplify.cpp. Other fixups as needed. Part of rdar://10500969 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145559 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
nstructionSimplify.h
HITransAddr.h
calarEvolution.h
|
553fe05f236f46fe27b7fcfa822b06367d50183e |
30-Nov-2011 |
Andrew Trick <atrick@apple.com> |
LSR: handle the expansion of phi operands that use postinc forms of the IV. Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145482 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
ed38f1ca2ede643b058211ec09b205ed30d2a256 |
28-Nov-2011 |
Andrew Trick <atrick@apple.com> |
Remove the temporary flag -disable-unroll-scev and dead code. SCEV should now be used for trip count analysis, not LoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145262 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
6935b78e6f3b7dca7786041c56c9a795d2247659 |
21-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add virtual destructor. Whoops! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145044 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
7912ef97ffde3ab3334143ddfb4cafdf04e2ebfc |
20-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Less template, more virtual! Refactoring suggested by Chris in code review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145014 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
173862e5468fbcf4b022b9088d2c81b25c2d60c5 |
20-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Refactor code to use new attribute getters on CallSite for NoCapture and ByVal. Suggested in code review by Eli. That code in InstCombine looks kinda suspicious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145013 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
ce35d8b5a1071bb8ccf70bf8be3952dd0c4f2f15 |
18-Nov-2011 |
Devang Patel <dpatel@apple.com> |
DISubrange supports unsigned lower/upper array bounds, so let's not fake it in the end while emitting DWARF. If a FE needs to encode signed lower/upper array bounds then we need to extend DISubrange or ad DISignedSubrange. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144937 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2774dc085d36c2097e080e2e0ea46a7e49be37af |
15-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Missed some users of Value::getNameStr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144656 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
a7b0cb759433c715065440ee2a963a04db7f2b0b |
15-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove all remaining uses of Value::getNameStr(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144648 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
FGPrinter.h
OTGraphTraitsPass.h
|
88990248d3bfb2f265fcf27f8a032ac0eb14d09f |
14-Nov-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Refactor capture tracking (which already had a couple flags for whether returns and stores capture) to permit the caller to see each capture point and decide whether to continue looking. Use this inside memdep to do an analysis that basicaa won't do. This lets us solve another devirtualization case, fixing PR8908! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144580 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
emoryDependenceAnalysis.h
|
066b5d8403483bf3a8bb033b690da318fbc68e79 |
14-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make headers standalone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144537 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
ecfd04b272940374323c2e6e57aff06ff5c4f133 |
09-Nov-2011 |
Eric Christopher <echristo@apple.com> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144198 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5786b4cdc118a7fbcdae238e264a884691ab43b7 |
09-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Enhance verifyLoop so that it can reliably verify that every block in a loop is reachable from the loop header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144166 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
5cdf0700c72bee5fae5180a3a5fc3747b519758f |
04-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add missing forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143717 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
b39e25ef2c8d8c840ec4155e57c737ac7bd4f167 |
04-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Delete names for unused parameters in inline function definitions in headers, so LLVM users can compile with -Wunused-parameter. PR11257; based on patch by Kevin Harris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143715 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
dd3149d57977d0632cfaf24290dd93416fb2a0ef |
26-Oct-2011 |
Duncan Sands <baldrick@free.fr> |
The maximum power of 2 dividing a power of 2 is itself. This occurs in 403.gcc and was spotted by my super-optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143054 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
de1c9bb45017e25b5fc2b77e15d3c377f6572075 |
24-Oct-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Remove return heuristics from the static branch probabilities, and introduce no-return or unreachable heuristics. The return heuristics from the Ball and Larus paper don't work well in practice as they pessimize early return paths. The only good hitrate return heuristics are those for: - NULL return - Constant return - negative integer return Only the last of these three can possibly require significant code for the returning block, and even the last is fairly rare and usually also a constant. As a consequence, even for the cold return paths, there is little code on that return path, and so little code density to be gained by sinking it. The places where sinking these blocks is valuable (inner loops) will already be weighted appropriately as the edge is a loop-exit branch. All of this aside, early returns are nearly as common as all three of these return categories, and should actually be predicted as taken! Rather than muddy the waters of the static predictions, just remain silent on returns and let the CFG itself dictate any layout or other issues. However, the return heuristic was flagging one very important case: unreachable. Unfortunately it still gave a 1/4 chance of the branch-to-unreachable occuring. It also didn't do a rigorous job of finding those blocks which post-dominate an unreachable block. This patch builds a more powerful analysis that should flag all branches to blocks known to then reach unreachable. It also has better worst-case runtime complexity by not looping through successors for each block. The previous code would perform an N^2 walk in the event of a single entry block branching to N successors with a switch where each successor falls through to the next and they finally fall through to a return. Test case added for noreturn heuristics. Also doxygen comments improved along the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142793 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
f46c674a16669518dbb24d4cdd4bfc904dd3b505 |
24-Oct-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Doxygen-ify the comments on the public interface for BPI. Also, move the two more subtle routines to the bottom and expand on their cautionary comments a bit. No functionality or actual interface change here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142789 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
b068bbbaecf338f481124551a5e6f37484fad800 |
24-Oct-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Simplify the design of BranchProbabilityInfo by collapsing it into a single class. Previously it was split between two classes, one internal and one external. The concern seemed to center around exposing the weights used, but those can remain confined to the implementation file. Having a single class to maintain the state and analyses in use will also simplify several of the enhancements I want to make to our static heuristics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142783 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
14edd314af99ccaad194d071f23e437a1371f176 |
23-Oct-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Teach the BranchProbabilityInfo pass to print its results, and use that to bring it under direct test instead of merely indirectly testing it in the BlockFrequencyInfo pass. The next step is to start adding tests for the various heuristics employed, and to start fixing those heuristics once they're under test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142778 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
6aa5c26c81071e22a23a6f0ae7dcac6080ad6597 |
19-Oct-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Add pass printing support to BlockFrequencyInfo pass. The implementation layer already had support for printing the results of this analysis, but the wiring was missing. Now that printing the analysis works, actually bring some of this analysis, and the BranchProbabilityInfo analysis that it wraps, under test! I'm planning on fixing some bugs and doing other work here, so having a nice place to add regression tests and a way to observe the results is really useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142491 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyInfo.h
|
2115cd2a48feaf956b0906f7fcfdee8baf4795dd |
19-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142438 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
56169787dbfb6d0b422ef114889b481e977b8996 |
15-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix extra whitespace in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142079 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
365c9f1ff55bef134c6b9707f7df44d680ddabea |
15-Oct-2011 |
Andrew Trick <atrick@apple.com> |
Fix SCEVExpander assert during LSR: "argument of incompatible type". Just because we're dealing with a GEP doesn't mean we can assert the SCEV has a pointer type. The fix is simply to ignore the SCEV pointer type, which we really didn't need. Fixes PR11138 webkit crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142058 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
b414142036012dd9432c4e8c5fef09d4d49fcc22 |
14-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Enhance the memdep interface so that users can tell the difference between a dependency which cannot be calculated and a path reaching the entry point of the function. This patch introduces isNonFuncLocal, which replaces isUnknown in some cases. Patch by Xiaoyi Guo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141896 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
d0851aae5133b138ee3f87277d0b7775994bea46 |
12-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Make this use a public accessor too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141752 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3c43b48fa96664318f0c1c17475114fe7015add6 |
12-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Use public accessors on the scope that is returned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141739 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
6618a241f7ba2571a1a55b3733c4441d467baf42 |
12-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Add a new wrapper node for a DILexicalBlock that encapsulates it and a file. Since it should only be used when necessary propagate it through the backend code generation and tweak testcases accordingly. This helps with code like in clang's test/CodeGen/debug-info-line.c where we have multiple #line directives within a single lexical block and want to generate only a single block that contains each file change. Part of rdar://10246360 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141729 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
204494149b6f846e8f173f525b129f5508076049 |
11-Oct-2011 |
Andrew Trick <atrick@apple.com> |
Move replaceCongruentIVs into SCEVExapander and bias toward "expanded" IVs. Indvars previously chose randomly between congruent IVs. Now it will bias the decision toward IVs that SCEVExpander likes to create. This was not done to fix any problem, it's just a welcome side effect of factoring code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141633 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
c5701910604cdf65811fabd31d41e38f1d1d4eb1 |
08-Oct-2011 |
Andrew Trick <atrick@apple.com> |
LSR should only reuse phis that match its formula. Fixes rdar://problem/5064068 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141442 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
e97728ecf8a0ee69562cc0e7880cfaa65200c624 |
04-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
The product of two chrec's can always be represented as a chrec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141066 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
b2ab2fa524f3f90376639037bd81924483cca0af |
01-Oct-2011 |
Andrew Trick <atrick@apple.com> |
Inlining and unrolling heuristics should be aware of free truncs. We want heuristics to be based on accurate data, but more importantly we don't want llvm to behave randomly. A benign trunc inserted by an upstream pass should not cause a wild swings in optimization level. See PR11034. It's a general problem with threshold-based heuristics, but we can make it less bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140919 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
5c655413cf9466c29e38204ab3f19b33fffd7996 |
01-Oct-2011 |
Andrew Trick <atrick@apple.com> |
whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140916 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
46cb5afdcd031c371c78201fb34291d9d48b2ee4 |
26-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Enhance alias analysis for atomic instructions a bit. Upgrade a couple alias-analysis tests to the new atomic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140557 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
439780eeaef1a2c6a1105fb705a27c5c819e8d0e |
26-Sep-2011 |
James Molloy <james.molloy@arm.com> |
Fix emission of debug data for global variables. getContext() on DIGlobalVariables is not valid any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140539 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
734a67cda5a02be1654a2f89b811d7b6cbe3f5e5 |
15-Sep-2011 |
Devang Patel <dpatel@apple.com> |
Add support to emit debug info for C++0x nullptr type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139751 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
dabc2806726a286b00313419fac8461ebe0f774c |
05-Sep-2011 |
Duncan Sands <baldrick@free.fr> |
Add some simple insertvalue simplifications, for the purpose of cleaning up do-nothing exception handling code produced by dragonegg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139113 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
nstructionSimplify.h
|
252ef7a61a9455c1e5d7b8a5a5f7ec8b3a75e200 |
02-Sep-2011 |
Andrew Trick <atrick@apple.com> |
Comment and clarifying assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139036 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
0e122d1c2422285c872f68fc0ae1f7e5d2739572 |
29-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Reapply r138695. Fix PassManager stack depths. Patch by Xiaoyi Guo! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138737 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
egionPass.h
|
8592a0cda4cf4ae76c5a29230fb330d0e952bb62 |
27-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Reverting r138695 to see if it fixes clang self host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138701 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
egionPass.h
|
b84619223051fd965cc64e70c8f6b70f7ae6ae85 |
27-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Fix PassManager stack depths. Patch by Xiaoyi Guo! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138695 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
egionPass.h
|
5434c1e73b6e56756719d2aebb952ac7bb3829e0 |
26-Aug-2011 |
Andrew Trick <atrick@apple.com> |
LoopInfo::updateUnloop fix, and verify Block->Loop maps. Fixes an oversight, and adds verification to catch it in the unloop.ll tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138622 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
93d39be5300702d8c9892ec04a492a6056926462 |
20-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138145 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
94c7ddb6f52a5200983fed0ce74dc602a7737879 |
17-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL. MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137778 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
6326a4238df05dafd7547cfa2cd71111cd6702a6 |
16-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Add a finalize() hook, that'll let DIBuilder construct compile unit lazily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137673 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
6f9d8ffe5e47e3d11176298e849cc8545c2169a2 |
15-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Refactor. Global variables are part of compile unit so let CompileUnit create new global variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137621 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
b1831c66403315a1d84593b7c198ddbd43a574cf |
12-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Allow loop unrolling to get known trip counts from ScalarEvolution. SCEV unrolling can unroll loops with arbitrary induction variables. It is a prerequisite for -disable-iv-rewrite performance. It is also easily handles loops of arbitrary structure including multiple exits and is generally more robust. This is under a temporary option to avoid affecting default behavior for the next couple of weeks. It is needed so that I can checkin unit tests for updateUnloop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137384 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
fb62b8deb3c837bc5f4cf98543b89d08e7db9f84 |
11-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Reapplying r136844. An algorithm for incrementally updating LoopInfo within a LoopPassManager. The incremental update should be extremely cheap in most cases and can be used in places where it's not feasible to regenerate the entire loop forest. - "Unloop" is a node in the loop tree whose last backedge has been removed. - Perform reverse dataflow on the block inside Unloop to propagate the nearest loop from the block's successors. - For reducible CFG, each block in unloop is visited exactly once. This is because unloop no longer has a backedge and blocks within subloops don't change parents. - Immediate subloops are summarized by the nearest loop reachable from their exits or exits within nested subloops. - At completion the unloop blocks each have a new parent loop, and each immediate subloop has a new parent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137276 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
d8a2f3ab91e90a1e1da2061410bb08b18650c9ee |
11-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Cleanup. Remove an extraneous GraphTraits specialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137264 91177308-0d34-0410-b5e6-96231b3b80d8
oopIterator.h
|
b549bcfe6c19dbb24162c75bbcc06d4a5fa90cb8 |
10-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Distinguish between two copies of one inlined variable. Take 2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137253 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
4b4bb71bcdfd8c17cd4acb6116fc9a56c5fecd47 |
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Added a SimplifyIndVar utility to simplify induction variable users based on ScalarEvolution without changing the induction variable phis. This utility is the main tool of IndVarSimplifyPass, but the pass also restructures induction variables in strange ways that are sensitive to pass ordering. This provides a way for other loop passes to simplify new uses of induction variables created during transformation. The utility may be used by any pass that preserves ScalarEvolution. Soon LoopUnroll will use it. The net effect in this checkin is to cleanup the IndVarSimplify pass by factoring out the SimplifyIndVar algorithm into a standalone utility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137197 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
2d31ae3d9dfb153f081a5521374b2b42befd50a1 |
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Cleanup. Added LoopBlocksDFS::perform for simple clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137195 91177308-0d34-0410-b5e6-96231b3b80d8
oopIterator.h
|
306afdf443a0e2d5d89c1a3ece00cfe18be1c4c4 |
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Cleanup. Avoid relying on specialization of std::distance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137191 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b1eede12818d91a32adac928c6fffcf6d2800dc0 |
10-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Fix the LoopUnroller to handle nontrivial loops and partial unrolling. These are not individual bug fixes. I had to rewrite a good chunk of the unroller to make it sane. I think it was getting lucky on trivial completely unrolled loops with no early exits. I included some fairly simple unit tests for partial unrolling. I didn't do much stress testing, so it may not be perfect, but should be usable now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137190 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
48d726fbce7a70a2f5d7752c883731efe1e5e1c9 |
09-Aug-2011 |
Devang Patel <dpatel@apple.com> |
Provide method to print variable's extended name which includes inline location. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137095 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
4147f39769d404cab02da4beea852ad2600dadbb |
05-Aug-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Temporarily revert r135528 which distinguishes between two copies of one inlined variable, based on the discussion in PR10542. This explodes the runtime of several passes down the pipeline due to a large number of "copies" remaining live across a large function. This only shows up with both debug and opt, but when it does it creates a many-minute compile when self-hosting LLVM+Clang. There are several other cases that show these types of regressions. All of this is tracked in PR10542, and progress is being made on fixing the issue. Once its addressed, the re-instated, but until then this restores the performance for self-hosting and other opt+debug builds. Devang, let me know if this causes any trouble, or impedes fixing it in any way, and thanks for working on this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136953 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0712108d22d5fdc5ea447ef701d843b25bd52d10 |
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Reverting r136884 updateUnloop, which crashed a linux builder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136857 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
762797d1af1b9308c79982aedd9bd2f585f46171 |
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
An algorithm for incrementally updating LoopInfo within a LoopPassManager. The incremental update should be extremely cheap in most cases and can be used in places where it's not feasible to regenerate the entire loop forest. - "Unloop" is a node in the loop tree whose last backedge has been removed. - Perform reverse dataflow on the block inside Unloop to propagate the nearest loop from the block's successors. - For reducible CFG, each block in unloop is visited exactly once. This is because unloop no longer has a backedge and blocks within subloops don't change parents. - Immediate subloops are summarized by the nearest loop reachable from their exits or exits within nested subloops. - At completion the unloop blocks each have a new parent loop, and each immediate subloop has a new parent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136844 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
fbfb806e3fe697fd8ee2a59f8fd3e0790ccf0d3c |
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136840 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
5207936a24ab9e0bfaa10e798625df65143e3716 |
04-Aug-2011 |
Andrew Trick <atrick@apple.com> |
An interface for iterating over a loop's blocks in DFS order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136838 91177308-0d34-0410-b5e6-96231b3b80d8
oopIterator.h
|
8ea45231dc6c30d0c4a55ce038a08edccc308a73 |
03-Aug-2011 |
Jakub Staszak <jstaszak@apple.com> |
Add more constantness in BlockFrequencyInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136816 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyInfo.h
|
1009c3299be8c147ecd3fbd2d75ba1bafb2c84b1 |
03-Aug-2011 |
Andrew Trick <atrick@apple.com> |
SCEV: Use AssertingVH to catch dangling BasicBlock* when passes forget to notify SCEV of a change. Add forgetLoop in a couple of those places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136797 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
fcb4356dee96563def584fe38eeafb3eb63c5cd8 |
02-Aug-2011 |
Andrew Trick <atrick@apple.com> |
Use consistent terminology for loop exit/exiting blocks. Name change only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136677 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
e2481ff8ee722e25d1e3aa192b276f9b5be5b177 |
01-Aug-2011 |
Jakub Staszak <jstaszak@apple.com> |
Add BlockFrequency::getEntryFrequency() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136618 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
6f6baf1bdd7531da5ddb925ffcfcf38724e9e4aa |
29-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Add more constantness in BranchProbabilityInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136502 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
55ba816883842e793cdeb32fcb805c4e011b527f |
29-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be working on x86 (at least for trivial testcases); other architectures will need more work so that they actually emit the appropriate instructions for orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC, Mips, and Alpha backends need such changes.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136457 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
7f1cce55b5da7ef53269426e3c64586177384dca |
28-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
If run with -debug give more information about Cyclic Probability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136403 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
af7a46d5a6fa1e6dac1d83f38ba9823bea3870b6 |
28-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Fix stupid mistake from commit 136381. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136384 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
2f9427c6a3ce9badd04b00de778ab6af3c3c88d6 |
28-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Speed up BlockFrequencyInfo a little bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136381 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
9a24f1f070f7a9e18f7fc46214c2f2d0a38ab0f9 |
28-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Use BlockFrequency instead of uint32_t in BlockFrequencyInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136278 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
lockFrequencyInfo.h
|
9d9f76551977e57dc765f691be6411bc3edd0361 |
27-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Edge to itself is backedge as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136219 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
8a552bb85a5e9a6c250c0a899941fbd3ae7b5006 |
27-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc mid-level changes for new 'fence' instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136205 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
6f3ba37ebb06de206c74d73c7c2b422cca28a16d |
27-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix AliasSetTracker so that it doesn't make any assumptions about instructions it doesn't know about (like the atomic instructions I'm adding). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136198 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
5116ff671f45d48594d11360e22991a7edb13862 |
26-Jul-2011 |
Andrew Trick <atrick@apple.com> |
SCEV: Added a data structure for storing not-taken info per loop exit. Added an interfaces for querying either the loop's exact/max backedge taken count or a specific loop exit's not-taken count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136100 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
f55c1c85881afd65647bde5346f64d9685235c7c |
25-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Rename BlockFrequency to BlockFrequencyInfo and MachineBlockFrequency to MachineBlockFrequencyInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135937 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequency.h
lockFrequencyImpl.h
lockFrequencyInfo.h
|
23f34f1c22db8df6e767a29365d668ac9ede112c |
22-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Allow getBlockFreq to return 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135742 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequency.h
lockFrequencyImpl.h
|
40c7e4142e2327a540eceb640392a6da4ccfb3bf |
21-Jul-2011 |
Devang Patel <dpatel@apple.com> |
There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135629 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c8fcfc9cd9c0940e8afdaba8b815f8f489b457ba |
20-Jul-2011 |
Devang Patel <dpatel@apple.com> |
Distinguish between two copies of one inlined variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135528 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
23336b449eee301f4c4dcabbd75dedf3c75c30fc |
19-Jul-2011 |
Devang Patel <dpatel@apple.com> |
Reapply r135457. This needs llvm-gcc change, that I forgot to check-in yesterday. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135504 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f51bb7cef8b0aa25506308c2ec0fcde58e1dc7ed |
19-Jul-2011 |
Bob Wilson <bob.wilson@apple.com> |
Revert "Make a provision to encode inline location in a variable. This will enable dwarf writer to easily distinguish between two instances of a inlined variable in one basic block." This reverts commit 9fec5e346efdf744b151ae6604f912908315fa7a. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135486 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
b9b54ebfed02f0654897d37e8a4448d3f8087558 |
19-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert SimplifyGEPInst to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135482 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
1d2f569c3428d70d0cf690c9adb459ad4a3ecff2 |
19-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135477 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
9fec5e346efdf744b151ae6604f912908315fa7a |
19-Jul-2011 |
Devang Patel <dpatel@apple.com> |
Make a provision to encode inline location in a variable. This will enable dwarf writer to easily distinguish between two instances of a inlined variable in one basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135457 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
onstantFolding.h
indUsedTypes.h
emoryBuiltins.h
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
12af93ae86cb4a517d1b67f9363fbf21f24f583b |
16-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Remove "LoopInfo.h" include from BranchProbabilityInfo.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135353 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
59a9dab4d8650d3408efa431907183e13b91867b |
16-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Add MachineBlockFrequency analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135352 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
|
d152d03a476b8d0d4b26577db26e2ba76034b0f3 |
16-Jul-2011 |
Andrew Trick <atrick@apple.com> |
Fix SCEVEXpander to handle arbitrary phi expansion. Includes two related bug fixes and corresponding assertions for uninitialized data and missing NULL check. Test cases will be included with the new LFTR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135333 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
fc6d3a49867cd38954dc40936a88f1907252c6d2 |
13-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135040 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
6d64a04a4d1c2f4f6f8877cc0811a4d4386e518f |
28-Jun-2011 |
Andrew Trick <atrick@apple.com> |
Cleanup. Fix a stupid variable name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133996 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
5e7645be4c9dd2193add44d30b5fef8036d7a3ce |
28-Jun-2011 |
Andrew Trick <atrick@apple.com> |
SCEVExpander: give new insts a name that identifies the reponsible pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133992 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
99e0b2a8df7e3a49c0e1edd250d17604fe2fb21c |
27-Jun-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move onlyUsedByLifetimeMarkers to ValueTracking so that it can be used by other passes as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133904 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
fa3f9c001fe771af7dfcd7663b9d5dc345649d43 |
25-Jun-2011 |
Devang Patel <dpatel@apple.com> |
Fix struct member's scope. Patch by Xi Wang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133828 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
66dddd1da3e036d05f94df82221a97b7d26e3498 |
24-Jun-2011 |
Jakub Staszak <jstaszak@apple.com> |
Calculate backedge probability correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133776 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequencyImpl.h
ranchProbabilityInfo.h
|
fd9533b4a35983d38804349efca8116788b311d9 |
23-Jun-2011 |
Jakub Staszak <jstaszak@apple.com> |
Missing files for the BlockFrequency analysis added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133767 91177308-0d34-0410-b5e6-96231b3b80d8
lockFrequency.h
lockFrequencyImpl.h
|
44eb49c2a191108df801977c8e3dc03466c6c02a |
23-Jun-2011 |
Jakub Staszak <jstaszak@apple.com> |
Introduce BlockFrequency analysis for BasicBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133766 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
4417e537b65c14b378aeca75b2773582dd102f63 |
21-Jun-2011 |
Andrew Trick <atrick@apple.com> |
IVUsers no longer needs to record the phis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133518 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
7cc2b07437a1243c33324549a1904fefc5f1845e |
16-Jun-2011 |
Jakub Staszak <jstaszak@apple.com> |
Introduce MachineBranchProbabilityInfo class, which has similar API to BranchProbabilityInfo (expect setEdgeWeight which is not available here). Branch Weights are kept in MachineBasicBlocks. To turn off this analysis set -use-mbpi=false. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133184 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
9fbd318d36e618fb08fb53bb48b7c848e617a8a7 |
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
The ARC language-specific optimizer. Credit to Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133108 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
a990e071f2f29ba326b97a4288207a2c406c5b66 |
15-Jun-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add "unknown" results for memdep, which mean "I don't know whether a dependence for the given instruction exists in the given block". This cleans up all the existing hacks in memdep which represent this concept by returning clobber with various unrelated instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133031 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
f289df2d9544bd3a0934651daa20e589544413ba |
11-Jun-2011 |
Andrew Trick <atrick@apple.com> |
Branch profiling: floating-point avoidance. Patch by: Jakub Staszak! Introduces BranchProbability. Changes unsigned to uint32_t all over and uint64_t only when overflow is expected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132867 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
e669d83a21d7ebf01d3c9e37a20c7348b5a77c11 |
09-Jun-2011 |
John McCall <rjmccall@apple.com> |
Teach the CallGraph to ignore calls to intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132797 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
9e76422b963a65f243fdbee0abed61068b82dd98 |
04-Jun-2011 |
Andrew Trick <atrick@apple.com> |
New BranchProbabilityInfo analysis. Patch by Jakub Staszak! BranchProbabilityInfo provides an interface for IR passes to query the likelihood that control follows a CFG edge. This patch provides an initial implementation of static branch predication that will populate BranchProbabilityInfo for branches with no external profile information using very simple heuristics. It currently isn't hooked up to any external profile data, so static prediction does all the work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132613 91177308-0d34-0410-b5e6-96231b3b80d8
ranchProbabilityInfo.h
|
1fc18d71deb0e23a9101c87bb7b1455098ce1c09 |
04-Jun-2011 |
Dan Gohman <gohman@apple.com> |
Fix BasicAA's recursion detection so that it doesn't pessimize queries in the case of a DAG, where a query reaches a node visited earlier, but it's not on a cycle. This avoids MayAlias results in cases where BasicAA is expected to return MustAlias or PartialAlias in order to protect TBAA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132609 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
da174c1d3b1fa31d7c5c47a645c66d600b4b7bd8 |
03-Jun-2011 |
Devang Patel <dpatel@apple.com> |
A typedef's context is not the same as type's context. It is the context of typedef decl itself. Use extra parameter to communicate this to DIBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132556 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
f85092c25525f75eef6982ffa40c9b48b87da987 |
20-May-2011 |
Andrew Trick <atrick@apple.com> |
indvars: Prototyping Sign/ZeroExtend elimination without canonical IVs. No functionality enabled by default. Use -disable-iv-rewrite. Extended IVUsers to keep track of the phi that represents the users' IV. Added the WidenIV transform to replace a narrow IV with a wide IV by doing a one-for-one replacement of IV users instead of expanding the SCEV expressions. [sz]exts are removed and truncs are inserted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131744 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
eea6c95d5d9f202ccb4e90995dc8a4a4c439cec3 |
13-May-2011 |
Julien Lerouge <jlerouge@apple.com> |
Fix a source of non determinism in FindUsedTypes, use a SetVector instead of a set. rdar://9423996 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131283 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
201e6cdc39d5dca4e70cdd331f6f5055b3af3534 |
12-May-2011 |
Devang Patel <dpatel@apple.com> |
Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name. s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131244 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
b11f80e94b590c90d07254dfa2406cf504e09cd3 |
12-May-2011 |
Devang Patel <dpatel@apple.com> |
Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131238 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
77a2c4c1e54b7e3c4815b276eb6a2d99a7621460 |
09-May-2011 |
Dan Gohman <gohman@apple.com> |
Change a few std::maps to DenseMaps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131088 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
f262e161612eb44b7bb3dd2008950be3e77b57dd |
05-May-2011 |
Hongbin Zheng <etherzhhb@gmail.com> |
Minor change: Fix the typo in RegionPass.h and RegionPass.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130920 91177308-0d34-0410-b5e6-96231b3b80d8
egionPass.h
|
194cfb08ffe5d1c6f457b8fd1d688540a29dfc75 |
02-May-2011 |
Duncan Sands <baldrick@free.fr> |
Forgot to commit the changes to this file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130695 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
4034e14985af013f71f7884fa275415a3be27778 |
28-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
teach GVN to widen integer loads when they are overaligned, when doing an wider load would allow elimination of subsequent loads, and when the wider load is still a native integer type. This eliminates a ton of loads on various benchmarks involving struct fields, though it is somewhat hobbled by clang not being very aggressive about field alignment. This is yet another step along the way towards resolving PR6627. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130390 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
7b5bd3724193b3a48e342301c1644a01a9e72f31 |
26-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Fix an off by one error while accessing complex address element of a DIVariable. This worked untill now because stars are aligned (i.e. num of complex address elments are always 0 or 2+ and when it is 2+ at least two elements are access together) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130225 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
1f821512fc1441480b3355305e0da5267073fe1c |
26-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Enhance MemDep: When alias analysis returns a partial alias result, return it as a clobber. This allows GVN to do smart things. Enhance GVN to be smart about the case when a small load is clobbered by a larger overlapping load. In this case, forward the value. This allows us to compile stuff like this: int test(void *P) { int tmp = *(unsigned int*)P; return tmp+*((unsigned char*)P+1); } into: _test: ## @test movl (%rdi), %ecx movzbl %ch, %eax addl %ecx, %eax ret which has one load. We already handled the case where the smaller load was from a must-aliased base pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130180 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
685501836bc60f53892854253b5bbea6c48b6d7f |
24-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
PR9214: Convert the DIBuilder API to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130086 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
ddcdcc88631c6bd4ad43d9198b98bc9a829be036 |
23-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove unused STL header includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130068 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
int.h
athProfileInfo.h
|
5e06bb83f4d7b1b86659ad851324350afb04f5b0 |
23-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Let front-end tie subprogram declaration with subprogram definition directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130028 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
e9db5e29e3af91eec572bfeb8dcec908213298b0 |
16-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Introduce support to encode Objective-C property information in debugging information generated for an interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129624 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
egionInfo.h
egionIterator.h
egionPass.h
|
562b84b3aea359d1f918184e355da82bf05eb290 |
11-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
Don't include Operator.h from InstrTypes.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
calarEvolution.h
|
9055ccdb6b33607e32ac83a8e9289fba44d1989a |
09-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
PR9604; try to deal with RAUW updates correctly in the AST. I'm not convinced it's completely safe to cache the AST across LICM runs even with this fix, but this fix can't hurt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129198 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
c9049a9ea8993e64b58c206fed6609a1415519f2 |
09-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a potentially serious bug in AliasSet::removeCallSite where we shrunk the list without updating the end iterator. By inspection, from PR9639. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129190 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
da19475328ece3da19437a2e9eef035dcafa2814 |
06-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Add support to encode function's template parameters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128947 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
1a8b9dd7fb945ab78232f3853219cc693bcb5fad |
05-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
remove postdom frontiers, because it is dead. Forward dom frontiers are still used by RegionInfo :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128943 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
egionInfo.h
|
cc5d992bc167ded99b039ed8fdde190a586a1562 |
04-Apr-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Region: Allow user control the printing style of the print function. Contributed by: etherzhhb@gmail.com git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128808 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
0d4b81519dc3f02bbebb4ecad86bfb590c4d1898 |
24-Mar-2011 |
Jay Foad <jay.foad@gmail.com> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128216 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
5fd5b125ff41088c005b7107e8cf92f281313040 |
18-Mar-2011 |
Andrew Trick <atrick@apple.com> |
Avoid creating canonical induction variables for non-native types. For example, on 32-bit architecture, don't promote all uses of the IV to 64-bits just because one use is a 64-bit cast. Alternate implementation of the patch by Arnaud de Grandmaison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127884 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
b12a754cce0c1d5542af605203a47820edba454d |
18-Mar-2011 |
Andrew Trick <atrick@apple.com> |
Added isValidRewrite() to check the result of ScalarEvolutionExpander. SCEV may generate expressions composed of multiple pointers, which can lead to invalid GEP expansion. Until we can teach SCEV to follow strict pointer rules, make sure no bad GEPs creep into IR. Fixes rdar://problem/9038671. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127839 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
3228cc259b5ca00e46af36da369a451f5736cbf4 |
14-Mar-2011 |
Andrew Trick <atrick@apple.com> |
Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrap properties. Added the self-wrap flag for SCEV::AddRecExpr. A slew of temporary FIXMEs indicate the intention of the no-self-wrap flag without changing behavior in this revision. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127590 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
291bb70d9348f8e80ec53a4c17c0464c0c8441bf |
02-Mar-2011 |
Duncan Sands <baldrick@free.fr> |
Remove DIFactory. Patch by Devang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126871 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e9e16c5f52c4a093f4de234d448cdebedab8938e |
01-Mar-2011 |
Devang Patel <dpatel@apple.com> |
Today, the language front ends produces llvm.dbg.* intrinsics, used to encode arguments' debug info, in order any way, most of the times. However, if a front end mix-n-matches llvm.dbg.declare and llvm.dbg.value intrinsics to encode debug info for arguments then code generator needs a way to find argument order. Use 8 bits from line number field to keep track of argument ordering while encoding debug info for an argument. That leaves 24 bit for line no, DebugLoc also allocates 24 bit for line numbers. If a function has more than 255 arguments then rest of the arguments will be ordered by llvm.dbg.* intrinsics' ordering in IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126793 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
c92383fd0d5ec4aea4745e04071fa61d1b24230a |
28-Feb-2011 |
Dan Gohman <gohman@apple.com> |
Delete the LiveValues pass. I won't get get back to the project it was started for in the foreseeable future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126668 91177308-0d34-0410-b5e6-96231b3b80d8
iveValues.h
asses.h
|
50d280c14ee1c25fc8e6cb6f59af44f754edce42 |
22-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Follow LLVM coding style. clang uses DBuilder, so it requries corresponding change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126231 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
dc8c3fdcf15a6fff6251a63869de718527c91940 |
19-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Provide enums to build complex address calucation expressions. (This is infact direct copy from DIFactory, which is disappearing soon.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125989 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
fc0569e55aade16aac6668b4fadbbdcaeb6f2537 |
15-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Move DbgInfoPrinter specific utlities inside DbgInfoPrinter.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125571 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
81a0dc911586c77421c2255aa417dc9b350b9e20 |
09-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
Teach instsimplify some tricks about exact/nuw/nsw shifts. improve interfaces to instsimplify to take this info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125196 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
4e8af6db184118638c21f713ad98e3292c6891c9 |
05-Feb-2011 |
Eric Christopher <echristo@apple.com> |
Rewrite how the indirect call bonus is handled. This now works by: a) Making it a per call site bonus for functions that we can move from indirect to direct calls. b) Reduces the bonus from 500 to 100 per call site. c) Subtracts the size of the possible newly inlineable call from the bonus to only add a bonus if we can inline a small function to devirtualize it. Also changes the bonus from a positive that's subtracted to a negative that's added. Fixes the remainder of rdar://8546196 by reducing the object file size after inlining by 84%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124916 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
e7d93877c6e7029d27bfd1c137fceb472f81f390 |
02-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Add support to describe template value parameter in debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124755 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
7e2cb116556e1153401cd6b94d0f51db978f6902 |
02-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Add support to describe template parameter type in debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124752 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
8e2da0ce9d70606e10889d17f481842586132d88 |
01-Feb-2011 |
Eric Christopher <echristo@apple.com> |
Reapply 124275 since the Dragonegg failure was unreproducible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124641 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
b476302b24f5fe89f8f68f616a3d234fc4b5ab25 |
29-Jan-2011 |
Bill Wendling <isanbard@gmail.com> |
This is #included by .c files. Remove C++-style comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124552 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoTypes.h
|
1fca2c32cc99197215d3fd32a4ad05214c74edd1 |
29-Jan-2011 |
Frits van Bommel <fvbommel@gmail.com> |
Move InstCombine's knowledge of fdiv to SimplifyInstruction(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124534 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
04317cc618aeae28910916469e074d8ce0fcaa03 |
29-Jan-2011 |
Andrew Trick <atrick@apple.com> |
Implementation of path profiling. Modified patch by Adam Preuss. This builds on the existing framework for block tracing, edge profiling and optimal edge profiling. See -help-hidden for new flags. For documentation, see the technical report "Implementation of Path Profiling..." in llvm.org/pubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124515 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
athNumbering.h
athProfileInfo.h
rofileInfoTypes.h
|
593faa53fa6d89841e601cc4571d143a6a05f0b4 |
28-Jan-2011 |
Duncan Sands <baldrick@free.fr> |
My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPEC benchmarks, and that it can be simplified to X/Y. (In general you can only simplify (Z*Y)/Y to Z if the multiplication did not overflow; if Z has the form "X/Y" then this is the case). This patch implements that transform and moves some Div logic out of instcombine and into InstructionSimplify. Unfortunately instcombine gets in the way somewhat, since it likes to change (X/Y)*Y into X-(X rem Y), so I had to teach instcombine about this too. Finally, thanks to the NSW/NUW flags, sometimes we know directly that "Z*Y" does not overflow, because the flag says so, so I added that logic too. This eliminates a bunch of divisions and subtractions in 447.dealII, and has good effects on some other benchmarks too. It seems to have quite an effect on tramp3d-v4 but it's hard to say if it's good or bad because inlining decisions changed, resulting in massive changes all over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124487 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
eabde0cf0798e36934ffd03b071f2bd490ac1f11 |
26-Jan-2011 |
Eric Christopher <echristo@apple.com> |
Temporarily revert 124275 to see if it brings the dragonegg buildbot back. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124312 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
5d83955b8c2bdca28d0a0c62a9d0f9bbd5a6d668 |
26-Jan-2011 |
Eric Christopher <echristo@apple.com> |
Separate out the constant bonus from the size reduction metrics. Rework a few loops accordingly. Should be no functional change. This is a step for more accurate cost/benefit analysis of devirt/inlining bonuses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124275 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
d70d1a5c44609af091f6fc3e29193f9f4756a74f |
25-Jan-2011 |
Duncan Sands <baldrick@free.fr> |
According to my auto-simplifier the most common missed simplifications in optimized code are: (non-negative number)+(power-of-two) != 0 -> true and (x | 1) != 0 -> true Instcombine knows about the second one of course, but only does it if X|1 has only one use. These fire thousands of times in the testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124183 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
0f13bc8c23f93b5c84a71d60a8dff0142a769224 |
24-Jan-2011 |
Eric Christopher <echristo@apple.com> |
Perhaps a bit too much vertical whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124148 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
bd1801b5553c8be3960255a92738464e0010b6f6 |
24-Jan-2011 |
Dan Gohman <gohman@apple.com> |
Give GetUnderlyingObject a TargetData, to keep it in sync with BasicAA's DecomposeGEPExpression, which recently began using a TargetData. This fixes PR8968, though the testcase is awkward to reduce. Also, update several off GetUnderlyingObject's users which happen to have a TargetData handy to pass it in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124134 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
55be644df6e8b8ba08ae789ee440c798f21974a0 |
23-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Convert a std::vector to a SmallVector for another 5.4% speedup on domtree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124065 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
54cdad97eb77caf841ade5827a1d5da6b2d89df3 |
23-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
In the simpler version of the link-eval data structure that we use in dominator computation, the Ancestor field is always set to the Parent, so we can remove the explicit link entirely and merge the Parent and Ancestor fields. Instead of checking for whether an ancestor exists for a node or not, we simply check whether the node has already been processed. This is simpler if Compress is inlined into Eval, so I did that as well. This is about a 3% speedup running -domtree on test-suite + SPEC2000 & SPEC2006, but it also opens up some opportunities for further improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124061 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
11e222da1fe498a3c528d197ab57982e3bb5762d |
23-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Remove useless struct fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124058 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
53e069ffab9ab055f20b5aa9ad54fecaa2612192 |
23-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Remove friend declaration for removed function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124057 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
907b56ce7ab26222fa128d5062f8dddf11c81603 |
23-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Convert a std::vector to a SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124055 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
5c96c69161aa4480c432027e363d0ea1aa34acee |
23-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Simplify some code now that we've removed the more optimal (but slower) version of the link-eval data structure from dominator computation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124053 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
5d2cf40c40d8c2763a0e5b53481063becdce6e30 |
18-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
There is no point in verifying an analysis that is never updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123743 91177308-0d34-0410-b5e6-96231b3b80d8
ominanceFrontier.h
|
72d1695f12b29dddac431f18e2592a8eeaf3796a |
18-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Remove some now-unused DominanceFrontier methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123726 91177308-0d34-0410-b5e6-96231b3b80d8
ominanceFrontier.h
|
0092b1142f5d35d204f35ec3cfe19d8de082400f |
16-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
remove the partial specialization pass. It is unmaintained and has bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123554 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
c43cee3fbb3098f0647e50dd2c13bc55b027a228 |
14-Jan-2011 |
Duncan Sands <baldrick@free.fr> |
Move some shift transforms out of instcombine and into InstructionSimplify. While there, I noticed that the transform "undef >>a X -> undef" was wrong. For example if X is 2 then the top two bits must be equal, so the result can not be anything. I fixed this in the constant folder as well. Also, I made the transform for "X << undef" stronger: it now folds to undef always, even though X might be zero. This is in accordance with the LangRef, but I must admit that it is fairly aggressive. Also, I added "i32 X << 32 -> undef" following the LangRef and the constant folder, likewise fairly aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123417 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
21d842c35326281798f685661b88dedcd09c13aa |
14-Jan-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add single entry / single exit accessors. Add methods for accessing the (single) entry / exit edge of a region. If no such edge exists, null is returned. Both accessors return the start block of the corresponding edge. The edge can finally be formed by utilizing Region::getEntry() or Region::getExit(); Contributed by: Andreas Simbuerger <simbuerg@fim.uni-passau.de> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123410 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
113328db1b6c71d6bb8f62ebef193efb1a44f1a4 |
11-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Put the Dominator improvements back in. They were not the cause of bootstrap miscomparisons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123273 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
cbf39b58919497f711de24fa687b044805f58ae7 |
11-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Speculatively revert the recent improvements to Dominators.h in an attempt to track down the gcc bootstrap miscompare. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123254 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
6038a6351e7a9601a1eb3ffe4623c424ae2c80a4 |
11-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
some comment improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123243 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
992efb03785f2a368fbb63b09373be1d6a96ce5a |
09-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
Step #2 to improve trip count analysis for loops like this: void f(int* begin, int* end) { std::fill(begin, end, 0); } which turns into a != exit expression where one pointer is strided and (thanks to step #1) known to not overflow, and the other is loop invariant. The observation here is that, though the IV is strided by 4 in this case, that the IV *has* to become equal to the end value. It cannot "miss" the end value by stepping over it, because if it did, the strided IV expression would eventually wrap around. Handle this by turning A != B into "A-B != 0" where the A-B part is known to be NUW. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123131 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
3a723ab344d9835506ed2b52a2ccd75078670fc7 |
09-Jan-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
DominatorTree->print() now prints the status of the DFSNumbers correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123120 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
2feee6454d4c9cbb3a104b0f593d31a91a14d15a |
08-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
fit in 80 cols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123085 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
c3942eb95d10fac62c6b5227f344bcda3f578077 |
08-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
make this file properly self contained. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123059 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
ab6acc6ecdc4585a55059e36d81481d1c26d3ff9 |
03-Jan-2011 |
Owen Anderson <resistor@mac.com> |
Stub out a new updating interface to AliasAnalysis, allowing stateful analyses to be informed when a pointer value has potentially become escaping. Implementations can choose to either fall back to conservative responses for that value, or may recompute their analysis to accomodate the change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122777 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
9ad1cb59deda265441c1614fee5ec7f7dea7625d |
03-Jan-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add spliceFunction to the CallGraph interface. This allows users to efficiently update a callGraph when performing the common operation of splicing the body to a new function and updating all callers (such as via RAUW). No users yet, though this is intended for DeadArgumentElimination as part of PR8887. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122728 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
9fc5cdf77c812aaa80419036de27576d45894d0d |
02-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
split dom frontier handling stuff out to its own DominanceFrontier header, so that Dominators.h is *just* domtree. Also prune #includes a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122714 91177308-0d34-0410-b5e6-96231b3b80d8
ominanceFrontier.h
ominators.h
oopInfo.h
ostDominators.h
|
86a582ddfb32816e8f0c3068e0765a1e3a364b50 |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Remove an unused member function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122693 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
94942cec11ba3dc2592d1195324d2315a58d7711 |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Fix a typo in a variable name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122691 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
63e07d72f8175cd2d74f0693edf1b0429580d64d |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Move a load into the only branch where it is used and eliminate a temporary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122690 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
2a8c22aa6824143fdf4c00d4486c65eca26f6c9f |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Add the explanatory comment from r122680's commit message to the code itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122689 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
19feb4ca8a804aeda650cb1f700a89c2f2324b77 |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Tidy up indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122688 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
a4d93162cbb95423a9c8f35e38747c08aa8a3516 |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Fix a typo, which should also fix the failure on llvm-x86_64-linux-checks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122687 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
c9e152b778715afc5cdfdb98cb0e98757ed827d8 |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Remove the #ifdef'd code for balancing the eval-link data structure. It doesn't compile, and everyone's tests have shown it to be slower in practice, even for quite large graphs. I also hope to do an optimization that is only correct with the simpler data structure, which would break this even further. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122684 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
8252ad1351594039fa5d6633ff3eef1bafb7fdf9 |
02-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Speed up dominator computation some more by optimizing bucket processing. When naively implemented, the Lengauer-Tarjan algorithm requires a separate bucket for each vertex. However, this is unnecessary, because each vertex is only placed into a single bucket (that of its semidominator), and each vertex's bucket is processed before it is added to any bucket itself. Instead of using a bucket per vertex, we use a single array Buckets that has two purposes. Before the vertex V with DFS number i is processed, Buckets[i] stores the index of the first element in V's bucket. After V's bucket is processed, Buckets[i] stores the index of the next element in the bucket to which V now belongs, if any. Reading from the buckets can also be optimized. Instead of processing the bucket of V's parent at the end of processing V, we process the bucket of V itself at the beginning of processing V. This means that the case of the root vertex can be simplified somewhat. It also means that we don't need to look up the DFS number of the semidominator of every node in the bucket we are processing, since we know it is the current index being processed. This is a 6.5% speedup running -domtree on test-suite + SPEC2000/2006, with larger speedups of around 12% on the larger benchmarks like GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122680 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
19f14dcf6af11b5520acfc5c2fd4100ec1972b44 |
28-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
Clarify that InstructionSimplify only returns values that dominate the original instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122601 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
9bc6a90146417af03144fa2f7dd94f9945b57c06 |
28-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
Small optimization to speed up replacementPreservesLCSSAForm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122600 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
a92ff91a967c63a2395a34c9e8331a7d50d6ab10 |
27-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
implement enough of the memset inference algorithm to recognize and insert memsets. This is still missing one important validity check, but this is enough to compile stuff like this: void test0(std::vector<char> &X) { for (std::vector<char>::iterator I = X.begin(), E = X.end(); I != E; ++I) *I = 0; } void test1(std::vector<int> &X) { for (long i = 0, e = X.size(); i != e; ++i) X[i] = 0x01010101; } With: $ clang t.cpp -S -o - -O2 -emit-llvm | opt -loop-idiom | opt -O3 | llc to: __Z5test0RSt6vectorIcSaIcEE: ## @_Z5test0RSt6vectorIcSaIcEE ## BB#0: ## %entry subq $8, %rsp movq (%rdi), %rax movq 8(%rdi), %rsi cmpq %rsi, %rax je LBB0_2 ## BB#1: ## %bb.nph subq %rax, %rsi movq %rax, %rdi callq ___bzero LBB0_2: ## %for.end addq $8, %rsp ret ... __Z5test1RSt6vectorIiSaIiEE: ## @_Z5test1RSt6vectorIiSaIiEE ## BB#0: ## %entry subq $8, %rsp movq (%rdi), %rax movq 8(%rdi), %rdx subq %rax, %rdx cmpq $4, %rdx jb LBB1_2 ## BB#1: ## %for.body.preheader andq $-4, %rdx movl $1, %esi movq %rax, %rdi callq _memset LBB1_2: ## %for.end addq $8, %rsp ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122573 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
bb89710dddf967199dfc56e8bf5d28b0003f2ee6 |
26-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
move isBytewiseValue out to ValueTracking.h/cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122565 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
df3ee64d791624bf28ac3e6820bf8fdd17f1bff1 |
22-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Constify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122447 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
82fdab335881cd90f8f7ab3ad1f1ca0bb3ee886a |
21-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
Pull a few more simplifications out of instcombine (there are still plenty left though!), in particular for multiplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122330 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
5034dd318a9dfa0dc45a3ac01e58e60f2aa2498d |
15-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Move Value::getUnderlyingObject to be a standalone function so that it can live in Analysis instead of VMCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121885 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
fea3b218d61708ea3577f4ef14c8f7677a94db95 |
15-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
Move Sub simplifications and additional Add simplifications out of instcombine and into InstructionSimplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121861 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
4a34cbd2b9ba9efcdab4c4e656df2d7bd22e2604 |
10-Dec-2010 |
Dan Gohman <gohman@apple.com> |
Introduce a new PartialAlias response for AliasAnalysis. For most AliasAnalysis consumers, PartialAlias will be treated as MayAlias. For AliasAnalysis chaining, MayAlias says "procede to the next analysis". PartialAlias will be used to indicate that the query should terminate, even though it didn't reach MustAlias or NoAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121507 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
44498a640daa827220bc4758770190318f0ec69f |
08-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Add support to create debug info for functions and methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121281 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
0a2551de2c61b372d45b236b413a5d2e15225c0f |
08-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Add support to create class type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121279 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
43c249cf1e417083ec8cbdfb4866a42861a7f638 |
08-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Add support to create vector, array, enums etc... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121224 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
94541efd9238ee0ab615d22dcd6182199490ae61 |
08-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Global variable does not need linkage name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121212 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
48f17ba2a611d197082d4de730b646a4ecf68df4 |
08-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Add support to create local variable's debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121211 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
fe58f95f3604b394916bee7bd289e1f0e0488ec5 |
08-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Add support to create variables, structs etc.. using DIBuilder. This is still work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121205 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
ebugInfo.h
|
cc10244d7725f191bdc91cd62befff0c97257c7b |
06-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
Fix PR8728, a miscompilation I recently introduced. When optimizing memcpy's like: memcpy(A, B) memcpy(A, C) we cannot delete the first memcpy as dead if A and C might be aliases. If so, we actually get: memcpy(A, B) memcpy(A, A) which is not correct to transform into: memcpy(A, A) This patch was heavily influenced by Jakub Staszak's patch in PR8728, thanks Jakub! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120974 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
72c194a8be83d217360ebc6b1f3ad21c5ffa16a9 |
06-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
add a helper method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120973 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
a04096580a65b6cfbe12dabf6d695f7303750c0d |
01-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
teach DSE to use GetPointerBaseWithConstantOffset to analyze may-aliasing stores that partially overlap with different base pointers. This implements PR6043 and the non-variable part of PR8657 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120485 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
ed58a6f96f605901adc0df3ca76499d52b2d1a1a |
30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
move GetPointerBaseWithConstantOffset out of GVN into ValueTracking.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120476 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
72851059224b90a3ae74ecd62fbd927a0c54a9f0 |
30-Nov-2010 |
Cameron Zwarich <zwarich@apple.com> |
Change the basic block map in LoopInfo from a std::map to a DenseMap. This is a 16% speedup running loops on test-suite + SPEC2000. Reviewed by Eric Christopher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120440 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
cf82dc376a11acb1b5d46d56c032bb0b9326c682 |
30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
Rewrite the main DSE loop to be written in terms of reasoning about pairs of AA::Location's instead of looking for MemDep's "Def" predicate. This is more powerful and general, handling memset/memcpy/store all uniformly, and implementing PR8701 and probably obsoleting parts of memcpyoptimizer. This also fixes an obscure bug with init.trampoline and i8 stores, but I'm not surprised it hasn't been hit yet. Enhancing init.trampoline to carry the size that it stores would allow DSE to be much more aggressive about optimizing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120406 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c413330c99a573ef3ffe80a46400b1d3eca2398d |
30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
death to extraneous \n's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120405 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
9dc9e81aa7412b329bbaf51a589a81475214802b |
30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
getLocationForDest should work for memset as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120380 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
1ab4285b721a412692e96a493ef4f2b9223902f9 |
30-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
clean up handling of 'free', detangling it from everything else. It can be seriously improved, but at least now it isn't intertwined with the other logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120377 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
1f6efa3996dd1929fbc129203ce5009b620e6969 |
29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Merge System into Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
IBuilder.h
calarEvolution.h
alueTracking.h
|
4cd2ad15b43f21d641330b4b09961af08646445e |
23-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Expand a little on the description of what InstructionSimplify does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120016 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
b9b369fa9983843c4ed77b3a35b6e9b7933955bb |
23-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Clarify that constant folding of instructions applies when all operands are constant. There was in fact one exception to this (phi nodes) - so remove that exception (InstructionSimplify handles this so there should be no loss). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120015 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
2974b6ffbcffcd7fb02958c7382edf45e4a30f14 |
23-Nov-2010 |
Cameron Zwarich <zwarich@apple.com> |
Optimize a common case in the Lengauer-Tarjan dominators algorithm. This gives a 9.7% speedup running domtree on test-suite. Reviewed by Chris Lattner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120003 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
16f7993e0df4bd0727f8535bd47a2776bec10545 |
21-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
the getLocationForSource/Dest methods can be static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119929 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
e90c5cb747631b315350e7ee7424048c7778bdf9 |
21-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
add "getLocation" method to AliasAnalysis for getting the source and destination location of a memcpy/memmove. I'm not clear about whether TBAA works on these, so I'm leaving it out for now. Dan, please revisit this when convenient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119928 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
f6f1f062cc8029aa75ca7d0e99fbc1e0b453d07e |
21-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
implement PR8576, deleting dead stores with intervening may-alias stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119927 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
3b0aed19f0f9ed62362c04f7e18e2ada686f4055 |
19-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Simplify, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119797 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
d0c6f3dafd7c3e9137d4e6415014c94137fcd3fc |
18-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Factor code for testing whether replacing one value with another preserves LCSSA form out of ScalarEvolution and into the LoopInfo class. Use it to check that SimplifyInstruction simplifications are not breaking LCSSA form. Fixes PR8622. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119727 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
a6d60ddbbb0c33690f7e89cad2b5e60cee84b89e |
18-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Document the units for the Size field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119711 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
9c9fcfc719158a46cb2e41b66d7dc1a63cd48d74 |
18-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Introduce memoization for ScalarEvolution dominates and properlyDominates queries, and SCEVExpander getRelevantLoop queries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119595 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
|
56a756821842678a96f2baa8c6a53bd28fc2b69e |
18-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Factor out the code for purging a SCEV from all the various memoization maps. Some of these maps may merge in the future, but for now it's convenient to have a utility function for them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119587 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
714b5290b04e08570dae4304c1c92d30c06d3c99 |
18-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Merge the implementations of isLoopInvariant and hasComputableLoopEvolution, and memoize the results. This improves compile time in code which highly complex expressions which get queried many times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119584 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
4ce32db913beb6ae27df2fa0a9db5d68fd4889d2 |
17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperand to ScalarEvolution. Delete SCEV::~SCEV. SCEV is no longer virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119578 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
dc0e8fb9f9512622f55f73e1a434caa5c0915694 |
17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Move SCEV::dominates and properlyDominates to ScalarEvolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119570 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
17ead4ff4baceb2c5503f233d0288d363ae44165 |
17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be member functions of ScalarEvolution, in preparation for memoization and other optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119562 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
203a7239ae928568fe7a34c03ead4b1b3133870e |
17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Verify SCEVAddRecExpr's invariant in ScalarEvolution::getAddRecExpr instead of in SCEVAddRecExpr's constructor, in preparation for an upcoming change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119554 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
7c0fd8eb724a7228a6cf7e3e5487614c25202a91 |
17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Fix ScalarEvolution's range memoization to avoid using a default ctor with ConstantRange. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119550 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
2b749870d0488c3b049edf5d0c8875f56f5b1bed |
17-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Move some those Xor simplifications which don't require creating new instructions out of InstCombine and into InstructionSimplify. While there, introduce an m_AllOnes pattern to simplify matching with integers and vectors with all bits equal to one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119536 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
d261dc650a01ac5c51ab10f97f1e35aa6a770721 |
17-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Previously SimplifyInstruction could report that an instruction simplified to itself (this can only happen in unreachable blocks). Change it to return null instead. Hopefully this will fix some buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119490 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
6678e7b6eb534b43b92105076e6d0553e5cf7def |
17-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Memoize results from ScalarEvolution's getUnsignedRange and getSignedRange. This fixes some extreme compile times on unrolled sha512 code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119455 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1845009290e4d804ad377927bd8a08cca3036adc |
16-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
In which I discover the existence of loops. Threading an operation over a phi node by applying it to each operand may be wrong if the operation and the phi node are mutually interdependent (the testcase has a simple example of this). So only do this transform if it would be correct to perform the operation in each predecessor of the block containing the phi, i.e. if the other operands all dominate the phi. This should fix the FFMPEG snow.c regression reported by İsmail Dönmez. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119347 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
eff0581583ef10e2872e9baf537a04b67d992101 |
14-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
If dom tree information is available, make it possible to pass it to get better phi node simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119055 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
12a86f5b3199e72e6d967781acc76340f5920e46 |
14-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119038 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
6d8eb156e6be727570b300bac7712f745a318c7d |
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add helper functions for computing the Location of load, store, and vaarg instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118845 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
8e78cc4e130a8773cc8a2be2a94c4a97317ac383 |
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118799 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
17e8078ae14ed71f657d59c77efa3bedf171161a |
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add brief doxygen comments for AliasResult enum values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118792 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
ec9b4ac914e91791c580148cf8068c82d4b2cb91 |
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Set NonLocalDepInfo's Size field to UnknownSize when invalidating it, so that it doesn't appear to be a known size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118748 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
62367045a493f9bffa433e34b68fc7dda96e1edd |
10-Nov-2010 |
Devang Patel <dpatel@apple.com> |
Take care of special characters while creating named MDNode name to hold function specific local variable's info. This fixes radar 8653152. I am checking in testcase as a separate check-in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118726 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
075fb5d68fcb55d26e44c48f07dfdbbfa21ccb2a |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Enhance GVN to do more precise alias queries for non-local memory references. For example, this allows gvn to eliminate the load in this example: void foo(int n, int* p, int *q) { p[0] = 0; p[1] = 1; if (n) { *q = p[0]; } } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118714 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
emoryDependenceAnalysis.h
|
e88ccb545d0e03fd4445d361100fc95f350c6663 |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Rename AccessesArguments and AccessesArgumentsReadonly, and rewrite their comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118696 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
b395e4a0262c36b17b18aa33514b2daf2a85e9a3 |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Fix a copy+pasto Duncan noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118693 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
68a6056dafd4913ce42606353ab1ff7208215ff2 |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add a doesAccessArgPointees helper function, and update code to use it, and to be consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118692 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
432d08cbdb9ceaa333f1d6eab4f8b542fdddf9db |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Factor out the code for testing whether a function accesses arbitrary memory into a helper function, and adjust some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118687 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
50bcaece670fea4c936c6730fab9f4d869d2ec67 |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Give NonLocalDepResult a NonLocalDepEntry member, replacing indivudal members holding the same data, to clarify the relationship between NonLocalDepResult and NonLocalDepEntry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118686 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
42c31a70735e55bf82e66a9315c97d1821c9a798 |
10-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis chaining and simplify FunctionAttrs' GetModRefBehavior logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118660 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
50a04d067f8803d52cababdabe5c188844c5c210 |
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Convert comments to doxygen syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118628 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
4a53f37a1af2eb68a8153ba7c14321f41653a7a6 |
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
AccessesArgumentsReadonly is read-only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118615 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
db78c4873ea8c4b3dce90d761a1ad59d5bcdd6e7 |
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add a AccessesArgumentsReadonly ModRefBehavior value, so that the intrinsic property IntrReadArgMem can be modeled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118614 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
467a0adfc8b6bd4b114e024c200c159497a4cd86 |
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Factor out the logic for onlyReadsMemory into a helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118611 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
7293ac12811c8a43023830380e70c0fda941f8ec |
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Delete AccessesArgumentsAndGlobals, which was unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118610 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
902da265f684b00b76c669c2a7cbc0f209cda187 |
09-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add some comments noting some correspondences between ModRefBehavior values, LLVM IR function attributes, and LLVM intrinsic attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118455 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
2c4c6a5e8a17909af336e3cba3d71ac354d7d9b6 |
08-Nov-2010 |
Devang Patel <dpatel@apple.com> |
Document parameters. Fix typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118424 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
a25e5dbcc2371352386a01e3c1b8e76dd890272b |
08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Extend the AliasAnalysis::pointsToConstantMemory interface to allow it 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118412 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
c80cbf25402e4095fafbb15a2ab1b81cf6feda77 |
08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Delete getIntrinsicModRefBehavior. Clients can just use the normal getModRefBehavior now, since it now understands intrinsics as well as normal functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118411 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
6c25c920e66aa2d8f6b48454bc9770087ff7939a |
08-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118408 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
35fcd6557f53aab69c2990b80fed4653fbaa3473 |
04-Nov-2010 |
Devang Patel <dpatel@apple.com> |
Introduce DIBuilder. It is intended to be a front-end friendly interface to emit debuggging information entries in LLVM IR. To create debugging information for a pointer, using DIBUilder front-end just needs DBuilder.CreatePointerType(Ty, Size); instead of DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_pointer_type, TheCU, "", getOrCreateMainFile(), 0, Size, 0, 0, 0, OCTy); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118248 91177308-0d34-0410-b5e6-96231b3b80d8
IBuilder.h
|
ab70ed41f344c04dabaf180c40f04827bc9c56b5 |
04-Nov-2010 |
Devang Patel <dpatel@apple.com> |
Add getFile() to get DIFile of a DIType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118247 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0e82ac07bc6e48cc343951a28e61bbf748690d6d |
29-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Simplify. - DIFile F = getFieldAs<DIFile>(6); - return F.getDirectory(); + return getFieldAs<DIFile>(6).getDirectory(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117662 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
fb9dce3806169b8de2e48ee999441f9e9a17949a |
28-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117601 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8f6a281e979df1578526fc8a72a3c1bd33aa3efa |
28-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Backward compatibility. Gracefully handle older versions of debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117595 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
bc2bb9bbd0610bc43f08be6678431148898591aa |
28-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Do not work too hard to find type's file info. There is a special field to record file info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117588 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
42d3a345754b216dec927252f136f1ae715710b2 |
28-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117586 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a514a4e17284617f7bff0ffa694d699da45fc882 |
28-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Do not rely on context to find file info. It is already provided as a separate field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117577 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f95a27192203e42f6d9c66a819f5b015f1a1d819 |
27-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Give a name to nameless argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117468 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a53fe6070cae7d2feccb542b8ba24b37d3fdd027 |
23-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
SmallVectorize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117213 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
65513605353c7e3ee8be6fc92892f257ad399d92 |
20-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add RegionPass support. A RegionPass is executed like a LoopPass but on the regions detected by the RegionInfo pass instead of the loops detected by the LoopInfo pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116905 91177308-0d34-0410-b5e6-96231b3b80d8
egionPass.h
|
db4708cf86cece22539ff022cc0601612dd02ead |
20-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Move NoAA out of BasicAliasAnalysis.cpp into its own file, now that it doesn't have a special relationship with BasicAliasAnalysis anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116876 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
asses.h
|
3da848bbda62b25c12335998aaa44ab361f0bf15 |
20-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r116831 and r116839, converting AliasAnalysis to use uint64_t, plus fixes for places I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116875 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
|
1db839e73471a40309c2c10873b67c3b5b1b7a7b |
19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Revert r116831 and r116839, which are breaking selfhost builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116858 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
|
9cb4c7f87876ec8212bd4fae059553fcaa83f484 |
19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Oops, check in all the files for converting AliasAnalysis to use uint64_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116839 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
|
081c34b725980f995be9080eaec24cd3dfaaf065 |
19-Oct-2010 |
Owen Anderson <resistor@mac.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
ntervalPartition.h
azyValueInfo.h
ibCallAliasAnalysis.h
oopDependenceAnalysis.h
oopInfo.h
ostDominators.h
|
eee5400442e0812cb375ed5e17595a62f9240b80 |
19-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Make the representation of AliasSets explicitly differentiate between "not known yet" and "known no tbaa info" so that it can merge them properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116767 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
fb8096dee5df60f156e770b9f96f8417e9dbd4c9 |
18-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Don't pass the raw invalid pointer used to represent conflicting TBAA information to AliasAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116751 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
a8702eaf78e70e1eef8a63882ce97ae6d60edf5b |
18-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116743 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
e98fbba91f8806526cba67cb44c08a391b84a31f |
13-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove noisy semicolon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116407 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
b227930cd6850e4c47358e671dbe2cdacb430def |
13-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add Region::isTopLevelRegion(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116402 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
592316c4198023431799f8e597860b31ea7116c9 |
13-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegionInfo: Update RegionInfo after a BB was split. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116398 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
c69bd733c02a4e0ca25f7a2d6b9b05168720d373 |
13-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegioInfo: Add getExpandedRegion(). getExpandedRegion() enables us to create non canonical regions. Those regions can be used to define the largerst region, that fullfills a certain property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116397 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
4bcc0228dcc90385e90f22cef38b2614d3aa3cd1 |
13-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegionInfo: Allow to update exit and entry of a region. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116396 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
9649390e1fcb6d42e228364230f16409ad150fef |
13-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegionInfo: Enhance addSubregion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116395 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
9ee5c5077690a4de31e22bb9e135deb6da3f68fb |
13-Oct-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegionInfo: Allow to set the parent region of a basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116394 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
74fa7327d690e6ceda6ce77e4e5b8ef75cb12538 |
10-Oct-2010 |
Kenneth Uildriks <kennethuil@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116158 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
ca52c8ba12285c0e86f1b6d3b354342c59e2a416 |
08-Oct-2010 |
Kenneth Uildriks <kennethuil@gmail.com> |
Start separating out code metrics into code size metrics and code 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116057 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
7b172c6ae6c4fea90db785902b4326afb21ad584 |
08-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Provie a clearner interface so that FE can decide whether a function has prototype or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115988 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
d6747df5e0354256a9e440d38f21c0b3ca82af28 |
06-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Add support for DW_TAG_unspecified_parameters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115833 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
14e8190f4329bc0ea4d8813da7486d3e05affc7c |
06-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Constify isReachableFromEntry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115788 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
21ea1d5b4cad8c8dee1288453f797572766c94d8 |
02-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Add support to let FE mark explict methods as explict in debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115378 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3cf763dc7a9741c14432710943ab66b439562881 |
30-Sep-2010 |
Devang Patel <dpatel@apple.com> |
Let FE mark a variable as artificial variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115102 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
1a30123b609d48ac50f9a9e088e55683df70cfc3 |
29-Sep-2010 |
Devang Patel <dpatel@apple.com> |
Add support to let FE encode method access specifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115089 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9dd2b47d444e310347debcac5cdddedbb22881e6 |
29-Sep-2010 |
Devang Patel <dpatel@apple.com> |
Generalize DISubprogram element to encode various flags instead of just one boolean for isArtificial. This is a backword compatible change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115084 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3c99c769eb8995ba25de21aa686b09e53d2a7bbe |
29-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
remove PointerTracking from mainline, Edwin is going to move it out to ClamAV for LLVM 2.9 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115062 91177308-0d34-0410-b5e6-96231b3b80d8
ointerTracking.h
|
1a7ca0354a44e321d5f4839a73239e6eaec54ad5 |
28-Sep-2010 |
Devang Patel <dpatel@apple.com> |
Provide an interface to let FEs anchor debug info for types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114969 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e6098b620531e77b732accbcc21007abd5df927e |
27-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Constify properlyDominates in the same manner as dominates. Add constified overloads for findNearestCommonDominator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114834 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4c6809d8e38b9690898700085ebbd913e035c2e2 |
27-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Remove WriteGraph's Name argument, which it didn't use, and rename writeHeader's Name argument to Title, to be consistent with WriteGraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114829 91177308-0d34-0410-b5e6-96231b3b80d8
OTGraphTraitsPass.h
|
429c75b8654b0d1069f1897375f5801a4c5de017 |
25-Sep-2010 |
Oscar Fuentes <ofv@wanadoo.es> |
Avoid warnings about implicit conversions to `bool' in MSVC. This time for real. Patch by Nathan Jeffords! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114796 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
bea77bb6e82e7f7feae71b2cafea4f6a9f6098c0 |
23-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Fix uninitialized TBAAFlag field values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114591 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c1ac0d7623f4f2047b4ab86bd5a60a9e19432b38 |
22-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Teach memdep about TBAA tags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114588 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
ba6ca6dd3bc4a7f30e07010c3b0b95cced719f76 |
22-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Constify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114574 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
9f27074f42f03af640977006dc7c05005fb77991 |
21-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Add some utility routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114483 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
28b4afc10396abaffea9035cfb752f9858f04846 |
21-Sep-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make CreateComplexVariable independent of SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114439 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ead0109f5bc010af837d0fa7c9bb2401b34fb29d |
17-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Add a pass which prints out all the memdep dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114121 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
4e282decf3960bfa6b1fe3fd77bb51ff96121515 |
16-Sep-2010 |
Owen Anderson <resistor@mac.com> |
Revert r114097, adding back in the assertion against replacing an 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114117 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
b2143b6247901ae4eca2192ee134564c4f5f7853 |
14-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Remove the experimental AliasAnalysis::getDependency interface, which isn't a good level of abstraction for memdep. Instead, generalize AliasAnalysis::alias and related interfaces with a new Location class for describing a memory location. For now, this is the same Pointer and Size as before, plus an additional field for a TBAA tag. Also, introduce a fixed MD_tbaa metadata tag kind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113858 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
ibCallAliasAnalysis.h
ibCallSemantics.h
|
e2d50046fd29cb3eb2483e080cb7c39b460fbb19 |
11-Sep-2010 |
Gabor Greif <ggreif@gmail.com> |
typoes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113647 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
f9a26b89f8815651048ed5518d99b484ac7c2ba0 |
09-Sep-2010 |
Owen Anderson <resistor@mac.com> |
What the loop unroller cares about, rather than just not unrolling loops with calls, is not unrolling loops that contain calls that would be better off getting inlined. This mostly comes up when an interleaved devirtualization pass has devirtualized a call which the inliner will inline on a future pass. Thus, rather than blocking all loops containing calls, add a metric for "inline candidate calls" and block loops containing those instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113535 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
|
c8ddbdabb697b20b948c1a56af6062f26691532a |
09-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Extend the getDependence query with support for PHI translation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113521 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
c48bf0c39451befa74b1091be2546760c72c1c91 |
09-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Fix this comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113511 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
082bf2a977b6bb91d61ac5155e1906ecc6ba47bf |
09-Sep-2010 |
Owen Anderson <resistor@mac.com> |
Refactor code-size reduction estimation methods out of InlineCostAnalyzer and into CodeMetrics. They don't use any InlineCostAnalyzer state, and are useful for other clients who don't necessarily want to use all of InlineCostAnalyzer's logic, some of which is fairly inlining-specific. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113499 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
65924111bf648db8f20599f485be918c7aa1e7ef |
08-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Add a new experimental generalized dependence query interface to AliasAnalysis, and some code for implementing the new query on top of existing implementations by making standard alias and getModRefInfo queries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113329 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
fa6cb8d8211579f1370e80b7bac54ebe3fbe35c8 |
07-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Tidy up the getModRefInfo declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113275 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
adc799112dc180b3cd099038c05101b85d217716 |
06-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
pull a simple method out of LICM into a new Loop::hasLoopInvariantOperands method. Remove a useless and confusing Loop::isLoopInvariant(Instruction) method, which didn't do what you thought it did. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113133 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
191bd64a39490fa75d35b9aaecdd57b00c7a8b5f |
01-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Revert 112442 and 112440 until the compile time problems introduced by 112440 are resolved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112692 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
39429e2b5175d3f34c2a1cc693fefd9a4fc6919e |
31-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Update the descriptions of NoModRef and ModRef to be consistent with the descriptions of Mod and Ref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112557 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
cb7f65342291caa3636cb50c0ee04b383cd79f8d |
29-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
two changes: 1) make AliasSet hold the list of call sites with an assertingvh so we get a violent explosion if the pointer dangles. 2) Fix AliasSetTracker::deleteValue to remove call sites with by-pointer comparisons instead of by-alias queries. Using findAliasSetForCallSite can cause alias sets to get merged when they shouldn't, and can also miss alias sets when the call is readonly. #2 fixes PR6889, which only repros with a .c file :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112452 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
eaa40ff74e41176250bd6b50116ab03b0c596d5e |
29-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make IVUsers iterative instead of recursive. This has the side effect of reversing the order of most of IVUser's results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112442 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
e8ac3f3be4b4df619368bf46aa4ed91557b5f76e |
27-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Switch ScalarEvolution's main Value*->SCEV* map from std::map to DenseMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112281 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
2177a04e24b8ed8a922c5cd7ad27463de85a47d2 |
25-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Fix header define to reflect the name of the file. Patch by Adam Treat! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112077 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
0c4720c6bdf517d02aaf71d90c0572a5aa4813bc |
23-Aug-2010 |
Devang Patel <dpatel@apple.com> |
Handle qualified constants that are directly folded by FE. PR 7920. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111820 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a3833f18bf897598121ecfb0377f1931d8e03d21 |
21-Aug-2010 |
Dan Gohman <gohman@apple.com> |
CreateTemporaryType doesn't needs its Context argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111687 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
489b29b0a4ee4526e3d50ad88d3d48745baf5042 |
21-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Introduce a new temporary MDNode concept. Temporary MDNodes are not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111681 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
30963fbe8fa0ba3a4cc35c7c6e8f24c772f1b40c |
19-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
move gep decomposition out of ValueTracking into BasicAA. The form of decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111433 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
4ae56d725d25020106d8056c09b19319a4c49e93 |
18-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. The form of", it doesn't pass tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111385 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
00ac77ef886f57bd421341d717849695e5fde474 |
18-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111382 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
6b63037306c5c3dc9bf719a34243de5045a949da |
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
move gep decomposition out of ValueTracking into BasicAA. The form of decomposition that it is doing is very basicaa specific and is only used by basicaa. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111375 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
7d0e3c01f35fae3c448761c21477faa622872044 |
16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Revert r111031. The way LLVM defines loop invariance, the property of an expression being loop invariant is not equivalent to the property of properly dominating the loop header. Other optimizations have also made this optimization less important. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111160 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
081ad68e687b24dd102ed890bae1e10d8d284cef |
16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Placate overzealous compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111152 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
2f199f9952b9dd62b5a0d0f4350b8fa780ebb9cc |
16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Move SCEVNAryExpr's virtual member functions out of line, and convert them to iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
aadb5f5adbdb650c5cdc5ece939aaa30af91b3bc |
16-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Specialize FoldingSetTrait<SCEV>, providing implementations of node comparison and hash computation which don't require constructing temporary ID values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111131 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
ef0bedaba7c1466af4275e720a73f3421b9b5631 |
13-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Implement hasComputableLoopEvolution for Add, Mul, and Trunc operators, since they can support trivial implementations. This avoids potentially expensive traversals of the operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111031 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
bd4d66d56a4e761a206dac14ccff4d37139d9ad9 |
11-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make LoopPass::getContainedPass return a LoopPass* instead of a Pass* and remove casts from all its callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110848 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
af08a36bd6b9d32a5ea993849d43094fecbd5bed |
11-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Rename and reorder the arguments to isImpliedCond, for consistency and clarity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110750 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
6bf058c9aa59ec7893f9f3493daf9e6531699ce2 |
10-Aug-2010 |
Devang Patel <dpatel@apple.com> |
Add missing argument. CreateCompositeTypeEx() users, please verify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110717 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2739896cdd3c987de3d7f9a41217b4b954287c8d |
09-Aug-2010 |
Devang Patel <dpatel@apple.com> |
Refactor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8d570bf8e9eb41e2f1c283bd67cc58514b0c429a |
07-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Remove assignPassManager's default arguments. It's really confusing to have different arguments for the same virtual function at different levels of the class hierarchy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110500 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
4bdeede8c7ea307b3f6192ec4f425debda948998 |
07-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Tidy up PMStack. Add a bunch of consts, use std::vector instead of std::deque, since this is a stack and only supports push/pop on one end, and remove an unimplemented declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110495 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
OTGraphTraitsPass.h
ominators.h
indUsedTypes.h
ntervalPartition.h
azyValueInfo.h
ibCallAliasAnalysis.h
oopDependenceAnalysis.h
oopInfo.h
oopPass.h
asses.h
ostDominators.h
|
e26a7b5e21a49543a727b1b2524a934e73c89772 |
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Implement a proper getModRefInfo for va_arg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110458 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
13214eb8ccaef26d9f5ad79a702f4b196d357537 |
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110426 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
OTGraphTraitsPass.h
ominators.h
indUsedTypes.h
ntervalPartition.h
azyValueInfo.h
ibCallAliasAnalysis.h
oopDependenceAnalysis.h
oopInfo.h
oopPass.h
asses.h
ostDominators.h
|
cb74993bdc37681ddbb80fa361575107afae1350 |
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make AA private, since subclasses shouldn't (aren't don't) access it directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110398 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
OTGraphTraitsPass.h
ominators.h
indUsedTypes.h
ntervalPartition.h
azyValueInfo.h
ibCallAliasAnalysis.h
oopDependenceAnalysis.h
oopInfo.h
oopPass.h
asses.h
ostDominators.h
|
f66514ad3a0ae72b5ab27d55381f699880534bec |
05-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Delete obsolete comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110277 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
e89652ccad7b2685387a8327961a46f8bac0978b |
04-Aug-2010 |
Torok Edwin <edwintorok@gmail.com> |
Add a missing function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110195 91177308-0d34-0410-b5e6-96231b3b80d8
ointerTracking.h
|
a41af344c2964573318a77e2b43eafd4d3804003 |
04-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Remove PointerAccessInfo, which nothing was using. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110167 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
79fca6fea87be7221843031870bbf2c9ae1fc555 |
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Thread const correctness through a bunch of AliasAnalysis interfaces and eliminate several const_casts. Make CallSite implicitly convertible to ImmutableCallSite. Rename the getModRefBehavior for intrinsic IDs to getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite, which happens to be implicitly convertible to bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110155 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
ibCallAliasAnalysis.h
ibCallSemantics.h
|
e53e3772f3c8b4cba69b7d77c8b2148a080fe9ae |
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Update some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110092 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
ef1cfac9e50def9097cd3e3ab3c5cad7f4c758cc |
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Introduce a symbolic constant for ~0u for use with AliasAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110091 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
847a84efd23a2c7d90429b82f6e0f19d1f913d9a |
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Add a convenient form of AliasAnalysis::alias for the case where the sizes are unknown. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110090 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
ab37f50838350e1104579fbd1f7c8820473485a5 |
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Make SCEVUnknown a CallbackVH, so that it can be notified directly of Value deletions and RAUWs, instead of relying on ScalarEvolution's Scalars map being notified, as that's complicated at best, and insufficient in general. This means SCEVUnknown needs a non-trivial destructor, so introduce a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110086 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
c182cb5784cfe557f3c8fa6cfb208c02d2ed42d5 |
03-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Sketch up a preliminary Type-Based Alias Analysis implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110077 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
5b164b5a5cab577fdfc21b22b78b3207dbcfbcf1 |
03-Aug-2010 |
Devang Patel <dpatel@apple.com> |
Add explicit constructors. Patch by Renato Golin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110072 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
b2bdf941f66f367cfaed58497513238167910486 |
30-Jul-2010 |
Nick Lewycky <nicholas@mxc.ca> |
LibCallAliasAnalysis uses multiple inheritance, so it needs to implement getAdjustedAnalysisPointer. Part of a fix to PR7760. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109883 91177308-0d34-0410-b5e6-96231b3b80d8
ibCallAliasAnalysis.h
|
e6cbfa6b09e3e9ddf18449d1b64793e24af27c6b |
29-Jul-2010 |
Eric Christopher <echristo@apple.com> |
Speculatively revert r109705 since it seems to be causing some build bot angst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109718 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
c6743207e20904008d2de016adfa6b0a9355c0e7 |
29-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Factor out some of the code for updating old SCEVUnknown values, and extend it to handle the case where multiple RAUWs affect a single SCEVUnknown. Add a ScalarEvolution unittest to test for this situation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109705 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
dc7a235363166a61e81986c534fe11ceb44109fc |
28-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Add some extra friend declarations to fix a gcc-4.0 compile error. This is a temporary fix, until more elaborate changes are ready. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109593 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
f374ba2bcd3a3b993d6b3fcd9f70a29973f93175 |
28-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109565 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
0e6fcf4be360f5d73685c213e3b4af1bb9ce2b5d |
27-Jul-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
RegionInfo: Add getMaxRegionExit() getMaxRegionExit returns the exit of the maximal refined region starting at a specific basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109496 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
082d587d35a41ee06985d7867b72fb2632962281 |
27-Jul-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add function to query RegionInfo about loops. * contains(Loop), * getOutermostLoop() * Improve getNameStr() to return a sensible name, if basic blocks are not named. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109490 91177308-0d34-0410-b5e6-96231b3b80d8
egionInfo.h
|
ab28928fe276d20cf9533ae6b858497f835c7a53 |
27-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Use AssertingVH for InsertedValues and InsertedPostIncValues, to verify that the values they refer to aren't being deleted underneath them. Make sure these containters get cleared by clear(), which IndVarSimplify and LSR both use before deleting instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109478 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
cfa7fb6df5aaaf9e54fe97633167b44782224e45 |
26-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Add an initial implementation of LazyValueInfo updating for JumpThreading. Disabled for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109424 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
f8336a75c2cffe3a0b9aae5b67faf742754d7eb3 |
23-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Eliminate getCanonicalInductionVariableIncrement's last user and eliminate it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109270 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f96b0063674e6bf72da5429bd49097e33c2325c7 |
22-Jul-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add new RegionInfo pass. The RegionInfo pass detects single entry single exit regions in a function, where a region is defined as any subgraph that is connected to the remaining graph at only two spots. Furthermore an hierarchical region tree is built. Use it by calling "opt -regions analyze" or "opt -view-regions". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109089 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
egionInfo.h
egionIterator.h
egionPrinter.h
|
872814ae048df032bddf9299c850f5bda08299a9 |
21-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Disallow null as a named metadata operand. Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109028 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
6a0dc079efe7acf7e71cc4c0948fe814f35ba091 |
20-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Implement loop splitting analysis. Determine which loop exit blocks need a 'pre-exit' block inserted. Recognize when this would be impossible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108941 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
7c58dbd88c36c5d6c411ea6c046ddcff4c5841e9 |
20-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Make getOrInsertCanonicalInductionVariable guarantee that its result is a PHINode*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108852 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
0db42710693badaab808ccf8bcd265144ce8493d |
20-Jul-2010 |
Stuart Hastings <stuart@apple.com> |
Correct line info for declarations/definitions. Radar 8063111. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108784 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
92583187306cec18d73db362681ea4f8e2b41909 |
17-Jul-2010 |
Lang Hames <lhames@gmail.com> |
Switched to array_pod_sort as per Chris's suggestion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108616 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
60f422f894ae9aff2f508f34733be36f5a0ed20a |
17-Jul-2010 |
Lang Hames <lhames@gmail.com> |
LoopSplitter - intended to split live intervals over loop boundaries. Still very much under development. Comments and fixes will be forthcoming. (This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108615 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9a7b37b8a35e60494cde8b2bb6b6cab587836c7a |
16-Jul-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add dump() to DominanceFrontier git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108512 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
0764e39a921ae424e2ac8c7ba114b67040eba8f6 |
13-Jul-2010 |
Eric Christopher <echristo@apple.com> |
80-columns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108228 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
ebugInfo.h
ominatorInternals.h
|
6c507926532d609b1225c29878b37c562e4277f2 |
12-Jul-2010 |
Eric Christopher <echristo@apple.com> |
Remove tab characters and 80-col. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108127 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
7c71b81a4fccd236e191dbbd6926b35fb4ac9b1e |
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
fix clang selfhost issue (shadowing) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107970 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
e07c3c46d0b5adb7d7af876fd3ea3703aebc47c1 |
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
refactor type expressions and cache operator*'s result git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107964 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
8fe5ccc5850af3248992d182c5b7c079b50120fc |
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
two more cases of reuse result of operator*, found by inspection git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107961 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4fd6b397031d7b5baa01849c065ad7ef70882d83 |
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
another case of reuse result of operator*, it is expensive to recompute git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107960 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f6c166078f8f10006dcbdde081603eccccfcefbe |
09-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
reuse result of operator*, it is expensive to recompute git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107959 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
99cfb69f17ccf6dca7378fe6d1c60758e5cabd1f |
09-Jul-2010 |
Stuart Hastings <stuart@apple.com> |
Reverting r107918 and r107919. Radar 8063111. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107930 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c0e2639a3450e5cca5cd5082cef55a64bbd27ad4 |
09-Jul-2010 |
Stuart Hastings <stuart@apple.com> |
Fix decl/def debug info for template functions. Radar 8063111. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107919 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
da995609e6e963eaa77346d43b0a33b81e53a785 |
08-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
only dereference iterator once in the loop (by caching the result we save a potentially expensive dereference) also use typedefs to shorten type declarations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107883 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
2dac4c1b519feaf1ef63514f07fa16aa5dc7d89a |
08-Jul-2010 |
Duncan Sands <baldrick@free.fr> |
Use std::vector rather than SmallVector here because SmallVector causes some versions of gcc to crash when building LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107869 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
a0994b1a13ef3437f5442b9fec1750b150da175a |
08-Jul-2010 |
Duncan Sands <baldrick@free.fr> |
Do not use std::stack because it causes obscure failures when compiled with MSVC 2010 (PR7367). Instead use a SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107867 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
9e86f4364b912ae743490ba01d6989acfd12c046 |
07-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Remove interprocedural-basic-aa and associated code. The AliasAnalysis interface needs implementations to be consistent, so any code which wants to support different semantics must use a different interface. It's not currently worthwhile to add a new interface for this new concept. Document that AliasAnalysis doesn't support cross-function queries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107776 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
asses.h
|
43b8fd728b889f15ea4c65ca957a7420ce2905cd |
03-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Document that BasicAA respects noalias, while InterproceduralBasicAA does not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107546 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
541481f34c7ffd49c0b55b56eab3753fda17c3e5 |
02-Jul-2010 |
Dan Gohman <gohman@apple.com> |
Remove an unused enum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107507 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
6be2bd516a3022721480f8fee6986617baf0944f |
29-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Add an Intraprocedural form of BasicAliasAnalysis, which aims to properly handles instructions and arguments defined in different functions, or across recursive function iterations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107109 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
asses.h
|
8d121694a3eaf377e3229a7fa325e81e83cbb2fb |
28-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Generalize AAEval so that it can be used both per-function and interprocedurally. Note that as of this writing, existing alias analysis passes are not prepared to be used interprocedurally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107013 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
02680f946b8dcbeff3b8d7236030678551b15a6c |
23-Jun-2010 |
Gabor Greif <ggreif@gmail.com> |
minor enhancement to llvm::isFreeCall API: return CallInst; no functional change git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106686 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
605c14fb115e89a2bad97761ae57b55e8c28ffff |
23-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Replace ScalarEvolution's private copy of getLoopPredecessor with LoopInfo's public copy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106603 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
5cf27f81f49b4516b1e9d269f070c88fa3228f9e |
22-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Split out the code for finding a unique loop predecessor from getLoopPreheader into a separate function, for clients which don't require a proper preheader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106543 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
485c43fc478d5e16c55e14cb2586b56cc1c4c91f |
19-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Factor out duplicated code for reusing and inserting casts into a helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106388 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
3bf63768e574a2065de1aebba12f6c2e80f4fb16 |
18-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Revert r106304 (105548 and friends), which are the SCEVComplexityCompare optimizations. There is still some nondeterminism remaining. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106306 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
78db186d2dbaf4745f7e4beab4029db40856b54b |
18-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Reapply 105540, 105542, and 105548, and revert r105732. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106304 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
45934330150aecbc98c2d60fe7f17fa69e62ba71 |
18-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Don't bother calling releaseMemory before destroying the DominatorTreeBase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106287 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
07587a450044e32b791baa012032f1cb11bfed88 |
18-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Remove getIntegerSCEV; it's redundant with getConstant, and getConstant is more consistent with the ConstantInt API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106281 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
41f98a295affaca4455d180f0566335179f39fc3 |
17-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r106117, which was the result of me misreading the C++98/03 specification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106162 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
0964b4a3f554a4fe330464655c458ac8ae5deb13 |
16-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate a redundant "typename" keyword git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106117 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
215aa15a0d0df75af8d9cef6ef49026dcc3258a8 |
11-Jun-2010 |
Stuart Hastings <stuart@apple.com> |
Support for nested functions/classes in debug output. (Again.) Radar 7424645. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105828 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
1d451dff63e9c4241794a3645dfe4ee67efe5b22 |
09-Jun-2010 |
Evan Cheng <evan.cheng@apple.com> |
Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105740 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
42c7d23c6d56e0743169d94025264eaf17eb799d |
09-Jun-2010 |
Kenneth Uildriks <kennethuil@gmail.com> |
Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it can be reused from PartialSpecializationCost git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105725 91177308-0d34-0410-b5e6-96231b3b80d8
odeMetrics.h
nlineCost.h
|
fd447eff22637c3d47ce709468ab50b6243d0e4c |
07-Jun-2010 |
Dan Gohman <gohman@apple.com> |
The FoldingSet hash data includes pointer values, so it isn't determinstic. Instead, give SCEV objects an arbitrary sequence number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105548 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
4d52c6d622811d00d40b914a4ebd1996b1eed95d |
07-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Optimize ScalarEvolution's SCEVComplexityCompare predicate: don't go scrounging through SCEVUnknown contents and SCEVNAryExpr operands; instead just do a simple deterministic comparison of the precomputed hash data. Also, since this is more precise, it eliminates the need for the slow N^2 duplicate detection code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105540 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
6d56b9fabcfb1fc874a6122cf41d876c4673e9d4 |
05-Jun-2010 |
Stuart Hastings <stuart@apple.com> |
Revert 105492 & 105493 due to a testcase regression. Radar 7424645. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105511 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
25fcaff409f5c4c6da08f148ffb9404a71e8e4a7 |
05-Jun-2010 |
Dan Gohman <gohman@apple.com> |
LSR needs to remember inserted instructions even in postinc mode, because there could be multiple subexpressions within a single expansion which require insert point adjustment. This fixes PR7306. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105510 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
0f1b8135673f512b3373f3e1f16607f70537be72 |
05-Jun-2010 |
Stuart Hastings <stuart@apple.com> |
Support for nested functions/classes in debug output. Radar 7424645. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105492 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
dd9344f3face8f1978a7f9f393c31b628144d1f6 |
28-May-2010 |
Dan Gohman <gohman@apple.com> |
Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of lib/Transforms/Utils and into lib/Analysis so that Analysis passes can use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104949 91177308-0d34-0410-b5e6-96231b3b80d8
oads.h
|
dffc308c0e34617fe1ee686429f2146ff6170325 |
28-May-2010 |
Dan Gohman <gohman@apple.com> |
Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104947 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
a0f7ff334f86926356491ec78ab3066247dc93b1 |
27-May-2010 |
Dan Gohman <gohman@apple.com> |
Fix Lint printing warnings multiple times. Remove the ErrorStr option from lintModule, which was an artifact from being based on Verifier code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104765 91177308-0d34-0410-b5e6-96231b3b80d8
int.h
|
6ed0ce3240d13ff5bdb9520f8563792b58e5257a |
20-May-2010 |
Devang Patel <dpatel@apple.com> |
Rename variable. add comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104274 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
98e1cac52c0eb35fdf6608befd58a8d09d3459d6 |
14-May-2010 |
Devang Patel <dpatel@apple.com> |
Add support to preserve type info for the variables that are removed by the optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103798 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9a1581b9102511282ee823ab9a29819bc060e6a5 |
12-May-2010 |
Nick Lewycky <nicholas@mxc.ca> |
Clear CachedFunctionInfo upon Pass::releaseMemory. Because ValueMap will abort on RAUW of functions, this is a correctness issue instead of a mere memory usage problem. No testcase until the new MergeFunctions can land. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103653 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
a49d8772902c2a72c298952f633ab4224cf33add |
08-May-2010 |
Devang Patel <dpatel@apple.com> |
Remove DIGlobal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103325 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
47e2265a30d0a990839f81315ce6387c09d2c36b |
08-May-2010 |
Devang Patel <dpatel@apple.com> |
Add DINameSpace::Verify(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103318 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2be6e6d59c6778637266aed3a334f6c53de71fc7 |
08-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Clang is dying on this with an ambiguous conversion sequence. We're working on it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103312 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
02f0dbd97a9bc01528aa12c2f260d928683ab411 |
08-May-2010 |
Devang Patel <dpatel@apple.com> |
Verify variable directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103305 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e9f8f5e6004fd49f2aff4dd23db8e9b0e4454fc6 |
07-May-2010 |
Devang Patel <dpatel@apple.com> |
Wrap const MDNode * inside DIDescriptor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103295 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ebe57f1b30870d46b48bf3bb22d7a88c780e9848 |
07-May-2010 |
Devang Patel <dpatel@apple.com> |
remove DIDescriptor::getNode() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103278 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2db49d797b86b7f3615bae17b2b016727778a6c4 |
07-May-2010 |
Devang Patel <dpatel@apple.com> |
Avoid DIDescriptor::getNode(). Use overloaded operators instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103272 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ef0b14593bb8dd5651606925584adb1ac1096ba5 |
07-May-2010 |
Dan Gohman <gohman@apple.com> |
Add a simple module-level debug info printer. It just sets up a DebugInfoFinder and iterates over all the contents calling print. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103262 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
5374195cd74b481681f41d5e1b03e5ba69c9dad0 |
07-May-2010 |
Dan Gohman <gohman@apple.com> |
Const-ify some stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103256 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
504043662ced71235b7c7d4ae3ce3cee898cb391 |
07-May-2010 |
Dan Gohman <gohman@apple.com> |
Convert the DebugInfo classes dump() methods into print(raw_ostream &) methods, and add dump functions implemented in terms of the print. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103254 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
752e2590585227f6f10e80978f587915d9adb2ad |
01-May-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Added a variant of InlineCostAnalyzer::getInlineCost() that takes the called function as an explicit argument, for use when inlining function pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102841 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
ccff812777470d294b7d7407783ccb6111ca0d10 |
30-Apr-2010 |
Devang Patel <dpatel@apple.com> |
Attach AT_APPLE_optimized attribute to optimized function's debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102743 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5cc6f9ba4777a460d7036edbbb3e8f01fb0a3d32 |
30-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102731 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
22070e88f2550dc31f02273b3fa78e4e9847996b |
29-Apr-2010 |
Devang Patel <dpatel@apple.com> |
Missed earlier. This is part of previous check-in. (r102661 - refactor.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102662 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e979650fa5faf4b1253f623662a8d9c81a4a4fc3 |
24-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add a new utility function SimplifyICmpOperands. Much of this code is refactored out of ScalarEvolution::isImpliedCond, which will be updated to use this new utility routine soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102229 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
70745c661de12e3e5b7892776b190f2db703509b |
22-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
fix file header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102049 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
047542669a20505fc7c5f2d93caa5610aa3db2c5 |
20-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
move some select simplifications out out instcombine into inst simplify. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101873 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
8a39ed75ec57c7fabde318c0d45fac014ac287f4 |
20-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
make CallGraphNode dtor abort if a node is deleted when there are still references to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101847 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
c056454ecfe66f7c646fedef594f4ed48a9f3bf0 |
19-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Remove the Expr member from IVUsers. Instead of remembering the expression, just ask ScalarEvolution for it on demand. This helps IVUsers be more robust in the case of expressions changing underneath it. This fixes PR6862. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101819 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
b5f6af644ebe504479a74341ae8b0c706e7a5fcc |
17-Apr-2010 |
Dale Johannesen <dalej@apple.com> |
Add comment (lost when reverting and reapplying 101503). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101664 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
ab89ff78419cf0dfa6360c7b142b9fb1490866b7 |
17-Apr-2010 |
Dale Johannesen <dalej@apple.com> |
Reapply 101503+101520. These are "obviously correct" [Chris] and don't cause any problems on Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101584 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
5b13a1a4c3a90c1dfd4b5c2521b5900ff367b12c |
16-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Revert 101520, which depended on 101503, which was reverted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101528 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
f72a53db4453a45aca282bd13c1f2dbe40a08466 |
16-Apr-2010 |
Duncan Sands <baldrick@free.fr> |
Revert commit 101503 (johannes), in the hope of fixing the dragonegg build, see http://google1.osuosl.org:8011/builders/dragonegg-x86_64-linux/builds/693 Original commit text: Use a ValueMap not a std::map for the reason indicated in the comment. This was causing nondeterministic changes in inlining decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101525 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
899dd9be7fb91c089ef1ae20ef44b2a286433313 |
16-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Trim a #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101520 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
d4ed2a8636a1662cbf1e0f077083cf780344263e |
16-Apr-2010 |
Dale Johannesen <dalej@apple.com> |
Use a ValueMap not a std::map for the reason indicated in the comment. This was causing nondeterministic changes in inlining decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101503 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
52d55bd224ac08dfef959527ca8257f82a80dbb0 |
16-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Make callIsSmall accessible as a utility function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101463 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
005752bbe72868b548bba93dbc1ea46ffe8e5b2c |
15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Make getPredecessorWithUniqueSuccessorForBB return the unique successor in addition to the predecessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101374 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
0a60fa33210202a38a59ae3ea8681216f234ce51 |
15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Constify GetConstantStringInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101298 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
53c66eacc417c0113fba7159487b90005dc8f91e |
12-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Enhance ScalarEvolution::isKnownPredicate with support for loop conditions which are invariants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100995 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
e48172710bf78ae210b2257d6ac3e0e8fb3ba792 |
12-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100992 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
d908bbf7275d8ae67e918dc92ff9060a905eb27a |
11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix a #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100980 91177308-0d34-0410-b5e6-96231b3b80d8
ointerTracking.h
|
3948d0b8b0a71fabf25fceba1858b2b6a60d3d00 |
11-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasise that it's only testing for the entry condition, not full loop-invariant conditions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100979 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
113902e9fba5f4baf3de3c6ac0241d49ffdfa55c |
08-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Add a -lint pass which checks for common sources of undefined or likely unintended behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100798 91177308-0d34-0410-b5e6-96231b3b80d8
int.h
|
88ccf742a3a0d9ee7b68c767ea35292e1605f0bc |
08-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100783 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
448db1cdef5872713ef77beffacf502ae3450cd7 |
08-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Generalize IVUsers to track arbitrary expressions rather than expressions explicitly split into stride-and-offset pairs. Also, add the ability to track multiple post-increment loops on the same expression. This refines the concept of "normalizing" SCEV expressions used for to post-increment uses, and introduces a dedicated utility routine for normalizing and denormalizing expressions. This fixes the expansion of expressions which are post-increment users of more than one loop at a time. More broadly, this takes LSR another step closer to being able to reason about more than one loop at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100699 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
calarEvolutionExpander.h
calarEvolutionNormalization.h
|
5c8aa950fe3484b6e115647328c196f8be64f9ed |
03-Apr-2010 |
David Greene <greened@obbligato.org> |
Ok, third time's the charm. No changes from last time except the CMake source addition. Apparently the buildbots were wrong about failures. --- Add some switches helpful for debugging: -print-before=<Pass Name> Dump IR before running pass <Pass Name>. -print-before-all Dump IR before running each pass. -print-after-all Dump IR after running each pass. These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc. To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100249 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
de4845c163a5847c82d7ce10ed0c320098bce6e0 |
02-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Switch the code generator (except the JIT) onto the new DebugLoc representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen. This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next. I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100209 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
cf5862d8ac9562e633e6ef7cb55e67c2b7ca9c0a |
02-Apr-2010 |
Evan Cheng <evan.cheng@apple.com> |
Revert 100204. It broke a bunch of tests and apparently changed what passes are run during codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100207 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
434bd8551d71384648f2e155d76b5ddbc4d1b258 |
02-Apr-2010 |
David Greene <greened@obbligato.org> |
Let's try this again. Re-apply 100143 including an apparent missing <string> include. For some reason the buildbot choked on this while my builds did not. It's probably due to a difference in system headers. --- Add some switches helpful for debugging: -print-before=<Pass Name> Dump IR before running pass <Pass Name>. -print-before-all Dump IR before running each pass. -print-after-all Dump IR after running each pass. These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc. To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100204 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
1d8f83d0a00e912c55ec0974eba6122666cc6fa1 |
02-Apr-2010 |
Eric Christopher <echristo@apple.com> |
Revert r100143. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100146 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
8ef3acba00c9c42d450fa52c7d3faebce1e507dd |
02-Apr-2010 |
David Greene <greened@obbligato.org> |
Add some switches helpful for debugging: -print-before=<Pass Name> Dump IR before running pass <Pass Name>. -print-before-all Dump IR before running each pass. -print-after-all Dump IR after running each pass. These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc. To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100143 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
8fe7979c416cc5aad167329a2d7e7f5000f445fe |
24-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Do not rely on getCompileUnit() to find source file information for a subprogram. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99410 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
92d7b35bd07f590f6767398294cc7587ccb73f24 |
24-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Fix coding style. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99362 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
66617633e7dcc14d8808d3118766916b2240722a |
24-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Generalize findNearestCommonDominator to work on post-dominators, based on a suggestion by Jochen Wilhelmy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99361 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
472fdf7090bb00af3a3f9dcbe22263120a527533 |
20-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Clear the SCEVExpander's insertion point after making deletions, so that the SCEVExpander doesn't retain a dangling pointer as its insert position. The dangling pointer in this case wasn't ever used to insert new instructions, but it was causing trouble with SCEVExpander's code for automatically advancing its insert position past debug intrinsics. This fixes use-after-free errors that valgrind noticed in test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and test/Transforms/IndVarSimplify/exit_value_tests.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99036 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
6c7ed6b54949949806797bafdf545fbfecb2cef5 |
19-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Fix more places to more thoroughly ignore debug intrinsics. This fixes use-before-def errors in SCEVExpander-produced code in sqlite3 when debug info with optimization is enabled, though the testcases for this are dependent on use-list order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99001 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
c93b4cff89d85a13d4eaf1551af9fab276b88450 |
18-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Add the ability to "intern" FoldingSetNodeID data into a BumpPtrAllocator-allocated region to allow it to be stored in a more compact form and to avoid the need for a non-trivial destructor call. Use this new mechanism in ScalarEvolution instead of FastFoldingSetNode to avoid leaking memory in the case where a FoldingSetNodeID uses heap storage, and to reduce overall memory usage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98829 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
f9e64729afec646fe93b51417e66e552e8e630a4 |
18-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r98755 with a thinko which miscompiled gengtype fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98793 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
ebf78f18df84a63295c748148f54f091234ed099 |
17-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Revert 98755, which may be causing trouble. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98762 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
0afc29c3e6ba240ee187fd34ba1ecbe1175c879e |
17-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Change SCEVNAryExpr's operand array from a SmallVector to a plain pointer and length, and allocate the arrays in ScalarEvolution's BumpPtrAllocator, so that they get released when their owning SCEV gets released. SCEVs are immutable, so they don't need to worry about operand array resizing. This fixes a memory leak reported in PR6637. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98755 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
f96769bed208b8a3f82b53771350dc0a743db85a |
13-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Remove extra parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98403 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
cbd056074cfcd79265ee1e04e83f347355e9ad61 |
13-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Do not overestimate code size reduction in presense of debug info. Use CodeMetrics.analyzeBasicBlock() to estimate BB size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98401 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
bbf81d88116d23fb0776412b5916f7d0b8b3ca7e |
10-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Add a DominatorTree argument to isLCSSA so that it doesn't have to compute a set of reachable blocks for itself each time it is called, which is fairly frequently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98179 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f7477470d37ee2ab9075eaee4745fa084d424ab8 |
10-Mar-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Try to keep the cached inliner costs around for a bit longer for big functions. The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. This is a more conservative version of r98089 that doesn't break the clang test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining for constant folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98099 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
b5a158bab81b0b3f15d409fc433e706f8e885375 |
09-Mar-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Revert r98089, it was breaking a clang test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98094 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
9e5d87d568498db251de19cd3c26d02cc74bb2e1 |
09-Mar-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Try to keep the cached inliner costs around for a bit longer for big functions. The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98089 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
4b945500a5eb1b32ee8004e40e386105ee5815eb |
09-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Start using DIFile. See updated SourceLevelDebugging.html for more information. This patch updates LLVMDebugVersion to 8. Debug info descriptors encoded using LLVMDebugVersion 7 is supported. Corresponding llvmgcc and clang FE commits are required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98020 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
7aa81897066a20ace12c8f61ae0e5a253fb64dc2 |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Introduce DIFile. This will be used to represent header files and source file(s) in debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97994 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
77bf295dbb0b049fdec853ced0763084c43b2438 |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f17f5ebbdcd67966f7841c3597d750756d5bbd38 |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Remove DbgNode checks in constructor. Debug descriptors are intended to be light weight wrappers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97988 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9dcd6f14f8c559601fa2ad1ff168dcc236f7ce05 |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
isNull() is not used any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97979 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3c91b05d2b1751b9e4e21fd958d358ec463dcd3c |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Avoid using DIDescriptor.isNull(). This is a first step towards eliminating checks in Descriptor constructors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0ef3fa6aabc80995c8a0bd829c85c89ef2d4c32d |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Revert r97947. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
d8cc5d5256e79a74188dfef5a12d43127330dad3 |
08-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Avoid using DIDescriptor.isNull(). This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8f9db4c1d58114f54b585251f5bf61a498613b7c |
07-Mar-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add findNearestCommonDominator() for PostDominators. Add a missing interface to be able to call findNearestCommonDominator for a PostDominanceTree. The function itself is already implemented in DominatorTreeBase. The interface however was only added to the DominatorTree class, but not the PostDominatorClass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97915 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
25ec483cfca8d3a3ba8728a4a126e04b92789069 |
05-Mar-2010 |
Eric Christopher <echristo@apple.com> |
Move GetStringLength and helper from SimplifyLibCalls to ValueTracking. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97793 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
a9cf19670f50095eac7191a5360ed03839e87465 |
01-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
remove anders-aa from mainline, it isn't maintained and is tantalyzing enough that people keep trying to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97483 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
3f46a3abeedba8d517b4182de34c821d752db058 |
01-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Spelling fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97453 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
calarEvolution.h
|
67d9bf9dc4df036aad330ba5cdb663d8a7c4af11 |
01-Mar-2010 |
Dan Gohman <gohman@apple.com> |
Whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97452 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
f6d009fb6fc19d9f7ee7cdc528bf8e83a758facc |
24-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Convert a few more backedge-taken count functions to use BackedgeTakenInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97042 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
6d8f2ca646bc283c31f48b6816d5194c836dfec6 |
24-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Reapply r97010, the speculative revert failed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97036 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
8c0c99016b4348bf9cc294a0f2dd60a219d4506c |
24-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Speculatively revert r97010, "Add an argument to PHITranslateValue to specify the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97027 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
9d2ed8e632b71914b2a668932f4f49b87c3ca0b1 |
24-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Add an argument to PHITranslateValue to specify the DominatorTree. If this argument is non-null, pass it along to PHITranslateSubExpr so that it can prefer using existing values that dominate the PredBB, instead of just blindly picking the first equivalent value that it finds on a uselist. Also when the DominatorTree is specified, have PHITranslateValue filter out any result that does not dominate the PredBB. This is basically just refactoring the check that used to be in GetAvailablePHITranslatedSubExpr and also in GVN. Despite my initial expectations, this change does not affect the results of GVN for any testcases that I could find, but it should help compile time. Before this change, if PHITranslateSubExpr picked a value that does not dominate, PHITranslateWithInsertion would then insert a new value, which GVN would later determine to be redundant and would replace. By picking a good value to begin with, we save GVN the extra work of inserting and then replacing a new value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97010 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
31a95c524c82e36867761404d902b94f7afc695e |
22-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Rename a variable to avoid a -Wshadow warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96776 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
45a2d7d44ae697e28df383d31455145fb754ac58 |
19-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
recommit 96626, evidence that it broke things appears to be spurious git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96662 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
efd9e9505167a398ba3c4924b09a47bd4d688e51 |
19-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Revert 96626, which causes build failure on ppc Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96653 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
aa11defd1c66dbde0c757c99791c4ae4d740fc3e |
19-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Indvars needs to explicitly notify ScalarEvolution when it is replacing a loop exit value, so that if a loop gets deleted, ScalarEvolution isn't stick holding on to dangling SCEVAddRecExprs for that loop. This fixes PR6339. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96626 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
3d821aaae238534132df3982d703e758e91472cf |
16-Feb-2010 |
Devang Patel <dpatel@apple.com> |
Use line and column number to distinguish two lexical blocks at the same level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96395 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
484d4a30c055eef3101d01a7a468db3413dd20d3 |
16-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Split critical edges as needed for load PRE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96378 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
455985501381777db03534c925a35e261e356395 |
15-Feb-2010 |
Dan Gohman <gohman@apple.com> |
When restoring a saved insert location, check to see if the saved insert location has become an "inserted" instruction since the time it was saved. If so, advance to the first non-"inserted" instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96203 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
1d826a76f591afea445489b9a5485c345e66bf87 |
14-Feb-2010 |
Dan Gohman <gohman@apple.com> |
In rememberInstruction, if the value being remembered is the current insertion point, advance the current insertion point. This avoids a use-before-def situation in a testcase extracted from clang which is difficult to reduce to a reasonable-sized regression test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96151 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
9269926bfb713e92e328e9578c6d8826c68dcb9d |
14-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Remove a 'protected' keyword, now that SCEVExpander is no longer intended to be subclassed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96149 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
39125d8ef94cbadccd7339d3344e114dedaab12c |
13-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Override dominates and properlyDominates for SCEVAddRecExpr, as a SCEVAddRecExpr doesn't necessarily dominate blocks merely dominated by all of its operands. This fixes an abort compiling 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96056 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
572645cf84060c0fc25cb91d38cb9079918b3a88 |
12-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Reapply the new LoopStrengthReduction code, with compile time and bug fixes, and with improved heuristics for analyzing foreign-loop addrecs. This change also flattens IVUsers, eliminating the stride-oriented groupings, which makes it easier to work with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95975 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
calarEvolutionExpander.h
|
f451cb870efcf9e0302d25ed05f4cac6bb494e42 |
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
c056baed8704bd715ee58e5dfe724c255e68abbd |
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Minor code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95780 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
b14bc1f6f82c7f650226f39ed0256d8189eb2a1b |
09-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Mention IndVarSimplify in the comment by getSmallConstantTripCount, as is done for getTripCount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95666 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
baf0c67988feec5b7698f89dce499ddb7d0c3c42 |
08-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Add const qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95582 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
b4645643de240e5b3461b03a9c6950fefe1538ac |
06-Feb-2010 |
Devang Patel <dpatel@apple.com> |
Set DW_AT_artificial only if argument is marked as artificial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
aa034fa2299e41b73f60d3993f5460260e239fab |
06-Feb-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Update CodeMetrics to count 'big' function calls explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95453 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
32efba698df6aa35335eeb44d89288352d04746d |
04-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Change the argument to getIntegerSCEV to be an int64_t, rather than int. This will make it more convenient for LSR, which does a lot of things with int64_t offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95281 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
4e0d19dfd9ab77f9974cb07320dfe4f7f5ffd7b9 |
03-Feb-2010 |
Devang Patel <dpatel@apple.com> |
Provide interface to identifiy artificial methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ebdcbc26c77b97483afbcb906f988cc66d43606d |
02-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix function names in comments. Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95126 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
f7d848349e25f470e63bc176d4d120bdcf0e1649 |
01-Feb-2010 |
Bill Wendling <isanbard@gmail.com> |
Add "dump" method to IVUsersOneStride. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95022 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
4f8eea82d8967cffa85b9df6c9255717b059009e |
01-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Generalize target-independent folding rules for sizeof to handle more cases, and implement target-independent folding rules for alignof and offsetof. Also, reassociate reassociative operators when it leads to more folding. Generalize ScalarEvolution's isOffsetOf to recognize offsetof on arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr to getOffsetOfExpr, for consistency with analagous ConstantExpr routines. Make the target-dependent folder promote GEP array indices to pointer-sized integers, to make implicit casting explicit and exposed to subsequent folding. And add a bunch of testcases for this new functionality, and a bunch of related existing functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94987 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
0f5efe56258f8cd6ceff4d7955a5d80144cd9cb0 |
28-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place use plain SCEVUnknowns with ConstantExpr::getSizeOf and ConstantExpr::getOffsetOf constants. This eliminates a bunch of special-case code. Also add code for pattern-matching these expressions, for clients that want to recognize them. Move ScalarEvolution's logic for expanding array and vector sizeof expressions into an element count times the element size, to expose the multiplication to subsequent folding, into the regular constant folder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94737 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
43cda021d9425f53443b3d56bcf81afe99353ee9 |
27-Jan-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix inline cost predictions with SCIENCE. After running a batch of measurements, it is clear that the inliner metrics need some adjustments: Own argument bonus: 20 -> 5 Outgoing argument penalty: 0 -> 5 Alloca bonus: 10 -> 5 Constant instr bonus: 7 -> 5 Dead successor bonus: 40 -> 5*(avg instrs/block) The new cost metrics are generaly 25 points higher than before, so we may need to move thresholds. With this change, InlineConstants::CallPenalty becomes a political correction: if (!isa<IntrinsicInst>(II) && !callIsSmall(CS.getCalledFunction())) NumInsts += InlineConstants::CallPenalty + CS.arg_size(); The code size is accurately modelled by CS.arg_size(). CallPenalty is added because calls tend to take a long time, so it may not be worth it to inline a function with lots of calls. All of the political corrections are in the InlineConstants namespace: IndirectCallBonus, CallPenalty, LastCallToStaticBonus, ColdccPenalty, NoreturnPenalty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94615 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
0fd7f9d7ffea48aa9c4965132ade33cf28f973ea |
26-Jan-2010 |
Devang Patel <dpatel@apple.com> |
Add extra element to composite type. This new element will be used to record c++ class that holds current class's vtable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94586 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2e369930dc9e36728f7953a238d63925d3660612 |
23-Jan-2010 |
Devang Patel <dpatel@apple.com> |
Avoid using "Type" as the variable name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94262 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
476e9bd1146624fa17243ae55fdb156f905ba3d4 |
22-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
elimiante the dynamic_cast's from opt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94160 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
3660ecabbb85b31308f38938ce3f56f0a330a84b |
22-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate a bunch of dynamic_cast's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94155 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
7979b72febb73f7bb1d1ed095a68f210822b2e7c |
22-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Revert LoopStrengthReduce.cpp to pre-r94061 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94123 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
629bff692ae96dea517dc854e27b57ee6c8729ef |
21-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
struct/class mismatch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94075 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
a10756ee657a4d43a48cca5c166919093930ed6b |
21-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Re-implement the main strength-reduction portion of LoopStrengthReduction. This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also more aggressive about rewriting induction variables to count down (or up) to zero when doing so reduces register pressure. It currently uses fairly simplistic algorithms for finding reuse opportunities, but it introduces a new framework allows it to combine multiple strategies at once to form hybrid solutions, instead of doing all full-reduction or all base+index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94061 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
2b98bd23cb0bfa0dc09e1bcaef83a0e606e6ec1a |
19-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Make SCEVAddRecExpr's getType return a pointer type when the add has a pointer member. This helps reduce unnecessary bitcasting and uglygeps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93939 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
1cd9275c8d612bd1c92fc7ba436b60aaead1efbf |
19-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Give ScalarEvolution access to the DominatorTree. It'll need this to make more intellegent AddRec folding decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93930 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
bafbbdde38dedf05b53b731cbc083b2c483ae64e |
19-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Add a new helper function to IVUsers for returning the "canonical" form of an expression. This is the expression without the post-increment adjustment made, which is useful in determining which registers will be used by the expansion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93921 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
9a7313af77e81fe894debafd8c93e2551a74d1a6 |
19-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
remove extraneous ; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93833 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
756462bfbd668c6c6afe74ce20d29b77ce20ab9b |
18-Jan-2010 |
Victor Hernandez <vhernandez@apple.com> |
Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts array git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93764 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
24dcbaf75618277b049ddf488a37ede3177613dc |
16-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Fix PR6047 Nodes that had children outside of the post dominator tree (infinite loops) where removed from the post dominator tree. This seems to be wrong. Leave them in the tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93633 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
23279f18a9759d94579de7e79be61c7aa790b8ba |
16-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Create Generic DOTGraphTraits Printer/Viewer Move the DOTGraphTraits dotty printer/viewer templates, that were developed for the dominance tree into their own header file. This will allow reuse in future passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93632 91177308-0d34-0410-b5e6-96231b3b80d8
OTGraphTraitsPass.h
|
3a32865d58f015e7058444eab7085195c34da95a |
15-Jan-2010 |
Victor Hernandez <vhernandez@apple.com> |
Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93531 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5f03238d629c32bb0bab78d112a42293838558e9 |
15-Jan-2010 |
Victor Hernandez <vhernandez@apple.com> |
Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be auto-upgraded git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93515 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
283ba2fbb4a40d5f7615aba070f2f7ec161d19ac |
15-Jan-2010 |
Victor Hernandez <vhernandez@apple.com> |
Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93504 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
d53e42efe93f6a716d082ad63862794da0e59895 |
11-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Remove trailing white spaces in post dominators header file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93195 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
af4421d6efff5a1c91e7669933738487c609238b |
11-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add getNode() to post dominators. Implement the same interface as already available for dominators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93194 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
5b7e48b56cfc0904636a0a1c0d4f7b81133c48c2 |
11-Jan-2010 |
Victor Hernandez <vhernandez@apple.com> |
Respond to Chris' review: Make InsertDbgValueIntrinsic() and get Offset take and recieve a uint64_t. Get constness correct for getVariable() and getValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93149 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
fde781b8d6020c78bb2f3a59845dba251e84808d |
08-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Add assert to check dominance dfs numbers. Compare the dominance information calculated using a dominance tree walk to the information calculated based on DFS numbers, if XDEBUG is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92969 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
365ccd3a919b017f79140028dac15ef0c70641dd |
08-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Remove workaround in PostDominators Remove a FIXME and unify code that was necessary to work around broken updateDFSNumbers(). Before updateDFSNumbers() did not work correctly for post dominators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92968 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
ecd4694458796d8d9dd205a8eb43ff7163425bca |
08-Jan-2010 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Fix DFS number calculation for postdominators The DFS number calculation for postdominators was broken. In the case of multiple exits that form the post dominator root nodes, do not iterate over all exits, but start from the virtual root node. Otherwise bbs, that are not post dominated by any exit but by the virtual root node, will never be assigned a DFS number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92967 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
b419a5cfe9fae934d6c05da173934673f5402c99 |
06-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix struct/class mismatch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92841 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
7c422ac216fe39fc9c402a704cf296cca9dc5b22 |
06-Jan-2010 |
Duncan Sands <baldrick@free.fr> |
Partially address a README by having functionattrs consider calls to memcpy, memset and other intrinsics that only access their arguments to be readnone if the intrinsic's arguments all point to local memory. This improves the testcase in the README to readonly, but it could in theory be made readnone, however this would involve more sophisticated analysis that looks through the memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
dda30cd4af1c5f88fc00fd40b673f8e27c61379d |
05-Jan-2010 |
Dan Gohman <gohman@apple.com> |
Restore dump() methods to Loop and MachineLoop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92772 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
44a29e066a24e88bdf127e88be4380a5f259c4b4 |
05-Jan-2010 |
Devang Patel <dpatel@apple.com> |
Remove dead debug info intrinsics. Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92557 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
210d0febc24551aed293b903562c19567e96fa5d |
31-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
this #include is ok. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92338 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f0908a351ab123a1ad7b145a5e4bc28430be0d94 |
31-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
fix Analysis/DebugInfo.h to not include Metadata.h. Do this by moving one method out of line and eliminating redundant checks from other methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92337 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5d0cacdbb6577f2449986f345858db17dc1bcf59 |
31-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
rename "elements" of metadata to "operands". "Elements" are things that occur in types. "operands" are things that occur in values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92322 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
bf0ca2b477e761e2c81f6c36d6c7bec055933b15 |
29-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of unneeded functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92263 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
784b850e320c783ce402d5d8bbbb4b0a3ad4b69c |
29-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
one pass of cleanup over DebugInfo.h. Much more is still needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92261 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
63c9463c62fce8cbe02176dfa2d73f375a06f1f2 |
23-Dec-2009 |
David Greene <greened@obbligato.org> |
Remove dump routine and the associated Debug.h from a header. Patch up other files to compensate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92075 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
49f253315dbe1f3c14c0ce6d5236089acb92f80f |
23-Dec-2009 |
David Greene <greened@obbligato.org> |
Convert debug messages to use dbgs(). Generally this means s/errs/dbgs/g except for certain special cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92013 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
3fb10ac22f22568e07df720d190b4e08ca69833c |
23-Dec-2009 |
David Greene <greened@obbligato.org> |
Convert debug messages to use dbgs(). Generally this means s/errs/dbgs/g except for certain special cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92006 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
0ee443d169786017d151034b8bd34225bc144c98 |
22-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
The phi translated pointer can be computed when returning a partially cached result instead of stored. This reduces memdep memory usage, and also eliminates a bunch of weakvh's. This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x) on a different machine than earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91885 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
43ea505fb07e303721d92f2b2bdda6e601868523 |
19-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Eliminate unnecessary LLVMContexts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91729 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
alueTracking.h
|
d281ed2d03654b9cdb290a2d7c73dfe7b826e554 |
18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Preserve NSW information in more places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91656 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
92329c7fbe572892c17aa2d2542a10e3ea16132f |
18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Add Loop contains utility methods for testing whether a loop contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91654 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
6bec5bb344fc0374431aed1cb63418de607a1aec |
18-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Reapply LoopStrengthReduce and IVUsers cleanups, excluding the part of 91296 that caused trouble -- the Processed list needs to be preserved for the livetime of the pass, as AddUsersIfInteresting is called from other passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91641 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
oopInfo.h
|
04149f7ffd033773adfe85e4acf3f560e29bd47d |
17-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91598 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
oopInfo.h
|
6404e4e7958aa71ff210008b0e5d1cef8d138ff2 |
15-Dec-2009 |
Devang Patel <dpatel@apple.com> |
Add support to emit debug info for C++ namespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
4bbf4ee1491637c247e195e19e3e4a8ee5ad72fa |
15-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
Remove isPod() from DenseMapInfo, splitting it out to its own isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
35d913e6f3ff9267bb130c918d1286156e18797d |
14-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Make the IVUses member private. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91291 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
440b40d86521305d631e6461314540f54659d4a2 |
14-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. The former was just exposing a LoopInfoBase implementation detail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91286 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
050959cd08db6c0efb8208271a1d64ce58893e20 |
11-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Make getUniqueExitBlocks's precondition assert more precise, to avoid spurious failures. This fixes PR5758. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91147 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
dad451cb7c6b94b3af40f59271e24357616a05a9 |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
enhance NonLocalDepEntry to keep the per-block phi translated address of the query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90958 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
e18b97121c286eeff5efe89150b093bf1b7b7bfc |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
change NonLocalDepEntry from being a typedef for an std::pair to be its own small class. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90956 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
05e15f8897bd949f9d4bce073d53ed3256c71e2b |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
Switch GVN and memdep to use PHITransAddr, which correctly handles phi translation of complex expressions like &A[i+1]. This has the following benefits: 1. The phi translation logic is all contained in its own class with a strong interface and verification that it is self consistent. 2. The logic is more correct than before. Previously, if intermediate expressions got PHI translated, we'd miss the update and scan for the wrong pointers in predecessor blocks. @phi_trans2 is a testcase for this. 3. We have a lot less code in memdep. We can handle phi translation across blocks of things like @phi_trans3, which is pretty insane :). This patch should fix the miscompiles of 255.vortex, and I tested it with a bootstrap of llvm-gcc, llvm-test and dejagnu of course. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90926 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
6200e53f55536f812153ad910e6a69139592301b |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
fix many input tracking bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90915 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
af50315a29600188a6ff8b935beca6f1b59edf48 |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
instructions defined in CurBB may be intermediate nodes of the computation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90908 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
7dedbf4ce3e1b62b4e0b000b38d244b50029c315 |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
add dumping and sanity checking support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90906 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
43678f41a37c077f28517c2e4889cca88cada6ce |
09-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
make sure that PHITransAddr keeps its 'InstInputs' list up to date when instsimplify kicks in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90901 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
0000fadb00cf971cd8ffb4ebe500777a84daf8f5 |
09-Dec-2009 |
Devang Patel <dpatel@apple.com> |
Revert 90858 90875 and 90805 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
34f849098bfb8850fa34fbd115ba9b2e55c85a32 |
08-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not side-effect the current object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90837 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
c59b33562c84cb627e456fa979df2242f81b5a87 |
07-Dec-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90807 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
4063f6bcc775bb0429dea2276694c4cdc2d4dca1 |
07-Dec-2009 |
Devang Patel <dpatel@apple.com> |
Add support to emit debug info for c++ style namespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e05a188cd630448cc25143ee8e69a36ab2e69544 |
07-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
add accessor, improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90792 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
2f9dac721d6b015fd16730bd51bffc86e29e6fdf |
07-Dec-2009 |
Victor Hernandez <vhernandez@apple.com> |
Introduce the "@llvm.dbg.value" debug intrinsic. The semantics of llvm.dbg.value are that starting from where it is executed, an offset into the specified user source variable is specified to get a new value. An example: call void @llvm.dbg.value(metadata !{ i32 7 }, i64 0, metadata !2) Here the user source variable associated with metadata #2 gets the value "i32 7" at offset 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90788 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9a8641201b2db8427be2a6531c043f384562c081 |
07-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
checkpoint of the new PHITransAddr code, still not done and not used by anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90779 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
4650d92748413e67004df52d7a0268df368a5b60 |
07-Dec-2009 |
John Mosby <ojomojo@gmail.com> |
fixed some typos in method comments, reworded some comments for clarity git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90754 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
oopPass.h
|
750e0e0ad0e599fe701e5492eef5c2cab05f2e5c |
05-Dec-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Document that memory use intrinsics may also return Def results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90651 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
210e45af3a579beeefb001c8f13c94e80407aad5 |
04-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
add the start of a class used to handle phi translation in memdep and gvn (this is just a skeleton so far). This will ultimately be used to fix a nasty miscompilation with GVN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90518 91177308-0d34-0410-b5e6-96231b3b80d8
HITransAddr.h
|
5d11eb0ed54116b7f33507999617661fb2ae99df |
03-Dec-2009 |
Devang Patel <dpatel@apple.com> |
Add support to emit debug info for virtual functions and virtual base classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
44299c9507dc25279741b28ade2d2efa0b8506ad |
03-Dec-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Use ProfileInfo-API in ProfileInfo Loader and do more assertions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90446 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
e2baf6b45549128c76a701c3edd8b4bb0b4835d4 |
03-Dec-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Converted ProfileInfo to template, added more API for ProfileInfo-preserving. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90445 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
e3a18de4f66a90040fb67495578652e36a886af5 |
02-Dec-2009 |
Devang Patel <dpatel@apple.com> |
Add utility routine to create subprogram definition entry from subprogram declaration entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90282 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
56f4ef3232850e29c4635d0923910acce8887bd0 |
30-Nov-2009 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Remove ShortNames from getNodeLabel in DOTGraphTraits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90134 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
a10d598602308549d87d2c5d9848f5a72fda2b43 |
30-Nov-2009 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Instantiate DefaultDOTGraphTraits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90133 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
2833fac27324b956cfb31be987652d2304d10761 |
30-Nov-2009 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Small PostDominatorTree improvements * Do not SEGFAULT if tree entryNode() is NULL * Print function names in dotty printer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90130 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
e8a81da98d5b7373734f0702493fe22883c3e0e2 |
30-Nov-2009 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Remove ":" after BB name in -view-cfg-only git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90129 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
dd696052f0e4ecc973d105be19cf1b4b72f9a0c4 |
28-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Enhance InsertPHITranslatedPointer to be able to return a list of newly inserted instructions. No functionality change until someone starts using it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90039 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
6f7b210b2577fbc9247a9fc5223655390008ae89 |
27-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Rework InsertPHITranslatedPointer to handle the recursive case, this fixes PR5630 and sets the stage for the next phase of goodness (testcase pending). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90019 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
8aee8efc0c2e387faa7dae39fdf613a22889b566 |
27-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
factor some logic out of instcombine into a new SimplifyAddInst method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90011 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
616613d7a4ddc7cefce53b2bfe3fdcdec6b032c2 |
27-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
teach GVN's load PRE to insert computations of the address in predecessors where it is not available. It's unclear how to get this inserted computation into GVN's scalar availability sets, Owen, help? :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89997 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
62deff066c5ee4474be80ed2d95aca010e237343 |
27-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Fix phi translation in load PRE to agree with the phi translation done by memdep, and reenable gep translation again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89992 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c514c1f5218b8fe7499a0b9a4737860344cf4c43 |
27-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
factor some instcombine simplifications for getelementptr out to a new SimplifyGEPInst method in InstructionSimplify.h. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89980 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
1ce0eaa25fc6ecead5f9bba3c17b8af612d830ef |
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Implement PR1143 (at -m64) by making basicaa look through extensions. We previously already handled it at -m32 because there were no i32->i64 extensions for addressing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89959 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
e405c64f6b91635c8884411447ff5756c2e6b4c3 |
26-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
move DecomposeGEPExpression out into ValueTracking.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89956 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
65dbc909f5377947026a41f29420bb8112bdf611 |
25-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Use StringRef (again) in DebugInfo interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
193f720f118f52eb05de172d936a440f335c1469 |
24-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Emit pubtypes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e54a5e88a57a78b1e24430f27bdf0a8f7f0e8e23 |
23-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Add CreateLocation varinat that accepts MDNode (with a default value). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89689 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c46530b6a32a53edf0d6d32bcd09ea5d76940472 |
23-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
add a helper git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89662 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
ae3d802953b5209e7e9530cd5b5d4e457a6974dc |
23-Nov-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove unused LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89642 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
66e08cf79a052dd75bf6fa2f94abd4c0a18cb019 |
22-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Remove the AliasAnalysis::getMustAliases method, which is dead. The hasNoModRefInfoForCalls isn't worth it as a filter because basicaa provides m/r info and everything chains to it, so remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89599 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
ibCallAliasAnalysis.h
|
a58a04921deba911d6ead8d24f495cec234681c1 |
20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Make Loop::getLoopLatch() work on loops which don't have preheaders, as it may be used in contexts where preheader insertion may have failed due to an indirectbr. Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in the case that it would require splitting an indirectbr edge. These fix PR5502. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89484 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f94b5edc452c32d9ae258e7de30c33391fda6cc9 |
19-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Extend CaptureTracking to indicate when a value is never stored, even if it is not ultimately captured. Teach BasicAliasAnalysis that a local object address which does not escape and is never stored does not alias with a value resulting from a load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89398 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
3dbb9e64d6e9d1e8bf16f75ebe4fe59ffdf93dd3 |
18-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Simplify ComputeMultiple so that it doesn't depend on TargetData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89175 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
427ef4e35f16af0509f8217bed07eba745e83a9f |
17-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89156 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ac57410a56dbe0eb944699b67f9d84cf986a127e |
15-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
disable copying, enforce some invariants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88870 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
1b226abcd97598b40b8b801593b168dcd201cdde |
14-Nov-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove dead variable found by clang++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88803 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
a2b3cdc21f51d0e24310878b0c759ec48b5e6749 |
13-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Do not use value handle to wrap MDNode in DIDescriptor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88700 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3ddf70442f0653bf082bfffc03a03745f76b15e2 |
13-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Revert r87059 for now. It is failing clang tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87070 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0418c102dd324be5a7d6d3a8ad3c806c7ee74d21 |
13-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove unnecessary llvm.dbg.declare bitcast git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87059 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
70d75ca3107ce05bc30ad3511aa669b9fab5eb90 |
12-Nov-2009 |
Devang Patel <dpatel@apple.com> |
"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
586f69a11881d828c056ce017b3fb432341d9657 |
12-Nov-2009 |
Evan Cheng <evan.cheng@apple.com> |
- Teach LSR to avoid changing cmp iv stride if it will create an immediate that cannot be folded into target cmp instruction. - Avoid a phase ordering issue where early cmp optimization would prevent the later count-to-zero optimization. - Add missing checks which could cause LSR to reuse stride that does not have users. - Fix a bug in count-to-zero optimization code which failed to find the pre-inc iv's phi node. - Remove, tighten, loosen some incorrect checks disable valid transformations. - Quite a bit of code clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86969 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
b52675b643db496bcea218bd3d5fc5e23f523c22 |
12-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Add a new getPredicateOnEdge method which returns more rich information for constant constraints. Improve the LVI lattice to include inequality constraints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86950 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
38392bbeb81233d0b342ad33166fc82ad922bc34 |
12-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
expose edge information and switch j-t to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86920 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
afa5a34b30f152d85164eaff4124accb9ef056a8 |
12-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Do not use StringRef in DebugInfo interface. This allows StringRef to skip controversial if(str) check in constructor. Buildbots, wait for corresponding clang and llvm-gcc FE check-ins! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86914 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
641c6f983eb4e40ab23732ab46ffa85bab7f0ba9 |
11-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Fix a copy+pasto in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86852 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
cc4d3b25f336eef135cb7125716ecb2c1979e92e |
11-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
stub out some LazyValueInfo interfaces, and have JumpThreading start using them in a trivial way when -enable-jump-threading-lvi is passed. enable-jump-threading-lvi will be my playground for awhile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86789 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
|
10f2d13d580da348ba9769864f02d0d5a862c1e0 |
11-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Stub out a new lazy value info pass, which will eventually vend value constraint information to the optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86767 91177308-0d34-0410-b5e6-96231b3b80d8
azyValueInfo.h
asses.h
|
68cf6042c14ac649c6861bbd2d00993b15a5dfa6 |
11-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove redundant foward declaration. This function is already in Analysis/Passes.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86765 91177308-0d34-0410-b5e6-96231b3b80d8
iveValues.h
|
53bb5c95afe4ff2627cac513221af2e4e7c5d2e3 |
11-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Implement support to debug inlined functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0a26870d921c4f5507126f3068fc13148c426496 |
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
in -dot-cfg and -dot-cfg-only, when rendering switch instructions, put the switch value in the successor boxes like we put T/F for branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86747 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
40d8c28b27377199b7465ba2c5a2c59c6fd12fa9 |
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
move some generally useful functions out of jump threading into libanalysis and transformutils. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86735 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
6daf99bf8fa7572fac271bbcd0a8da44ffc2df44 |
10-Nov-2009 |
Devang Patel <dpatel@apple.com> |
Process InlinedAt location info. Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86727 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8e345a1c418608c49abb7c51a090bbb36f1273bc |
10-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
Update computeArraySize() to use ComputeMultiple() to determine the array size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86676 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
2b6705f5e7c7624bd7fe486298c400f1afc15f6c |
10-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
Add ComputeMultiple() analysis function that recursively determines if a Value V is a multiple of unsigned Base git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86675 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
e34537856a544c83513e390ac9552a8bc3823346 |
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
add a new SimplifyInstruction API, which is like ConstantFoldInstruction, except that the result may not be a constant. Switch jump threading to use it so that it gets things like (X & 0) -> 0, which occur when phi preds are deleted and the remaining phi pred was a zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86637 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
81cf4325698b48b02eddab921ac333c7f25005c3 |
10-Nov-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix DenseMap iterator constness. This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
d06094f0682f2ede03caff4892b1a57469896d48 |
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
factor simplification logic for AND and OR out to InstSimplify from instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86635 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
9dbb42944c4d7caddab21016b24cca31019a3faf |
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
rename SimplifyCompare -> SimplifyCmpInst and split it into Simplify[IF]Cmp pieces. Add some predicates to CmpInst to determine whether a predicate is fp or int. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86624 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
8f73deaa8732a556046bf4ac6207be55972e3b74 |
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix ConstantFoldCompareInstOperands to take the LHS/RHS as individual operands instead of taking a temporary array git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86619 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
9f3c25aeb3df77a336693308dc0f19a4983c99af |
09-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
stub out a new libanalysis "instruction simplify" interface that takes decimated instructions and applies identities to them. This is pretty minimal at this point, but I plan to pull some instcombine logic out into these and similar routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86613 91177308-0d34-0410-b5e6-96231b3b80d8
nstructionSimplify.h
|
d146e986c818165cca866ee05751451706ccf36a |
09-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Fix an 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86567 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9d0b704e3ea418441001dac4d1a56c2c224cdbf5 |
07-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions. Here is the original commit message: This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments. Update CreateMalloc so that its callers specify the size to allocate: MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
f55eeb918e9b4fac49853accabac5924a7716939 |
06-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove some more Context arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86235 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
7b550ccfc5a3346c17e0390a59e2d6d19bc52705 |
06-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove a bunch of extraneous LLVMContext arguments from various APIs, addressing PR5325. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
emoryBuiltins.h
|
df98761d08ae091420b7e9c1366de7684400fc36 |
06-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
f17e9511f15a0e007ff47d0789d1a52502e8c1fb |
05-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Factor out the predicate code for loopsimplify form exit blocks into a separate helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86159 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
24f934d0551e33508c4ffd24318ea0e970db9810 |
05-Nov-2009 |
Victor Hernandez <vhernandez@apple.com> |
Update CreateMalloc so that its callers specify the size to allocate: MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
076124ef26ff67f88663bd11f3b4d6b3d3bb3a9d |
01-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Reverting 85714, 85715, 85716, which are breaking the build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85717 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
asses.h
|
2166f6229042a4d3d65847ebe0d453cd664682ef |
01-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Add a function to Passes.h to allow clients to create instances of the ScalarEvolution pass without needing to #include ScalarEvolution.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85716 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
34e9d7b6be970b4a6aae876e3c40a4151da67e6e |
01-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Don't #include Pass.h from CallGraph.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85715 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
4c7279ac726e338400626fca5a09b5533426eb6a |
31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Rename forgetLoopBackedgeTakenCount to forgetLoop, because it clears out more information than just the stored backedge taken count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85664 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
90f48e7c91a8faa875ba889ca66b137ffd46e34a |
28-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Extend getMallocArraySize() to determine the array size if the malloc argument is: ArraySize * ElementSize ElementSize * ArraySize ArraySize << log2(ElementSize) ElementSize << log2(ArraySize) Refactor isArrayMallocHelper and delete isSafeToGetMallocArraySize, so that there is only 1 copy of the malloc array determining logic. Update users of getMallocArraySize() to not bother calling isArrayMalloc() as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85421 91177308-0d34-0410-b5e6-96231b3b80d8
emoryBuiltins.h
|
f006b183e2d2bebcf6968d1dd7350397c95b0325 |
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocFreeHelper as MemoryBuiltins git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8
allocFreeHelper.h
emoryBuiltins.h
|
f2becca90b832cc02345fba063b9b439b2be33ad |
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8
allocFreeHelper.h
allocHelper.h
|
046e78ce55a7c3d82b7b6758d2d77f2d99f970bf |
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove FreeInst. Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allocHelper.h
|
ac16d44e58e74bb0b5cecf3ec5e8d7de315f7d95 |
26-Oct-2009 |
Devang Patel <dpatel@apple.com> |
Add support to encode type info using llvm::Constant. Patch by Talin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85126 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8b67f774e9c38b7718b2b300b628388f966df4e0 |
26-Oct-2009 |
Chandler Carruth <chandlerc@gmail.com> |
Move DataTypes.h to include/llvm/System, update all users. This breaks the last direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
alueTracking.h
|
32663b719b4996b3a735f22bba80d771d50f96e7 |
25-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Rename isLoopExit to isLoopExiting, for consistency with the wording used elsewhere - an exit block is a block outside the loop branched to from within the loop. An exiting block is a block inside the loop that branches out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85019 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
70b2bee8e7dda22d70475bf748385654559a0ef8 |
24-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Make DominanceFrontier::addBasicBlock return the iterator for the newly inserted block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85010 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
66284e063a1e46500acae48bdc0e4a00652021d1 |
24-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Auto-upgrade free instructions to calls to the builtin free function. Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
allocHelper.h
|
878e4946700824954d7eb7f3ff660353db8e0d17 |
22-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
Move some constant folding logic for loads out of instcombine into Analysis/ConstantFolding.cpp. This doesn't change the behavior of instcombine but makes other clients of ConstantFoldInstruction able to handle loads. This was partially extracted from Eli's patch in PR3152. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84836 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
b839c5577d8ecb884ffb6874a14782797faec9c4 |
18-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
add function passes for printing various dominator datastructures accessible through opt. Patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84397 91177308-0d34-0410-b5e6-96231b3b80d8
omPrinter.h
|
88067b9133103de3bfadd4f5166f4fb082ba2496 |
18-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
make DOTGraphTraits public, patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84396 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
f0d24f1f597a84b1a164019ab81831ccd7aea47f |
18-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
add nodes_begin/end/iterator for dominfo, patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84395 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
ca24a695e7727da5df40a819d1144c32c8fb0110 |
17-Oct-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add required #includes for freestanding .h files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84302 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
2491ce03535cf8ec171570d2e28df63e4db3dd6b |
15-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Fix bug where array malloc with unexpected computation of the size argument resulted in MallocHelper identifying the malloc as a non-array malloc. This broke GlobalOpt's optimization of stores of mallocs to global variables. The fix is to classify malloc's into 3 categories: 1. non-array mallocs 2. array mallocs whose array size can be determined 3. mallocs that cannot be determined to be of type 1 or 2 and cannot be optimized getMallocArraySize() returns NULL for category 3, and all users of this function must avoid their malloc optimization if this function returns NULL. Eventually, currently unexpected codegen for computing the malloc's size argument will be supported in isArrayMalloc() and getMallocArraySize(), extending malloc optimizations to those examples. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84199 91177308-0d34-0410-b5e6-96231b3b80d8
allocHelper.h
|
68cf03a314f19935d9096ad22dfe7d4fdcbb5c19 |
14-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Fix resetCachedCostInfo to reset all of the cost information, instead of just the NumBlocks field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84056 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
e7f0ed5aceed27d6f46521ec6e4c139986c5b489 |
13-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Split code not specific to Function inlining out into a separate class, named CodeMetrics. Move it to be a non-nested class. Rename RegionInfo back to FunctionInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84013 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
e4aeec003f82a5263ffb168e175e6fca8b6f681d |
13-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Move the InlineCost code from Transforms/Utils to Analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83998 91177308-0d34-0410-b5e6-96231b3b80d8
nlineCost.h
|
6e37f4878b3e33752cd2d50818a0813733c2bd63 |
13-Oct-2009 |
Devang Patel <dpatel@apple.com> |
Enable "debug info attached to an instruction" mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83925 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3645b01002e7ac244c1f3d163e5e350df21d869d |
09-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83601 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
8ef27511e32bf704e2a25ebc96858439ab58f449 |
08-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
remove LoopVR pass. According to Nick: "LoopVR's logic was copied into ScalarEvolution::getUnsignedRange and ::getSignedRange. Please delete LoopVR." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83531 91177308-0d34-0410-b5e6-96231b3b80d8
oopVR.h
|
beab41b874c3f15df848f9953e8e2c99182b1df8 |
08-Oct-2009 |
Devang Patel <dpatel@apple.com> |
Extract subprogram and compile unit information from the debug info attached to an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83491 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c6f69e94fa46f585b59bb9d7ace3224b0e638c95 |
05-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Remove an unnnecessary LLVMContext argument in ConstantFoldLoadThroughGEPConstantExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83311 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
e4250396ea254b374436e94f391f1adb9bd94d20 |
02-Oct-2009 |
Mike Stump <mrs@apple.com> |
Expand api out in the usual inserter way, though, I do have a question, can we get rid of the BasicBlock versions of all inserters and use Head == 0 to indicate the old case when GetInsertBlock == 0? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83216 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ecbeb1a490ed6ef8f12e7a38471bdfc20942b0a3 |
01-Oct-2009 |
Devang Patel <dpatel@apple.com> |
Add isFOO() helpers. Fix getDirectory() and getFilename() for DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83180 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3e4c9bdb67db9b6d65b17d474e3268b520a93514 |
30-Sep-2009 |
Mike Stump <mrs@apple.com> |
Add a way for a frontend to generate more complex dwarf location information. This allows arbitrary code involving DW_OP_plus_uconst and DW_OP_deref. The scheme allows for easy extention to include, any, or all of the DW_OP_ opcodes. I thought about just exposing all of them, but, wasn't sure if people wanted the dwarf opcodes exposed in the api. Is that a layering violation? With this scheme, the entire existing block scheme used by llvm-gcc can be switched over to the new scheme. I think that would be cleaner, as then the compiler specific bits are not present in llvm proper. Before the old code can be yanked however, similar code in clang would have to be removed. Next up, more testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5ccdd10b1a0ee1ce35b6e5a18eb0fcfd6f5131d3 |
29-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Remove std::string uses from DebugInfo interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9450b0e1a6154192ca597ad27f8eb6e6e807f7a4 |
28-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Move the dominator verification code out of special code embedded within the PassManager code into a regular verifyAnalysis method. Also, reorganize loop verification. Make the LoopPass infrastructure call verifyLoop as needed instead of having LoopInfo::verifyAnalysis check every loop in the function after each looop pass. Add a new command-line argument, -verify-loop-info, to enable the expensive full checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
3069b3193de74bb8b76e5c0f612b4a97abf9dea6 |
28-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Extract the code for inserting a loop into the loop queue into a separate function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82946 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
be1123464a232168299bcd9557e94e90c1daa5de |
27-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Remove a redundant assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82907 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
22bf8f21b4e91eadc27207c4b0a7db3dd1756b4f |
27-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add dominates and releaseMemory member functions to PostDominatorTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82904 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
6e70e31810464289a9e9b37e0345847e3ca5d5cf |
27-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a properlyDominates member function to ScalarEvolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82898 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
b7532e254810aba26da9b65ee2c65788695f8c30 |
26-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a comment describing natural loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82859 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
48a097bfb6b2ab1ed67d2341a5b51c5d2b61af5b |
22-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82507 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
75c7c995b7ed5a5b7527a80d2bbc2b60720b1312 |
22-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
move DominatorTree::dominates for instructions out of line, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82490 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
7dd76a1088f7285f73152732de50c78b64ee5a03 |
19-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Prefer super class constructor to explicit initialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82335 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3fc19bbbbb6b215a7417dfe63c9cb59519bcfde7 |
19-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Tabs -> spaces (really?) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82334 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f612ff6cfbf3a59842732f0280807c0714ab9025 |
19-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
875646f376f6c83bf8426fdb44e1dbf312cf784e |
19-Sep-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Lett users of sparse propagation do their own thing with phi nodes if they want to. This can be combined with LCSSA or SSI form to store more information on a PHINode than can be computed by looking at its incoming values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82317 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
88d9839d07a6b5a03484d664913de0f2b33d3bff |
18-Sep-2009 |
Victor Hernandez <vhernandez@apple.com> |
Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type). In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants. Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array. Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type. Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls. Add verification for malloc calls. Reviewed by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82257 91177308-0d34-0410-b5e6-96231b3b80d8
allocHelper.h
|
1f96e67f78110d0ac5b30a32375097a28f869c63 |
17-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Teach ScalarEvolution how to reason about no-wrap flags on loops where the induction variable has a non-unit stride, such as {0,+,2}, and there are expressions such as {1,+,2} inside the loop formed with or or add nsw operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82151 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1b75f44bd9b1cf4a532940ff986c9ee8bd21564f |
16-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Provide a way to extract location info from DILocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82064 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
923327267949b537d7a2fdad5b7a919bd90ce085 |
16-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Reapplied r81355 with the problems fixed. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086737.html and http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086746.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82039 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
75144f93eb7e4dbf22d308d21581ae255dd520c6 |
15-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Fix apostrophos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81856 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
calarEvolutionExpressions.h
|
a51c39cc3265f5d0d5de87b4a3ef9332c83556e1 |
15-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
add a new CallGraphNode::replaceCallEdge method and use it from argpromote to avoid invalidating an iterator. This fixes PR4977. All clang tests now pass with expensive checking (on my system at least). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81843 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
83e3c4f9d796a5da223a3ebd5d4ba985c7ecc39d |
11-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Give these files top-level comments that describe the current code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81473 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
fabcb9127f278a77b8aae5673be1115390c55050 |
10-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add malloc call utility functions. Patch by Victor Hernandez. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81426 91177308-0d34-0410-b5e6-96231b3b80d8
allocHelper.h
|
07abe17bd2f18eb0279663f686f84997527a238c |
09-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Add the first functions for updating ProfileInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81359 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
273a488cdfe27aee58a3774579376d4b8f791012 |
09-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
revert r81335, which breaks the build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81347 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
1f3b00272a4aa5a69bffb018bc449c84167b6bf8 |
09-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Updated ProfileInfo to have clean seperation between different sentinels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81335 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
5c89b5240c90eb8171f999e5f06f815502d0321c |
08-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Re-apply r80926, with fixes: keep the domtree informed of new blocks that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81221 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
45336a6f22de93b38d693fbdde0c96aa84f1e70f |
08-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
fix PR4915, a crash in -debug mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81177 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
cf5128ec01f45d2bf7eadc20b253cb44486e473f |
08-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
add some comments to describe the invariants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81173 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
59bf4fcc0680e75b408579064d1205a132361196 |
06-Sep-2009 |
Duncan Sands <baldrick@free.fr> |
Public and private corrections, warned about by icc (#304). Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81107 91177308-0d34-0410-b5e6-96231b3b80d8
ibCallAliasAnalysis.h
|
8f78a58e14fa754cde827e46ad03f00c7a6ead01 |
06-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81101 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
8fc5ad33691b2a0672a7487da1f56b6f7f675a1b |
03-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a verifyAnalysis to LoopInfo, LoopSimplify, and LCSSA form that verify that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80926 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f0608d829a7b8929108ac6718bd866adf710e936 |
03-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Move getUniqueExitBlocks from LoopBase to Loop, since they depend on LoopSimplify form, which is currently only available on Loops (and not MachineLoops). Also, move the code out of the header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80923 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e7125f4babb536df3a2573b6166954da7753c6b8 |
03-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Remove references to expression "handles", which are no longer used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80918 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
3445d9a72aec68512df265705e2be7704496f541 |
02-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add const qualifiers to dominates' arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80801 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
da5ea945545ca8864a873a5a33fd891ec381ec88 |
01-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
OptimalEdgeProfiling: Reading in Profiles. This enables LLVM to read the OptimalEdgeProfiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80715 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
f771dae69aee00a16dbfb7e712bf26ab2b9d9cde |
01-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
OptimalEdgeProfiling: Creation of profiles. This adds the instrumentation and runtime part of OptimalEdgeProfiling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80712 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoTypes.h
|
da230cb876edf0d4fa8eefc289b8addfb722cd07 |
01-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
remove CallGraphNode::replaceCallSite, it is redundant with other APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80708 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
e885af9fb773f5a01a5b31fa0a0b7fd0489bde56 |
01-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Preparation for Optimal Edge Profiling: Optimal edge profiling is only possible when blocks with no predecessors get an virtual edge (BB,0) that counts the execution frequencies of this function-exiting blocks. This patch makes the necessary changes before actually enabling optimal edge profiling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80667 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
e7ddcfdebe357b4067f9c7d68d44616e11351a23 |
01-Sep-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Preparation for Optimal Edge Profiling: This adds a pass to verify the current profile against the flow conditions. This is very helpful when later on trying to perserve the profiling information during all passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80666 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
a541b0fde2ab6b8b037edf113d42da41a2c5aae9 |
01-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
Change CallGraphNode to maintain it's Function as an AssertingVH for sanity. This didn't turn up any bugs. Change CallGraphNode to maintain its "callsite" information in the call edges list as a WeakVH instead of as an instruction*. This fixes a broad class of dangling pointer bugs, and makes CallGraph have a number of useful invariants again. This fixes the class of problem indicated by PR4029 and PR3601. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80663 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
e5b1454cdd8522831093128ddc7d7f81328d9f33 |
01-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Add virtual destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80660 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f98d8fee3c5367622cf03e52f1e1b2251ac6cf3f |
01-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Introduce DILocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80648 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
58e7a2dfc2e0203abb5a4637bd0fcf9c1992fb95 |
01-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Add getDirectory() and getFilename() interface to DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80647 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
82dfc0cd8c3c2bf780a13cc35c1a8df7ad137477 |
01-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Subprogram is a scope. Derive DISubprogram from DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5e005d814f13f1796cf9e32c7525a5241fface1a |
01-Sep-2009 |
Devang Patel <dpatel@apple.com> |
Rename DIBlock as DILexicalBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c9f322d9a62c57ba965678a874faad6d239b9256 |
31-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Derive DICompileUnit from DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80627 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
dc8f6049d11ee73835c7b7e9b7c6d0b9e6a2c9b1 |
31-Aug-2009 |
Caroline Tice <ctice@apple.com> |
Add flag to mark structs for Apple Block "byref" variables; also add code to modify the type and location debug information for these variables to match the programmer's expectations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80625 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
42214899082bfb5b6f8c6a09d355fec9ef4a0e82 |
31-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Extend the ValuesAtScope cache to cover all expressions, not just SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code can also end up repeatedly climing through the same expression trees, which can be unusably slow when the trees are very tall. Also, add a quick check for SCEV pointer equality to the main SCEV comparison routine, as the full comparison code can be expensive in the case of large expression trees. These fix compile-time problems in some pathlogical cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80623 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
43d98b3c4ecd564d4666468983322c019819f730 |
31-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Introduce DIScope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80620 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
6ceea33c5e5c00069453e48740aaef5fe1c0953b |
31-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Simplify isDerivedType() and other predicate interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
be577659d3c1222cc58c33628c0baddb94d241ab |
31-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Step #1 to giving Callgraph some sane invariants. The problems with callgraph stem from the fact that we have two types of passes that need to update it: 1. callgraphscc and module passes that are explicitly aware of it 2. Functionpasses (and loop passes etc) that are interlaced with CGSCC passes by the CGSCC Passmgr. In the case of #1, we can reasonably expect the passes to update the call graph just like any analysis. However, functionpasses are not and generally should not be CG aware. This has caused us no end of problems, so this takes a new approach. Logically, the CGSCC Pass manager can rescan every function after it runs a function pass over it to see if the functionpass made any updates to the IR that affect the callgraph. This allows it to catch new calls introduced by the functionpass. In practice, doing this would be slow. This implementation keeps track of whether or not the current scc is dirtied by a function pass, and, if so, delays updating the callgraph until it is actually needed again. This was we avoid extraneous rescans, but we still have good invariants when the callgraph is needed. Step #2 of the "give Callgraph some sane invariants" is to change CallGraphNode to use a CallBackVH for the callsite entry of the CallGraphNode. This way we can immediately remove entries from the callgraph when a FunctionPass is active instead of having dangling pointers. The current pass tries to tolerate these dangling pointers, but it is just an evil hack. This is related to PR3601/4835/4029. This also reverts r80541, a hack working around the sad lack of invariants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80566 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
b374b90e81d0ce6b5d02041ba4f7b15a945b38d8 |
31-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Fix PR4834, a tricky case where the inliner would resolve an indirect function pointer, inline it, then go to delete the body. The problem is that the callgraph had other references to the function, though the inliner had no way to know it, so we got a dangling pointer and an invalid iterator out of the deal. The fix to this is pretty simple: stop the inliner from deleting the function by knowing that there are references to it. Do this by making CallGraphNodes contain a refcount. This requires moving deletion of available_externally functions to the module-level cleanup sweep where it belongs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80533 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
5095e3d1d1caef8d573534d369e37277c623064c |
31-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Fix some nasty callgraph dangling pointer problems in argpromotion and structretpromote. Basically, when replacing a function, they used the 'changeFunction' api which changes the entry in the function map (and steals/reuses the callgraph node). This has some interesting effects: first, the problem is that it doesn't update the "callee" edges in any callees of the function in the call graph. Second, this covers for a major problem in all the CGSCC pass stuff, which is that it is completely broken when functions are deleted if they *don't* reuse a CGN. (there is a cute little fixme about this though :). This patch changes the protocol that CGSCC passes must obey: now the CGSCC pass manager copies the SCC and preincrements its iterator to avoid passes invalidating it. This allows CGSCC passes to mutate the current SCC. However multiple passes may be run on that SCC, so if passes do this, they are now required to *update* the SCC to be current when they return. Other less interesting parts of this patch are that it makes passes update the CG more directly, eliminates changeFunction, and requires clients of replaceCallSite to specify the new callee CGN if they are changing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80527 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
23603a61c9bd43224db0b52126a415901d7550b4 |
31-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
add a dump() method on callgraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80524 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
e4b275610a7a05b7ee4c0378a906a6330e4c4ab0 |
29-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Reapply 79977. Use MDNodes to encode debug info in llvm IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a1ba269a27ca9d776e6de77e8177fa8fa844bd5e |
28-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Closure is a very generic name. Use AppleBlock instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80307 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
7362ce08cb2c1f0b544b18dbc21630fb4baebcfc |
28-Aug-2009 |
Gabor Greif <ggreif@gmail.com> |
eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80304 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
onstantsScanner.h
ntervalIterator.h
|
c75cd159cd5e428c9b0c8fb761b83c86844cd287 |
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Minor code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80266 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
1af0513be758ea49c85e098dc1a3d54157b0def7 |
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Be somewhat more consistent about const qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80264 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
5753a4a0033da4add45f2e9930a4e1159d92a869 |
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Global Aliases are not identifiable objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80263 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
846a2f2703f6bb894098274964faf5dce0b68c4d |
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Handle TargetData with const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80262 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
0aeed044d6c9849351918f0535b8ce30ba2c4200 |
27-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Strip trailing whitespace from blank lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80259 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
1e1de493949eac34bfd00d44c77364f3fbac9534 |
27-Aug-2009 |
Gabor Greif <ggreif@gmail.com> |
the buildbots revealed one more breakage. fix. (why didn't I see this?) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80227 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
|
f0891be8bdbeeadb39da5575273b6645755fa383 |
27-Aug-2009 |
Gabor Greif <ggreif@gmail.com> |
Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80224 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
onstantsScanner.h
|
4bac4b9899ea4e56f4b5dd99887d4e460e0f13ad |
26-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Move ProfileInfo::Edge's operator<< out of line. Among other benefits, this eliminates the ATTRIBUTE_USED, which wasn't being used in a manner acceptable to some GCC versions, according to the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80103 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
0ef68e8fbb25213794f88c6c42f2488341bc05c6 |
26-Aug-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Bugfix for r80100, forgot include. Sorry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80101 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
ff271e13539a43e804cab4457821a46a8bddc2ec |
26-Aug-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
Implemented comments from Daniel Dunbar. (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084958.html) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80100 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
rofileInfo.h
|
2385e0e22ca482f2896dfa975a08db2f54926c09 |
26-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Create a ScalarEvolution-based AliasAnalysis implementation. This is a simple AliasAnalysis implementation which works by making ScalarEvolution queries. ScalarEvolution has a more complete understanding of arithmetic than BasicAA's collection of ad-hoc checks, so it handles some cases that BasicAA misses, for example p[i] and p[i+1] within the same iteration of a loop. This is currently experimental. It may be that the main use for this pass will be to help find cases where BasicAA can be profitably extended, or to help in the development of the overall AliasAnalysis infrastructure, however it's also possible that it could grow up to become a directly useful pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80098 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
824598883513789516a919651f4b35e7a638ec5c |
26-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Revert 79977. It causes llvm-gcc bootstrap failures on some platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e1f515ea59df5cb989c371604bba2271e6f3ee0d |
26-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
fix some funky indentation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80068 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8af76bdb7450b097efa17f7c192882111a9e8f10 |
26-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute. Patch by Caroline Tice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2a610c7387664bc557a35ce3bb4c0d4df56e4755 |
25-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
96135b617a5c752ea98388d0ed4a289c47c147b3 |
24-Aug-2009 |
Andreas Neustifter <astifter-llvm@gmx.at> |
This patch cleans up the ProfileInfo by *) introducing new data type and export function of edge info for whole function (preparation for next patch). *) renaming variables to make clear distinction between data and containers that contain this data. *) updated comments and whitespaces. *) made ProfileInfo::MissingValue a double (as it should be...). (Discussed at http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084955.html.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79940 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
9661c13c37d017df6f91a399c0160b82e8a6c39f |
24-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove a few dead insertion methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79882 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
oopDependenceAnalysis.h
ointerTracking.h
calarEvolution.h
|
103289e9383ad1eb66caf28c9b166aebce963a35 |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
convert LoopInfo.h and GraphWriter.h to use raw_ostream git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79836 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
45cfe545ec8177262dabc70580ce05feaa1c3880 |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Change Pass::print to take a raw ostream instead of std::ostream, update all code that this affects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ominators.h
indUsedTypes.h
nterval.h
ntervalPartition.h
oopInfo.h
oopVR.h
ostDominators.h
calarEvolution.h
|
791102fb1192ac9483274e54cbc42480c9b1af10 |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the std::ostream form of WriteAsOperand and update clients. This also updates dominator related stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79825 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
ominators.h
oopInfo.h
ostDominators.h
|
bdff548e4dd577a72094d57b282de4e765643b96 |
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the "Value" printing methods that print to a std::ostream. This required converting a bunch of stuff off DOUT and other cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79819 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
race.h
|
5078f84c82814e4d33846f9ef54281619d362f8a |
20-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap and hasNoSignedWrap, for consistency with the nuw and nsw properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79539 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
4c0d5d5db876b0628bdf6a2174263a1c0a9130e2 |
20-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Various comment and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79533 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
c40f17b08774c2dcc5787fd83241e3c64ba82974 |
18-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Generalize ScalarEvolution to be able to analyze GEPs when TargetData is not present. It still uses TargetData when available. This generalization also fixed some limitations in the TargetData case; the attached testcase covers this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79344 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
12ddd409535b52a7fa5157ded9a4cedd161fedb6 |
11-Aug-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make LLVMContext and LLVMContextImpl classes instead of structs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78690 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
ebugInfo.h
calarEvolution.h
parsePropagation.h
alueTracking.h
|
ffef8acc3e3398bdd04e947c7949befdd52faf86 |
11-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Tidy #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78677 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
72bcdb6c9b5456cf6687c9066ae9d220ebedd80a |
11-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Keep track of DIType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78602 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c43782cf7163805fb6d727382b5f807ea035b2b0 |
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Some ProfileInfo cleanups. - Part of optimal static profiling patch sequence by Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78485 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
rofileInfo.h
|
55e354ac0e294bde258420f80a2cc11ea19db482 |
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add a basic static ProfileInfo provider (ProfileEstimatorPass). - Part of optimal static profiling patch sequence by Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78484 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
asses.h
|
caaa49336b47b542d7255a8455fbab2e14a20ec5 |
08-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
More ProfileInfo improvements. - Part of optimal static profiling patch sequence by Andreas Neustifter. - Store edge, block, and function information separately for each functions (instead of in one giant map). - Return frequencies as double instead of int, and use a sentinel value for missing information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78477 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
699db99c1a356eaa407ee03ebdf8553853d82bbd |
07-Aug-2009 |
Andreas Bolka <a@bolka.at> |
SIV/MIV classification for LDA. LoopDependenceAnalysis::getLoops is currently O(N*M) for a loop-nest of depth N and a compound SCEV of M atomic SCEVs. As both N and M will typically be very small, this should not be a problem. If it turns out to be one, rewriting getLoops as SCEVVisitor will reduce complexity to O(M). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78394 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
bceda93251ff2cbcf54fb315e23027f426bfea80 |
06-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78335 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
27a201d236913df429d6b959cbfb72b93f774ce0 |
06-Aug-2009 |
Devang Patel <dpatel@apple.com> |
Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78313 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c9008c5cc7113ea4c3a262e346c0dfcdbca12ae6 |
05-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Make block and function count available via ProfileInfo. - Part of optimal static profiling patch sequence by Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78247 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
ee16638bfc9c17068c4b3c2dc130277785a11e20 |
05-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove unnecessary ProfileInfoLoader methods. - Part of optimal static profiling patch sequence by Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78199 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
831f6f6d2ae5a1ad988c8328404b052b7985ce31 |
05-Aug-2009 |
Andreas Bolka <a@bolka.at> |
ZIV tester for LDA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78157 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
48b2f3e4850cd27d54224cd42da8a160d6b95984 |
05-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Factor some of the constants+context related code out into a separate header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78115 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
ebugInfo.h
calarEvolution.h
parsePropagation.h
alueTracking.h
|
5eca4525f42a99eec29be1676a7a77928853c521 |
03-Aug-2009 |
Andreas Bolka <a@bolka.at> |
Restrict LDA to affine subscripts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77932 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
81acc554b9599bacf843e080dbf4c72fe88de0f7 |
31-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77715 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
a818c30d664cd4ba4b9ed69fb2048a6ea55ec9cd |
31-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix some problems with ASTCallbackVH in its use as a DenseMap key. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77696 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
b4d31306a4f9e84a7ab6ace99964634adb4bf7e6 |
31-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Process DbgDeclareInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77694 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
b5b56ba9d4df47e618d4e0f9e1e09bf216733ee8 |
30-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Use CallbackVH in AliasSetTracker to avoid getting stuck with dangling Value*s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77623 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
98c65173bb27e1df4ebe87f8c864d6dc197209ca |
30-Jul-2009 |
Devang Patel <dpatel@apple.com> |
s/DebugInfoEnumerator/DebugInfoFinder/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77615 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e802f1c4c3c4d1e27117c66d428715d01fda385d |
30-Jul-2009 |
Devang Patel <dpatel@apple.com> |
walk DbgRegionStartInst and DbgRegionEndInst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77604 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
15f72dbf972f056b1685786e5118148fb528f233 |
29-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Skeleton for pairwise subscript testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77437 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
d2f79a13463f8797fbffa0e5d577c5bddc9126fb |
28-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Add DebugInfoEnumerator to collect debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77360 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c3cc45aa8be036412726ccd02d8a6496652eac2b |
28-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Simplify LDA-internal interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77359 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
e2d5a6c3bb9b2c3bce78bb0143d8988bf6735d44 |
27-Jul-2009 |
Devang Patel <dpatel@apple.com> |
80 columns! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77243 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
07ad19b509530b43e6a9acc5c1285cb560dd7198 |
27-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix wording in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77193 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
7e77f7959162a601291fd5400a88908d021033d3 |
25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix a few comments to say "backedge-taken count" instead of "trip count". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77081 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
fef8bb24de86ff41d09a7787c6c52b058a853e39 |
25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Instead of eagerly creating new SCEVs to replace all SCEVs that are affected after a PHI node has been analyzed, just remove affected SCEVs from the Scalars map, so that they'll be (lazily) recreated as needed. This avoids creating SCEV objects that aren't actually needed. Also, rewrite the associated def-use walking code to be non-recursive and to continue traversing past Instructions that don't have an entry in the Scalars map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77032 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0b |
25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make AliasAnalysis and related classes use getAnalysisIfAvailable<TargetData>(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77028 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
0baa25d5391c9e94215830382d21b92b786d9ab4 |
25-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Forward-declare raw_ostream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77014 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
d3ff30455707d479dfb883b3ea12794bb37b91b3 |
24-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Give SCEVAddRecExpr no-signed-overflow and no-unsigned-overflow flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76928 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
2f1b15386f84a607304fca7e26fa6b67b490df4d |
24-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Give the SCEV class a SubclassData field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76927 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
a271d36d7ce96bce52fcb73ca1ef028d9a9d8d0f |
24-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76926 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
b4c28e97f4cccd6ec8b816183bada8d0845a8966 |
23-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Cache dependence computation using FoldingSet. This introduces an LDA-internal DependencePair class. The intention is, that this is a place where dependence testers can store various results such as SCEVs describing conflicting iterations, breaking conditions, distance/direction vectors, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76877 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
3b59dd886a9b8eacd39dd5774aaa989f277f6c88 |
23-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Minor cosmetics: indentation, formatting, naming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76839 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
c4999d71e162bab8c38fe104554a3b81b4f08771 |
22-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Add replaceAllUsesWith() to FE replace debug info constructs while building complex types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76765 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e922c0201916e0b980ab3cfe91e1413e68d55647 |
22-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of the Pass+Context magic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
oopPass.h
calarEvolution.h
calarEvolutionExpander.h
alueTracking.h
|
0f4b285a5b86b1e9c6e27bb46028dfbb77bb5db4 |
22-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Replace the original ad-hoc code for determining whether (v pred w) implies (x pred y) with more thorough code that does more complete canonicalization before resorting to range checks. This helps it find more cases where the canonicalized expressions match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76671 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
fc8deb971d2b4dff370ba93948975e33a038605d |
17-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Commit this change, to accompany r76232. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76238 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
001dbfebcbbded8c8e74b19e838b50da2b6c6fb5 |
16-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a number of issues in our current context-passing stuff, which is also fixed here git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
937738649386b8188524d0cd61943214a5b93cf6 |
16-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Add an isLoopSimplifyForm() predicate, following the example of isLCSSAForm(), to test whether a loop is in the form guaranteed by the LoopSimplify pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76077 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
688ed8583eaa1544e8e53b039b2b8284d2e9268a |
16-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Tidy up #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76072 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
race.h
|
206613b289f60b71a76e9190d36b9ea9e47a701e |
15-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix a typo in a comment that Duncan noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75804 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
bdc017edacb713119b24ab269d250a82d62fffeb |
15-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make makeLoopInvariant report whether it made any changes or not, and use this to simplify more code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75722 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
969f28dfb6478b1759cb13a216d3dc5515a889d1 |
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Introduce a pointertracking pass. For now this only computes the allocated size of the memory pointed to by a pointer, and offset a pointer from allocated pointer. The actual checkLimits part will come later, after another round of review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75657 91177308-0d34-0410-b5e6-96231b3b80d8
ointerTracking.h
|
c23197a26f34f559ea9797de51e187087c039c42 |
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
858cb8a5e07d4fe4b516a99eef7e8c028516a679 |
14-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
ProfileInfo interface tweaks. - Add getExecutionCount(const Function). - Add helper Edge type. - constify. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75623 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
a342026504e65e2c8dc5600dab4b45ab4f94026d |
14-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Introduce a new LoopInfo utility function makeLoopInvariant, which works similar to isLoopInvariant, except that it will do trivial hoisting to try to make the value loop invariant if it isn't already. This makes it easier for transformation passes to clear trivial instructions out of the way (the regular LICM pass doesn't run until relatively late). This is code factored out of LoopSimplify and other places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75578 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
03ee68a145ab5394c070298049d93f305be93ec3 |
14-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Forward-declare Loop and LoopInfo instead of #including LoopInfo.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75529 91177308-0d34-0410-b5e6-96231b3b80d8
oopVR.h
calarEvolution.h
calarEvolutionExpander.h
|
16a2c927e95c29a316d0271c93e0490ce3bc06ce |
14-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable, and related functions out of LoopBase and into Loop, since they are specific to BasicBlock-based loops. This also allows the code to be moved out-of-line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75523 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
c8d76d5afb023a1c6b439941be3b62789fcc0ed3 |
13-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs, using the Curiously Recurring Template Pattern with LoopBase. This will help further refactoring, and future functionality for Loop. Also, Headers can now foward-declare Loop, instead of pulling in LoopInfo.h or doing tricks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75519 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
85b05a2e60e0e696739167b52cc7cc3e7cf390c0 |
13-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Reapply 75252, with a fix to avoid the infinite recursion case. The check for avoiding re-analyzing a widening cast needed to happen earlier, as getSCEV itself may result in a isLoopGuardedByCond query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75511 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
c050fd94c29e31414591e3a18aa20049e6b3a84f |
13-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates a bunch of redundent code in Profile methods, and prepares for upcoming changes to do improved memoization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75494 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
deb052a3dd0227579f86d74b3c1d70384ea5c16b |
13-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Match declaration to definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75440 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
calarEvolution.h
|
460d16e126c4c7223926f5066567398ee2236651 |
13-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Match declaration to definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75438 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
d0cca2415099e80bd11e6b2090896719b07afd93 |
11-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Revert r75252 which was causing some crashes at compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75384 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
c25e7581b9b8088910da31702d4ca21c4734c6d7 |
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
1afdc5f3565f09d33de888fede895540059dca4c |
10-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Remove ScalarEvolution::hasSCEV, which isn't being used, and which breaks encapsulation. Also remove a dead prototype for setSCEV. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75272 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1b342583f6fc42f548912632f6aa24fc6e11986a |
10-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Generalize ScalarEvolution's cast-folding code to support more kinds of loops. Add several new functions to for working with ScalarEvolution's add-hoc value-range analysis functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75252 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
45524c58fd5f77b6a3f6e77d43fba85b36ec0b08 |
10-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75213 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
7b9547089f0363b803e55dcbde1d6b99710dfe69 |
10-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Fix typo, trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75179 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
d1fbd142945f5ef0c273c3d756431f8cb9d25ded |
08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContext _back_ through IRBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75040 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
59ae6b99872953761dfda5984801d23a66692673 |
08-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Make the code that updates ScalarEvolution's internal state in response to a loop deletion more thorough. Don't prune the def-use tree search at instructions that don't have SCEVs computed, because an instruction with a user that has a computed SCEV may itself lack a computed SCEV. Also, remove loop-related values from the ValuesAtScopes and ConstantEvolutionLoopExitValues maps as well. This fixes a regression in 483.xalancbmk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75030 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
9903527c142a37a25ea3b2212cb04a182331fbfa |
07-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Re-LLVMContext-ize DebugInfo, now with less breakage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74920 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0bba49cebc50c7bd4662a4807bcb3ee7f42cb470 |
07-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Change all SCEV* to SCEV *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74918 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
oopVR.h
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
07cf79ef537caff6d39145f190a28a336e629b6f |
07-Jul-2009 |
Owen Anderson <resistor@mac.com> |
"LLVMContext* " --> "LLVMContext *" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74878 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
calarEvolution.h
parsePropagation.h
|
76f600b205606a055ec35e7d3fd1a99602329d67 |
07-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's through the ValueTracking API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74873 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
parsePropagation.h
alueTracking.h
|
508955156a25a9abc470a29e1760aa176d341cf9 |
06-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Thread LLVMContext through the constant folding APIs, which touches a lot of files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74844 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
calarEvolution.h
calarEvolutionExpander.h
|
7e1e31f467d87c834d8baf673929865907901313 |
03-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Simplify debug info intrisinc lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74733 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
dfc8536d7bedbd7ce826235d7b408c4e969ccc8c |
02-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Fix typo. Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74706 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9e529c3f787ec18f237c5c7f0aa8952fcc345e9a |
02-Jul-2009 |
Devang Patel <dpatel@apple.com> |
Add debug info utility routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74680 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f530c92cd55f35f64904e42e38b3a2bc92b347cb |
02-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Fix a bunch of other places that used operator[] to test whether a key is present in a std::map or DenseMap to use find instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74676 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
fecbc59be6a53fb487a2405799d7a452e022142d |
01-Jul-2009 |
Andreas Bolka <a@bolka.at> |
Use AA to check objects before LDA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74647 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
b1d7a5d1146c30a54002b7ab49daf024e3174b95 |
01-Jul-2009 |
Misha Brukman <brukman+llvm@gmail.com> |
Use correct format for LLVM header #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74620 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
f67799501cb8d17107133af658b8b705081b4c92 |
30-Jun-2009 |
Andreas Bolka <a@bolka.at> |
Drop redundant print impl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74553 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
f35626d3cda3af2f445a04322253a0d9dca607db |
28-Jun-2009 |
Andreas Bolka <a@bolka.at> |
Minimal LDA interface, maximally conservative tester. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74401 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
707207adaed969c32a09ae873ac5a171b3744617 |
28-Jun-2009 |
Andreas Bolka <a@bolka.at> |
LDA analysis output scaffolding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74400 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
|
9d59d9f8495b0361c9ffd1dc82888d8e7ba5070e |
27-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Eliminate a layer of indirection in LoopInfo and MachineLoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74394 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
1c34375f79b7786351c27ae45f0412cfdfa004ed |
27-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Convert ScalarEvolution to use BumpPtrAllocator and FoldingSet, instead of a team of individual allocations and a team of std::maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74393 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
267a385342f2e7388f178b327dd87c5f29afd51b |
27-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Change SCEVExpander to use an IRBuilder to emit instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74391 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
667d787c0a21cf3f5dfcde03ca471162ba35b614 |
27-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Incorporate the insertion point into the key of SCEVExpander's CSE map. This helps it avoid reusing an instruction that doesn't dominate all of the users, in cases where the original instruction was inserted before all of the users were known. This may result in redundant expansions of sub-expressions that depend on loop-unpredictable values in some cases, however this isn't very common, and it primarily impacts IndVarSimplify, so GVN can be expected to clean these up. This eliminates the need for IndVarSimplify's FixUsesBeforeDefs, which fixes several bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74352 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
d8ac1be6862c0611cc0b3a726ad4c3141e7a3d9e |
26-Jun-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Delete LoopPass::runOnFunctionBody. It was never used or implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74320 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
e2f9382c727df18150a161058850ff432f7fe432 |
26-Jun-2009 |
Devang Patel <dpatel@apple.com> |
Remove unnecessary includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74254 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
13e16b65ddd679d6edb5f182d683701fdea37b85 |
26-Jun-2009 |
Devang Patel <dpatel@apple.com> |
Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprograms and llvm.dbg.global_variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74251 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a278f3f55212e38c0647909f51ee7d2d6e41799a |
25-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Add a getUniqueExitBlock utility function, similar to getExitBlock, but for getUniqueExitBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74145 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
09fc0fa0b179c1544a79ead002f565e2842db40c |
25-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of a static boolean. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74125 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
cb21010fa0d7fd7018ddd966ca5bb48a47022ad0 |
24-Jun-2009 |
Andreas Bolka <a@bolka.at> |
Scaffolding for LDA pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74120 91177308-0d34-0410-b5e6-96231b3b80d8
oopDependenceAnalysis.h
asses.h
|
650919e8b0aa28d20b8ff11f42ba81fea8b336cc |
24-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Remove an obsolete comment and fix some 80-column violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74059 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
40a5a1b39ee1cd40ff9d04740386b667fb27b340 |
24-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Extend ScalarEvolution's multiple-exit support to compute exact trip counts in more cases. Generalize ScalarEvolution's isLoopGuardedByCond code to recognize And and Or conditions, splitting the code out into an isNecessaryCond helper function so that it can evaluate Ands and Ors recursively, and make SCEVExpander be much more aggressive about hoisting instructions out of loops. test/CodeGen/X86/pr3495.ll has an additional instruction now, but it appears to be due to an arbitrary register allocation difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74048 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
6bbcba18db6d1f4bc0f0157df41cc02627bc4aa9 |
24-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Move the special cases for constants out of getUnknown and into createSCEV. Also, recognize UndefValue in createSCEV. Change getIntegerSCEV's comment to avoid mentioning FP types, and re-implement it in terms of getConstant instead of getUnknown. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74041 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
4d289bf4af88759be173a1a809bf8c092d729764 |
24-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Add an isAllOnesValue utility function, similar to isZero and isOne. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74032 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
9af2fa879ca5bc900ea44d2c45534287454844de |
24-Jun-2009 |
Devang Patel <dpatel@apple.com> |
It is not a good idea to have data member's name match argument's name. In fact, it is a simple receipe to waste an hour or so. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74018 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
0de4fa621e60a542d9bd43c09bd596ba452f035c |
24-Jun-2009 |
Devang Patel <dpatel@apple.com> |
Add DISubprogram::getReturnTypeName() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74015 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
753ad615f96c3d56d6f17983bdba88012e88677c |
22-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Remove the parent pointer from SCEV, since it did not end up being needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73907 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
372b46cad9f745859f542f9d2216991585ae83f4 |
22-Jun-2009 |
Owen Anderson <resistor@mac.com> |
SCEVHandle is no more! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73906 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
oopVR.h
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
08367b61638b4d446ebab69e2aad6431daa77ba7 |
22-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Banish global state from ScalarEvolution! SCEV uniquing is now done by tables attached to the ScalarEvolution pass. This also throws out the SCEV reference counting scheme, as the the SCEVs now have a lifetime controlled by the ScalarEvolution pass. Note that SCEVHandle is now a no-op, and will be remove in a future commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73892 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
c9759e80f45e5690c3ed3b69c2e9ffd5a1bffd9c |
22-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Add a getUMinFromMismatchedTypes helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73883 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
f9a9a9928cc977970d9852292b1c139074ecf055 |
22-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Factor out code for computing umin and smin for SCEV expressions into helper functions. Based on a patch by Nick Lewycky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73869 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
a334aa7a106d5ebb971862f25daaadad48d96235 |
22-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Teach ScalarEvolution how to analyze loops with multiple exit blocks, and also exit blocks with multiple conditions (combined with (bitwise) ands and ors). It's often infeasible to compute an exact trip count in such cases, but a useful upper bound can often be found. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73866 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
51f53b7f5a0e859ceef995c61667905166b96f1b |
22-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Fix ScalarEvolution's backedge-taken count computations to check for overflow when computing a integer division to round up. Thanks to Nick Lewycky for noticing this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73862 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
2c364ad4a65737f3bda876f86eba0061ecbd5470 |
20-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Make GetMinTrailingZeros a member function of ScalarEvolution, so that it can access the TargetData member (when available) and use ValueTracking.h information to compute information for SCEVUnknown Values. Also add GetMinLeadingZeros and GetMinSignBits functions, with minimal implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73794 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
4a7893b4527819aae229f539ab9c3eeecc6a10e2 |
19-Jun-2009 |
Owen Anderson <resistor@mac.com> |
Add a parent pointer to SCEV, in preparation for getting rid of the global uniquing tables. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73728 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
4e8a98519ebf75ed47456ea42706aaa57ecd2c27 |
18-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Remove the code from IVUsers that attempted to handle casted induction variables in cases where the cast isn't foldable. It ended up being a pessimization in many cases. This could be fixed, but it would require a bunch of complicated code in IVUsers' clients. The advantages of this approach aren't visible enough to justify it at this time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73706 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
6de29f8d960505421d61c80cdb738e16720b6c0e |
16-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Support vector casts in more places, fixing a variety of assertion failures. To support this, add some utility functions to Type to help support vector/scalar-independent code. Change ConstantInt::get and ConstantFP::get to support vector types, and add an overload to ConstantInt::get that uses a static IntegerType type, for convenience. Introduce a new getConstant method for ScalarEvolution, to simplify common use cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73431 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
444f49150df8a4280ccea20fc2839cd899fc7558 |
15-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Specialize DenseMapInfo for SCEVHandle, so that SCEVHandles can be used as keys in DenseMaps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73360 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
a82752c9eb5fbdd1b7276fde7349ac9453eb5a75 |
15-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Convert several parts of the ScalarEvolution framework to use SmallVector instead of std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73357 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
2ce84c8d4784dfd24458a63db8d531917d2f8ba5 |
13-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Add a ScalarEvolution::getAnyExtendExpr utility function for performing extension with unspecified bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73293 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
86fbf2fe4cae21febffa4bb2f64cd0c2ee834694 |
06-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Rename UnknownValue to CouldNotCompute, since it holds an instance of SCEVCouldNotCompute, and not SCEVUnknown. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72999 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1d09de3eca23267855e28297fcb40de3632ea47b |
05-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Move SCEVExpander::getOrInsertCanonicalInductionVariable out of line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72949 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
a8ba2c25e9ea7b0d213b485debe5d044efde66a4 |
03-Jun-2009 |
Eli Friedman <eli.friedman@gmail.com> |
PR4317: Handle splits where the new block is unreachable correctly in DominatorTreeBase::Split. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72810 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
7714285efd2a7f4e503f0f600667193e63ee6d08 |
02-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Change ConstantFoldConstantExpression to accept a null TargetData pointer. The only thing it's used for are calls to ConstantFoldCompareInstOperands and ConstantFoldInstOperands, which both already accept a null TargetData pointer. This makes ConstantFoldConstantExpression easier to use in clients where TargetData is optional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72741 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
014d53595c06a77d0f06f92ef8a7ab15e7e05c4a |
02-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Delete an unnecessary forward declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72740 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
d9480d0f6875d8aa3a0d91942d24f0ee416b1ff1 |
26-May-2009 |
Dan Gohman <gohman@apple.com> |
Give SCEVNaryExpr a doxygen comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72423 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
6c0866ca8373da318741cc90ad7afd1bda22bb1b |
25-May-2009 |
Dan Gohman <gohman@apple.com> |
Various comment fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72376 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
d594e6f0345b3e1e4b640a7099596ca613da16d6 |
25-May-2009 |
Dan Gohman <gohman@apple.com> |
Change ScalarEvolution::getSCEVAtScope to always return the original value in the case where a loop exit value cannot be computed, instead of only in some cases while using SCEVCouldNotCompute in others. This simplifies getSCEVAtScope's callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72375 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
453aa4fbf1083cc7f646a0ac21e2bcc384a91ae9 |
24-May-2009 |
Dan Gohman <gohman@apple.com> |
Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid sending SCEVUnknowns to expandAddToGEP. This avoids the need for expandAddToGEP to bend the rules and peek into SCEVUnknown expressions. Factor out the code for testing whether a SCEV can be factored by a constant for use in a GEP index. This allows it to handle SCEVAddRecExprs, by recursing. As a result, SCEVExpander can now put more things in GEP indices, so it emits fewer explicit mul instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72366 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
b679de2a21f5ecbae81b444290d72af93aa5b0b3 |
24-May-2009 |
Torok Edwin <edwintorok@gmail.com> |
The rewriter may hold references to instructions that are deleted because they are trivially dead. Fix by clearing the rewriter cache before deleting the trivially dead instructions. Also make InsertedExpressions use an AssertingVH to catch these bugs easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72364 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
15002a2b528e04a5edcfccbec392f5d6b19f7f6a |
21-May-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix broken logic in DominatorTreeBase::Split. Part of PR4238. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72231 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
e528fca6735158caefe5d6bb58dcbd0c108845c5 |
21-May-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72227 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
0a8fe7a2458f0412bce1ed282fd1a3ca6fdc51bc |
20-May-2009 |
Duncan Sands <baldrick@free.fr> |
When comparing DominanceFrontier's, advance iterators before erasing nodes, not after. Otherwise dom frontier checking reads from freed memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72168 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
1959b7562e57f8394496e761486f23b187ac3f1b |
19-May-2009 |
Dan Gohman <gohman@apple.com> |
Make SCEVCallbackVH a private nested class inside ScalarEvolution, as it's an implementation detail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72122 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
5be18e84766fb495b0bde3c8244c1df459a18683 |
19-May-2009 |
Dan Gohman <gohman@apple.com> |
Teach SCEVExpander to expand arithmetic involving pointers into GEP instructions. It attempts to create high-level multi-operand GEPs, though in cases where this isn't possible it falls back to casting the pointer to i8* and emitting a GEP with that. Using GEP instructions instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that don't use ScalarEvolution, such as BasicAliasAnalysis. Also, make the AddrModeMatcher more aggressive in handling GEPs. Previously it assumed that operand 0 of a GEP would require a register in almost all cases. It now does extra checking and can do more matching if operand 0 of the GEP is foldable. This fixes a problem that was exposed by SCEVExpander using GEPs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72093 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
|
6c3534c5aa6b1d34b277dfaca3af86ac41e53f0e |
19-May-2009 |
Dan Gohman <gohman@apple.com> |
Add some comments noting how IndVarSimplify facilitates LoopInfo functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72091 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
39592233304acbbeea8c53bac2b6a822a63a4c4b |
19-May-2009 |
Dan Gohman <gohman@apple.com> |
Update a comment to reflect changes in the surrounding code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72051 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
859b4824eeb2d88c441e855afe3dd7827dfd62a4 |
18-May-2009 |
Dan Gohman <gohman@apple.com> |
Make ScalarEvolution::isLoopGuardedByCond work even when the edge entering a loop is a non-split critical edge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72004 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
70a1fe704831f9b842be0b2a2af5f7082b0e540c |
18-May-2009 |
Dan Gohman <gohman@apple.com> |
Add an isOne() utility function to ScalarEvolution, similar to isZero() and similar to ConstantInt's isOne(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72003 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
dc817b6f4220ea386f9621800d64f4c0e36f75c7 |
14-May-2009 |
Bill Wendling <isanbard@gmail.com> |
Non-functionality changes: - Reformatting. - Use while() instead of do-while(). - Move simple constructors into .h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71782 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
467c430316b7a5b6fa8069531ca8d603b1e1197f |
13-May-2009 |
Dan Gohman <gohman@apple.com> |
Add three new helper routines, getNoopOrZeroExtend, getNoopOrSignExtend, and getTruncateOrNoop. These are similar to getTruncateOrZeroExtend etc., except that they assert that the conversion is either not widening or narrowing, as appropriate. These will be used in some upcoming fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71632 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
b877a1f5458e26bb1020d4a07637d898559fc8a7 |
12-May-2009 |
Bill Wendling <isanbard@gmail.com> |
More MSVC fixes -- class/struct conflicts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71601 91177308-0d34-0410-b5e6-96231b3b80d8
ibCallAliasAnalysis.h
|
81db61a2e6d3c95a2738c3559a108e05e9d7a05a |
12-May-2009 |
Dan Gohman <gohman@apple.com> |
Factor the code for collecting IV users out of LSR into an IVUsers class, and generalize it so that it can be used by IndVarSimplify. Implement the base IndVarSimplify transformation code using IVUsers. This removes TestOrigIVForWrap and associated code, as ScalarEvolution now has enough builtin overflow detection and folding logic to handle all the same cases, and more. Run "opt -iv-users -analyze -disable-output" on your favorite loop for an example of what IVUsers does. This lets IndVarSimplify eliminate IV casts and compute trip counts in more cases. Also, this happens to finally fix the remaining testcases in PR1301. Now that IndVarSimplify is being more aggressive, it occasionally runs into the problem where ScalarEvolutionExpander's code for avoiding duplicate expansions makes it difficult to ensure that all expanded instructions dominate all the instructions that will use them. As a temporary measure, IndVarSimplify now uses a FixUsesBeforeDefs function to fix up instructions inserted by SCEVExpander. Fortunately, this code is contained, and can be easily removed once a more comprehensive solution is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71535 91177308-0d34-0410-b5e6-96231b3b80d8
VUsers.h
|
fb791608115b5193419549b02825ed4337fd3a37 |
08-May-2009 |
Dan Gohman <gohman@apple.com> |
Fix another bug in r71252. This code supports GetElementPtr constant exprs as well as instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71262 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
6bce643c36e7263aada5058f08cd242b4ce6b87d |
08-May-2009 |
Dan Gohman <gohman@apple.com> |
Add memoization for getSCEVAtScope results for instructions which are not analyzed with SCEV techniques, which can require brute-forcing through a large number of instructions. This fixes a massive compile-time issue on 400.perlbench (in particular, the loop in MD5Transform). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71259 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
66a7e857aa5843da3a7d0f52aa09a5935cf565dc |
08-May-2009 |
Dan Gohman <gohman@apple.com> |
Make the SCEV* form of getSCEVAtScope public, to allow ScalarEvolution clients to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71258 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
26466c0eb3451c5c953b3cca8940359152c4f8e3 |
08-May-2009 |
Dan Gohman <gohman@apple.com> |
Factor out the code for creating SCEVs for GEPs into a separate function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71252 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1827e8263c9cb5dc29eea4999d8729f7376af4e1 |
08-May-2009 |
Dan Gohman <gohman@apple.com> |
Add a getExitBlock utility function to LoopInfo which returns the exit block of a loop, if there is exactly one, similar to getExitingBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71245 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9a38e3e3991ea443e555d8060f91202a786acdd4 |
07-May-2009 |
Dan Gohman <gohman@apple.com> |
Revert 71165. It did more than just revert 71158 and it introduced several regressions. The problem due to 71158 is now fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71176 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
5b8479c38532a28d86dea8ded09a30ff68f26912 |
07-May-2009 |
Bill Wendling <isanbard@gmail.com> |
Temporarily revert r71158. It was causing a failure during a full bootstrap: checking for bcopy... no checking for getc_unlocked... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decUtility.c:360: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [decUtility.o] Error 1 make[4]: *** Waiting for unfinished jobs.... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decNumber.c:5591: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [decNumber.o] Error 1 make[3]: *** [all-stage2-libdecnumber] Error 2 make[3]: *** Waiting for unfinished jobs.... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71165 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ecb403a9d3a340009c266d05cfca2bd778c7b156 |
07-May-2009 |
Dan Gohman <gohman@apple.com> |
Factor out a common base class between SCEVCommutativeExpr and SCEVAddRecExpr. This eliminates redundant code for visiting all the operands of an expression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71157 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
16de0136404b7e4703e528ae6f641c6fb7ee2f8b |
06-May-2009 |
Bill Wendling <isanbard@gmail.com> |
Add dump method to DIDescriptor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71028 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
35738ac150afafe2359268d4b2169498c6c98c5f |
05-May-2009 |
Dan Gohman <gohman@apple.com> |
Re-apply 70645, converting ScalarEvolution to use CallbackVH, with fixes. allUsesReplacedWith need to walk the def-use chains and invalidate all users of a value that is replaced. SCEVs of users need to be recalcualted even if the new value is equivalent. Also, make forgetLoopPHIs walk def-use chains, since any SCEV that depends on a PHI should be recalculated when more information about that PHI becomes available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70927 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
77eaa6880b8209acc05de733ebaba5d146c321a0 |
03-May-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
-Move the DwarfWriter::ValidDebugInfo check to a static DIDescriptor::ValidDebugInfo -Create DebugLocs without the need to have a DwarfWriter around git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70682 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f9a77b77c2324b2ca5c644909ebda387daf82fe3 |
03-May-2009 |
Dan Gohman <gohman@apple.com> |
Revert r70645 for now; it's causing a variety of regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70661 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
db6fa2964176c34f0e878e101427c28782c93419 |
02-May-2009 |
Dan Gohman <gohman@apple.com> |
Convert ScalarEvolution to use CallbackVH for its internal map. This makes ScalarEvolution::deleteValueFromRecords, and it's code that subtly needed to be called before ReplaceAllUsesWith, unnecessary. It also makes ValueDeletionListener unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70645 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
fb7d35f22a958747dd3ae8861ae3ce018146131c |
02-May-2009 |
Dan Gohman <gohman@apple.com> |
When ScalarEvolution is told to forget the trip count for a loop, have it also forget any SCEVs associated with loop-header PHIs in the loop, as they may be dependent on trip count information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70633 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
cf5ab820227dedd77fb91d0904b6dc3694a7c196 |
01-May-2009 |
Dan Gohman <gohman@apple.com> |
Actually insert inserted instructions into the InsertedValues map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70557 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
b52e1c587f166c6fb8b9abeaaeaee3bda944091b |
01-May-2009 |
Dan Gohman <gohman@apple.com> |
Add an accessor method to allow clients to test if a given expression is associated with a SCEV expansion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70556 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
99a1302ae4c438ab532826685280c0b69687e163 |
01-May-2009 |
Dan Gohman <gohman@apple.com> |
Make SCEVExpander::addInsertedValue able to accept Values, not just Instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70552 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
3d739fe3756bf67be23c2ca54ec7b04bef89bfe0 |
30-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Add some comments, and tidy up some whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70510 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
a1af757e0af9c2fb5ade4b06408e1adfa0425c6c |
30-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Extend ScalarEvolution's getBackedgeTakenCount to be able to compute an upper-bound value for the trip count, in addition to the actual trip count. Use this to allow getZeroExtendExpr and getSignExtendExpr to fold casts in more cases. This may eventually morph into a more general value-range analysis capability; there are certainly plenty of places where more complete value-range information would allow more folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70509 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1e59aa1332b67256dc0e76237eab7f6dd21a25b4 |
29-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Add some more doxygen comments to SCEVAddRec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70354 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
752ec7da506f5d41c08bd37e195750b57550ce68 |
23-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Change SCEVExpander's expandCodeFor to provide more flexibility with the persistent insertion point, and change IndVars to make use of it. This fixes a bug where IndVars was holding on to a stale insertion point and forcing the SCEVExpander to continue to use it. This fixes PR4038. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69892 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
6cdc727f2d7f68734526ef078f4632798ad40791 |
22-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Use BasicBlock::iterator instead of Instruction* for insert points, to better handle inserting instructions at the end of a block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69807 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
b928c57397f61e4c54274818dd63e61e21016d9d |
22-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Make SCEVExpanders private methods private, instead of protected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69806 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
f8a8be86e3972608741c1e1ecb89ec3c6f570552 |
22-Apr-2009 |
Dan Gohman <gohman@apple.com> |
De-pImpl-ify ScalarEvolution. The pImpl pattern doesn't provide much practical benefit in the case of ScalarEvolution, and it's otherwise a nuisance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69749 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
84923602fdc2a81957e5dee178d5737ad8e72f55 |
21-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Factor out a common base class from SCEVTruncateExpr, SCEVZeroExtendExpr, and SCEVSignExtendExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69649 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
af79fb5f47b0088c6a8973a7fdbaea96973a429d |
21-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Introduce encapsulation for ScalarEvolution's TargetData object, and refactor the code to minimize dependencies on TargetData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69644 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
|
b7ef72963b2215ca23c27fa8ea777bada06994d0 |
21-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Convert ScalarEvolution to use raw_ostream instead of OStream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69640 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
f4ccfcb70402b34ee55e0b5820cf287b95a8762f |
18-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Add a ScalarEvolution::getCouldNotCompute() function, and use it instead of allocating and leaking new SCEVCouldNotCompute objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69452 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
890f92b744fb074465bc2b7006ee753a181f62a4 |
18-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Use more const qualifiers with SCEV interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69450 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
f04fa483b83227c570bc58e1684ea096430a6697 |
16-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Teach SCEVExpander::InsertCastOfTo to avoid creating inttoptr-of-ptrtoint and ptrtoint-of-inttoptr expressions. This fixes a regression in 300.twolf. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69293 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
2d1be87ee40a4a0241d94448173879d9df2bc5b3 |
16-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Expand GEPs in ScalarEvolution expressions. SCEV expressions can now have pointer types, though in contrast to C pointer types, SCEV addition is never implicitly scaled. This not only eliminates the need for special code like IndVars' EliminatePointerRecurrence and LSR's own GEP expansion code, it also does a better job because it lets the normal optimizations handle pointer expressions just like integer expressions. Also, since LLVM IR GEPs can't directly index into multi-dimensional VLAs, moving the GEP analysis out of client code and into the SCEV framework makes it easier for clients to handle multi-dimensional VLAs the same way as other arrays. Some existing regression tests show improved optimization. test/CodeGen/ARM/2007-03-13-InstrSched.ll in particular improved to the point where if-conversion started kicking in; I turned it off for this test to preserve the intent of the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69258 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
|
af5b6bb6a539f1d4cc3b0f0e10b3c3c9267bbfd1 |
15-Apr-2009 |
Devang Patel <dpatel@apple.com> |
Add a method to check that the subprogram holds debug info for the given Function or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69113 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
56946ed5bbd60fe3276a674668cbd835f8ebc772 |
09-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
add an accessor method, patch by John McCall! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68684 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
6a0dcc10778468b1556474aa43d4a86a14ab15d7 |
29-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
now that you can put a PointerIntPair in a SmallPtrSet, remove some hackish workarounds from memdep git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67971 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
3751f564e372071bcbeba26811917fd03dd58850 |
19-Mar-2009 |
Dan Gohman <gohman@apple.com> |
Add a liveness analysis pass for LLVM IR values. This computes the set of blocks in which values are used, the set in which values are live-through, and the set in which values are killed. For the live-through and killed sets, conservative approximations are used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67309 91177308-0d34-0410-b5e6-96231b3b80d8
iveValues.h
asses.h
|
0582ae99ba75a556d6ff63b254da327d32ba036f |
13-Mar-2009 |
Bill Wendling <isanbard@gmail.com> |
Oops...I committed too much. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66867 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
alueTracking.h
|
c7a09ab3110b9462ad9646cb60c22c8527491ad9 |
13-Mar-2009 |
Bill Wendling <isanbard@gmail.com> |
Temporarily XFAIL this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66866 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
alueTracking.h
|
1d9887054afed2639d1c7490bc96f1e2cc7861ea |
11-Mar-2009 |
Torok Edwin <edwintorok@gmail.com> |
Make Print callable from a pass's print method: add const qualifier. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66700 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
ff7d0e9509cf8f359fe14c05dc29a05a293ce88f |
10-Mar-2009 |
Torok Edwin <edwintorok@gmail.com> |
Global variables don't have a corresponding llvm.dbg.declare, yet it is possible to obtain debug info about them. Introduce helpers to access debug info for global variables. Also introduce a helper that works for both local and global variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66541 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
d7168ddb116c2e9aa1f8325ae887eb63d6003037 |
09-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
reimplement AliasSetTracker in terms of DenseMap instead of hash_map, hopefully no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66398 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
ccbdc7ab82792ac5d7863ef086f11fb010d88073 |
09-Mar-2009 |
Bill Wendling <isanbard@gmail.com> |
Pass in a std::string when getting the names of debugging things. This cuts down on the number of times a std::string is created and copied. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66396 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
464bb782fb9f873414b4ec01698c88b411564430 |
08-Mar-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Fix misaligned whitespace. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66355 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
927793b6a165148af6d079ac03f97d13d296ff0d |
27-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Make LoopInfo::print() identify header, exit, and latch blocks, and print the loop depth. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65593 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
46bdfb0e6bb9de86b19562fc52fddefd7014cf73 |
24-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Rename ScalarEvolution's getIterationCount to getBackedgeTakenCount, to more accurately describe what it does. Expand its doxygen comment to describe what the backedge-taken count is and how it differs from the actual iteration count of the loop. Adjust names and comments in associated code accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65382 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
f5a309e989b8d2199cb542793e9edf48395d9fed |
18-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Use a sign-extend instead of a zero-extend when promoting a trip count value when the original loop iteration condition is signed and the canonical induction variable won't undergo signed overflow. This isn't required for correctness; it just preserves more information about original loop iteration values. Add a getTruncateOrSignExtend method to ScalarEvolution, following getTruncateOrZeroExtend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64918 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
b317143ba851ce2853fb262fb2185ef5f1be030d |
18-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Clarify the definition of "latch block" in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64916 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
865f006bb45a609e1cb6acb653af3fe5442ee4dc |
18-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Eliminate several more unnecessary intptr_t casts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64888 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopVR.h
|
13319ceffdd99d153e62011c5dda08b95e3279e3 |
17-Feb-2009 |
Devang Patel <dpatel@apple.com> |
The debugger sometimes lookup dynamically in the runtime to find ivar info of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF. Add support for two additional DWARF attributes to encode Objective-C runtime version number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64834 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
36375ee7a584343fabaf20630326f1848263bce6 |
17-Feb-2009 |
Devang Patel <dpatel@apple.com> |
Emit debug info for bitfields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64815 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
60f8a63e2502d57e879bf52a4a48505b74fa9716 |
17-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Add a method to ScalarEvolution for telling it when a loop has been modified in a way that may effect the trip count calculation. Change IndVars to use this method when it rewrites pointer or floating-point induction variables instead of using a doInitialization method to sneak these changes in before ScalarEvolution has a chance to see the loop. This eliminates the need for LoopPass to depend on ScalarEvolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64810 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
189c6357a1a1d09b8b0c5cf6f1cd561a47ccec18 |
17-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Move dumpPassStructure out of line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64796 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
244cc2c6c090cc828ffdd42960f4012d3fa72398 |
17-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Tidy whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64791 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
5a6c1a840ad343c0ed2fa54a0edb50b61f828f0f |
17-Feb-2009 |
Evan Cheng <evan.cheng@apple.com> |
Strengthen the "non-constant stride must dominate loop preheader" check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64703 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
aff9c270de8de7d1a0bc138d391bc67136bad58e |
14-Feb-2009 |
Cedric Venet <cedric.venet@laposte.net> |
Unbreak the build on win32. Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64554 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
070fbe69d36b24616de4e484ecbea221a2c7e8c2 |
13-Feb-2009 |
Duncan Sands <baldrick@free.fr> |
Correct a comment: since AccessArguments is now being used for atomic intrinsics, it seems the access may be volatile. No code was exploiting the original non-volatile definition, so only the comment needs changing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64464 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
c2390b14c91764cba6e4394d05e58e387a7dfb19 |
12-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Teach IndVarSimplify to optimize code using the C "int" type for loop induction on LP64 targets. When the induction variable is used in addressing, IndVars now is usually able to inserst a 64-bit induction variable and eliminates the sign-extending cast. This is also useful for code using C "short" types for induction variables on targets with 32-bit addressing. Inserting a wider induction variable is easy; the tricky part is determining when trunc(sext(i)) expressions are no-ops. This requires range analysis of the loop trip count. A common case is when the original loop iteration starts at 0 and exits when the induction variable is signed-less-than a fixed value; this case is now handled. This replaces IndVarSimplify's OptimizeCanonicalIVType. It was doing the same optimization, but it was limited to loops with constant trip counts, because it was running after the loop rewrite, and the information about the original induction variable is lost by that point. Rename ScalarEvolution's executesAtLeastOnce to isLoopGuardedByCond, generalize it to be able to test for ICMP_NE conditions, and move it to be a public function so that IndVars can use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64407 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
c83324682f3409c15dad992cd62928426c9ad83d |
12-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Add a utility function to LoopInfo to return the exit block when the loop has exactly one exit, and make use of it in LoopIndexSplit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64388 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f3ab3a937203d690744357844948faaf96fb73f9 |
07-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Simplify some code by using blocks_begin(), blocks_end(), and the iterator typedefs instead of handling the std::vector directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64016 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e79422096ea5319a365d160693d0957a2a4df75e |
06-Feb-2009 |
Owen Anderson <resistor@mac.com> |
Refactor my previous change to maintain the distinction between AliasAnalysis and BasicAliasAnalysis. This involves some wider changes because it folds away some never-used methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63900 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
a5f81bba4ab18d6129774d4d67495f14b6f64375 |
03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Move isIdentifiedObject and isNoAliasCall into AliasAnalysis.cpp since they are useful to analyses other than BasicAliasAnalysis.cpp. Include the full comment for isIdentifiedObject in the header file. Thanks to Chris for suggeseting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63589 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
dd9db6688283639a0c95f8ed67beb1bd54b5fff4 |
30-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Each input file is encoded as a separate compile unit in LLVM debugging information output. However, many target specific tool chains prefer to encode only one compile unit in an object file. In this situation, the LLVM code generator will include debugging information entities in the compile unit that is marked as main compile unit. The code generator accepts maximum one main compile unit per module. If a module does not contain any main compile unit then the code generator will emit multiple compile units in the output object file. [Part 1] Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit to mark the unit as "main" unit. By defaults all units are considered non-main. Update SourceLevelDebugging.html to document "main" compile unit. Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here. Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit. [Part 2] Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs. --- This is Part 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3311a1f8f0d8a2c6d940802bbb95eba0b801a615 |
30-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Fix a post-RA scheduling dependency bug. If a MachineInstr doesn't have a memoperand but has an opcode that is known to load or store, assume its memory reference may alias *anything*, including stack slots which the compiler completely controls. To partially compensate for this, teach the ScheduleDAG building code to do basic getUnderlyingValue analysis. This greatly reduces the number of instructions that require restrictive dependencies. This code will need to be revisited when we start doing real alias analysis, but it should suffice for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63370 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
bf3f5a08eed98e723e920a06a0cde9699593aa41 |
30-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Add dump() routines to help debug debug info :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63353 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
e02f724880ddb7ffe296cda3ffb9822761a13ce7 |
28-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
Fix PR3415 (infinite loop in EscapeAnalysis) by deleting the escape analysis pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63197 91177308-0d34-0410-b5e6-96231b3b80d8
scapeAnalysis.h
|
891415b5a248c72b94e6ff1022bcc1cab7813539 |
26-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
LLVM_SUPPORT_DEBUGINFO_H -> LLVM_ANALYSIS_DEBUGINFO_H since DebugInfo.h is under Analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63005 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3b64c6bc2916bc62a99ef8a2995a426d994e1a04 |
23-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Introduce two DWARF attribute extentions DW_AT_APPLE_optimized, DW_AT_APPLE_flags. DW_AT_APPLE_optimized flag is set when a compile_unit is optimized. The debugger takes advantage of this information some way. DW_AT_APPLE_flags encodes command line options when certain env. variable is set. This is used by build engineers to track various gcc command lines used by by a project, irrespective of whether the project used makefile, Xcode or something else. llvm-gcc patch is next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62888 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a36791da41cf4f635e50077b290676b873836bda |
23-Jan-2009 |
Gabor Greif <ggreif@gmail.com> |
Simplify the logic of getting hold of a PHI predecessor block. There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62869 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9817b24e74532c13bad2c7350f17e17473b8c57a |
22-Jan-2009 |
Bill Wendling <isanbard@gmail.com> |
The operator<() and operator>() were reversing their tests. Have the test the correct way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62745 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
476615934a74a313a691413230d249889cfaa2f8 |
21-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Encode member accessibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62638 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2a574669f3aed5951dcd62fa14c25dcde4d1a754 |
20-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Appropriately mark fowrad decls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62625 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
6906ba52f050a6608502987e754a622f5c5111a6 |
20-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Need only one set of debug info versions enum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62602 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a913f4fca947c195a675e04ba625fe9e67d1a865 |
20-Jan-2009 |
Devang Patel <dpatel@apple.com> |
zap white spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62598 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
ce31b027e7891da951f1036465e8d82dd0bd3297 |
20-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Enable debug info for composite types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62589 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
b79b5359fbe44bc82bedff2c081ed1db787f8d49 |
20-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Verify debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62545 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c15255cfe977593da4220e9959f6be23ad74fc32 |
19-Jan-2009 |
Devang Patel <dpatel@apple.com> |
DebugInfo is a lightweight APIs and consumers are expected to use light objects directly. There is no need to support isa<>, dyn_cast<> etc... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62527 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8556d2a7f155c7edfaf454a3acda8ce28863c5e4 |
18-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
BasicAliasAnalysis and FunctionAttrs were both doing very similar pointer capture analysis. Factor out the common logic. The new version is from FunctionAttrs since it does a better job than the version in BasicAliasAnalysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62461 91177308-0d34-0410-b5e6-96231b3b80d8
aptureTracking.h
|
125329891f97baedef21e4b464ba70182c3fb45e |
17-Jan-2009 |
Gabor Greif <ggreif@gmail.com> |
introduce typedef for complicated vector, and use it too git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62384 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
f193ff05909c2de373032f773e76804474b1ef4e |
15-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Use lightweight DebugInfo objects directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62276 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2f46bb8178e30e3b845859a44b57c048db06ef84 |
14-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Fix the time regression I introduced in 464.h264ref with my earlier patch to this file. The issue there was that all uses of an IV inside a loop are actually references to Base[IV*2], and there was one use outside that was the same but LSR didn't see the base or the scaling because it didn't recurse into uses outside the loop; thus, it used base+IV*scale mode inside the loop instead of pulling base out of the loop. This was extra bad because register pressure later forced both base and IV into memory. Doing that recursion, at least enough to figure out addressing modes, is a good idea in general; the change in AddUsersIfInteresting does this. However, there were side effects.... It is also possible for recursing outside the loop to introduce another IV where there was only 1 before (if the refs inside are not scaled and the ref outside is). I don't think this is a common case, but it's in the testsuite. It is right to be very aggressive about getting rid of such introduced IVs (CheckForIVReuse and the handling of nonzero RewriteFactor in StrengthReduceStridedIVUsers). In the testcase in question the new IV produced this way has both a nonconstant stride and a nonzero base, neither of which was handled before. And when inserting new code that feeds into a PHI, it's right to put such code at the original location rather than in the PHI's immediate predecessor(s) when the original location is outside the loop (a case that couldn't happen before) (RewriteInstructionToUseNewBase); better to avoid making multiple copies of it in this case. Also, the mechanism for keeping SCEV's corresponding to GEP's no longer works, as the GEP might change after its SCEV is remembered, invalidating the SCEV, and we might get a bad SCEV value when looking up the GEP again for a later loop. This also couldn't happen before, as we weren't recursing into GEP's outside the loop. Also, when we build an expression that involves a (possibly non-affine) IV from a different loop as well as an IV from the one we're interested in (containsAddRecFromDifferentLoop), don't recurse into that. We can't do much with it and will get in trouble if we try to create new non-affine IVs or something. More testcases are coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62212 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
789558db70d9513a017c11c5be30945839fdff1c |
13-Jan-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Wind SCEV back in time, to Nov 18th. This 'fixes' PR3275, PR3294, PR3295, PR3296 and PR3302. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62160 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
486938f7a1d17a547c6c05565aacd6051fad47c9 |
12-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Add classof() methods to support isa<> and other related facilities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62104 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
8526cc03a51347ab29737d1e5682aa6a7d095b9b |
05-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Extract source location info from DebugInfo. Add methods to add source location info in a DIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61761 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a22d57d6f8215717298ae0cef34d00ab5104ddea |
05-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Add classof() methods so that dwarf writer can decide what DIDescriptor is in its hand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61740 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
86ae142c51fc29ab870ebf42f6bf8699bca81512 |
05-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Construct stuct field DIEs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61729 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
c69bf2c832386140d6606eef3febf2d3aa7a64f0 |
05-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Construct enumerator DIE using DebugInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61726 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
68afdc3ab08975569e59cc8c04c2db9e9478a996 |
05-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Construct array/vector type DIEs using DebugInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61724 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
2c1623ae0b041519fecdfdb97b1bda4708b6aeb6 |
05-Jan-2009 |
Devang Patel <dpatel@apple.com> |
Now, getTag() is used by DwarfWriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61718 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
d68a07650cdb2e18f18f362ba533459aa10e01b6 |
05-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Tidy up #includes, deleting a bunch of unnecessary #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
ominatorInternals.h
ominators.h
scapeAnalysis.h
indUsedTypes.h
oopInfo.h
calarEvolutionExpander.h
parsePropagation.h
alueTracking.h
|
854967effe3fed51220511553512692a68dc2f9b |
17-Dec-2008 |
Devang Patel <dpatel@apple.com> |
Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases. First step to resolve this is, record file name and directory directly in debug info for various debug entities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61164 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
6e68106a47e9774476f2f39df572652c1eb5f75c |
16-Dec-2008 |
Torok Edwin <edwintorok@gmail.com> |
Add -print-dbginfo pass that prints LLVM IR with comments inserted to show which source/line a certain BB/instruction comes from, original variable names, and original (unmangled) C++ name of functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61085 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
620f28095bd0411065abb934917b68983b223b3d |
16-Dec-2008 |
Torok Edwin <edwintorok@gmail.com> |
Add utility functions to search for DbgStopPointInst corresponding to an instruction or BasicBlock, and to search for DbgDeclareInst corresponding to a variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61084 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
9e59c64c14cfe55e7cc9086c6bff8cfeecac361e |
15-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Implement initial support for PHI translation in memdep. This means that memdep keeps track of how PHIs affect the pointer in dep queries, which allows it to eliminate the load in cases like rle-phi-translate.ll, which basically end up being: BB1: X = load P br BB3 BB2: Y = load Q br BB3 BB3: R = phi [P] [Q] load R turning "load R" into a phi of X/Y. In addition to additional exposed opportunities, this makes memdep safe in many cases that it wasn't before (which is required for load PRE) and also makes it substantially more efficient. For example, consider: bb1: // has many predecessors. P = some_operator() load P In this example, previously memdep would scan all the predecessors of BB1 to see if they had something that would mustalias P. In some cases (e.g. test/Transforms/GVN/rle-must-alias.ll) it would actually find them and end up eliminating something. In many other cases though, it would scan and not find anything useful. MemDep now stops at a block if the pointer is defined in that block and cannot be phi translated to predecessors. This causes it to miss the (rare) cases like rle-must-alias.ll, but makes it faster by not scanning tons of stuff that is unlikely to be useful. For example, this speeds up GVN as a whole from 3.928s to 2.448s (60%)!. IMO, scalar GVN should be enhanced to simplify the rle-must-alias pointer base anyway, which would allow the loads to be eliminated. In the future, this should be enhanced to phi translate through geps and bitcasts as well (as indicated by FIXMEs) making memdep even more powerful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61022 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
b07fbd9bdde37ebd404e8b8dc167795728f162e1 |
13-Dec-2008 |
Torok Edwin <edwintorok@gmail.com> |
Fix getFieldAs() to use the parameter instead of 6. Add missing DIType constructor, needed by DIVariable::getType(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60976 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
bc99be10b815e0bfc5102bd5746e9a80feebf6f4 |
09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Teach GVN to invalidate some memdep information when it does an RAUW of a pointer. This allows is to catch more equivalencies. For example, the type_lists_compatible_p function used to require two iterations of the gvn pass (!) to delete its 18 redundant loads because the first pass would CSE all the addressing computation cruft, which would unblock the second memdep/gvn passes from recognizing them. This change allows memdep/gvn to catch all 18 when run just once on the function (as is typical :) instead of just 3. On all of 403.gcc, this bumps up the # reundandancies found from: 63 gvn - Number of instructions PRE'd 153991 gvn - Number of instructions deleted 50069 gvn - Number of loads deleted to: 63 gvn - Number of instructions PRE'd 154137 gvn - Number of instructions deleted 50185 gvn - Number of loads deleted +120 loads deleted isn't bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60799 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
20d6f0982ad33818cfa141f80157ac13e36d5550 |
09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Teach BasicAA::getModRefInfo(CallSite, CallSite) some tricks based on readnone/readonly functions. Teach memdep to look past readonly calls when analyzing deps for a readonly call. This allows elimination of a few more calls from 403.gcc: before: 63 gvn - Number of instructions PRE'd 153986 gvn - Number of instructions deleted 50069 gvn - Number of loads deleted after: 63 gvn - Number of instructions PRE'd 153991 gvn - Number of instructions deleted 50069 gvn - Number of loads deleted 5 calls isn't much, but this adds plumbing for the next change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60794 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
1559b3625be7b80bee6b066af4b91b9d10dfb5fa |
09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
rename getNonLocalDependency -> getNonLocalCallDependency, and remove pointer stuff from it, simplifying the code a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60783 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
9863c3f507913f17de0fd707e27fde9dc35f6ca6 |
09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
rename getNonLocalPointerDepInternal -> getNonLocalPointerDepFromBB and split its inner loop out into a new GetNonLocalInfoForBlock function. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60751 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4012fdda13710d21b415a79475adc2bbb6628527 |
09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
use hte new pred cache to speed up the new non-local memdep queries. This speeds up GVN using the new queries (not yet checked in) by just over 10%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60743 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
11dcd8d38de031c34380fd6ab7a0daacdefb263a |
08-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
add another level of caching for non-local pointer queries, keeping track of whether the CachedNonLocalPointerInfo for a block is specific to a block. If so, just return it without any pred scanning. This is good for a 6% speedup on GVN (when it uses this lookup method, which it doesn't right now). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60695 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c765a5acad26ae3d86832d4153e6569d1043a9ca |
07-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Use bool instead of int, now that it no longer evokes a warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60678 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
e91a4881e17127686345f62df08da6370b14d51f |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
fix a typo duncan noticed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60671 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
6290f5cac23399201f8785e5ca8b305e42a1342c |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
add support for caching pointer dependence queries. Nothing uses this yet so it "can't" break anything. That said, it does appear to work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60654 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
9a193fd8ae630478123938e12b56f84c5b2227b9 |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Some internal refactoring to make it easier to cache results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60650 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
7ebcf0324668b7c6ba48832d5d8df95689a8d837 |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Introduce a new MemDep::getNonLocalPointerDependency method. This will eventually take over load/store dep queries from getNonLocalDependency. For now it works fine, but is incredibly slow because it does no caching. Lets not switch GVN to use it until that is fixed :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60649 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
e79be944c8ced0a0cb80ede8cb9f97e4fdc6778f |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
push the "pointer case" up the analysis stack a bit. This causes duplication of logic (in 2 places) to determine what pointer a load/store touches. This will be addressed in a future commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60648 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
8ef57c5faf77890828ac439482420646b2a0beb8 |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Rename getCallSiteDependency -> getCallSiteDependencyFrom to emphasize the scanning and make it more similar to getDependencyFrom git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60642 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
aea5a2a22ad5fa030bb77899f79d9aa27a8b6a88 |
07-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
make getDependencyFrom private. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60637 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
b51deb929ca95ce62e622b0475a05d83f26ab04d |
05-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Make a few major changes to memdep and its clients: 1. Merge the 'None' result into 'Normal', making loads and stores return their dependencies on allocations as Normal. 2. Split the 'Normal' result into 'Clobber' and 'Def' to distinguish between the cases when memdep knows the value is produced from when we just know if may be changed. 3. Move some of the logic for determining whether readonly calls are CSEs into memdep instead of it being in GVN. This still leaves verification that the arguments are hte same to GVN to let it know about value equivalences in different contexts. 4. Change memdep's call/call dependency analysis to use getModRefInfo(CallSite,CallSite) instead of doing something very weak. This only really matters for things like DSA, but someday maybe we'll have some other decent context sensitive analyses :) 5. This reimplements the guts of memdep to handle the new results. 6. This simplifies GVN significantly: a) readonly call CSE is slightly simpler b) I eliminated the "getDependencyFrom" chaining for load elimination and load CSE doesn't have to worry about volatile (they are always clobbers) anymore. c) GVN no longer does any 'lastLoad' caching, leaving it to memdep. 7. The logic in DSE is simplified a bit and sped up. A potentially unsafe case was eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60607 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
6951381995f24dc9c7bbcacefd5a1315784f66f3 |
05-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Make it illegal to call getDependency* on non-memory instructions like binary operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60600 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4c0d95178010c8788129b392ab6a1c62484f1620 |
05-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Update comments. There is no getArgumentAccesses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60585 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
48dd644109d97a76288f0b5045f6aa6a3c075732 |
02-Dec-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Add a new SCEV representing signed division. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60407 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
0f41ad3bc9a295332a8e6d025b42cebc9b9e8125 |
01-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
cleanups suggested by duncan, thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60353 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
bf145d6e2ba01f5099ccaa1b58ed3619406928a0 |
01-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Reimplement the non-local dependency data structure in terms of a sorted vector instead of a densemap. This shrinks the memory usage of this thing substantially (the high water mark) as well as making operations like scanning it faster. This speeds up memdep slightly, gvn goes from 3.9376 to 3.9118s on 403.gcc This also splits out the statistics for the cached non-local case to differentiate between the dirty and clean cached case. Here's the stats for 403.gcc: 6153 memdep - Number of dirty cached non-local responses 169336 memdep - Number of fully cached non-local responses 162428 memdep - Number of uncached non-local responses yay for caching :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60313 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
fd3dcbea06f934572a3ba02821b1485eb7a073aa |
01-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Eliminate the DepResultTy abstraction. It is now completely redundant with MemDepResult, and MemDepResult has a nicer interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60308 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
d777d405cdda8d418ba8e8818e5c1272dfd999a0 |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Cache TargetData/AliasAnalysis in the pass instead of calling getAnalysis<>. getAnalysis<> is apparently extremely expensive. Doing this speeds up GVN on 403.gcc by 16%! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60304 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4a69bade2385022ca776edc22150f3b750cdf23c |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Two changes: Make getDependency remove QueryInst for a dirty record's ReverseLocalDeps when we update it. This fixes a regression test failure from my last commit. Second, for each non-local cached information structure, keep a bit that indicates whether it is dirty or not. This saves us a scan over the whole thing in the common case when it isn't dirty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60274 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
25f4b2b7a3f1f2bbaf954257e7834ba29a6ede7c |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
introduce a typedef, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60272 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
f68f310386c8e1772a3e6eba01f09590678a8f96 |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Change NonLocalDeps to be a densemap of pointers to densemap instead of containing them by value. This increases the density (!) of NonLocalDeps as well as making the reallocation case faster. This speeds up gvn on 403.gcc by 2% and makes room for future improvements. I'm not super thrilled with having to explicitly manage the new/delete of the map, but it is necesary for the next change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60271 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
73ec3cdd7140aee6d2b9ac32bc2298254ff48c97 |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
implement a fixme by introducing a new getDependencyFromInternal method that returns its result as a DepResultTy instead of as a MemDepResult. This reduces conversion back and forth. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60266 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
0e0a5b690ca772a9002d8e8d21edac5f011bc7e8 |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
REmove an old fixme, resolve another fixme by adding liberal comments about what this class does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60264 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4f8c18c7c757875cfa45383e7cf33d65d2c4d564 |
30-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Eliminate the dropInstruction method, which is not needed any more. Fix a subtle iterator invalidation bug I introduced in the last commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60258 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
0ec48ddef20deaa061152d86645972122beef605 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
implement some fixme's: when deleting an instruction with an entry in the nonlocal deps map, don't reset entries referencing that instruction to [dirty, null], instead, set them to [dirty,next] where next is the instruction after the deleted one. Use this information in the non-local deps code to avoid rescanning entire blocks. This speeds up GVN slightly by avoiding pointless work. On 403.gcc this makes GVN 1.5% faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60256 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
396a4a55e535728e2023aa331401c1a2b782cb9a |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Change MemDep::getNonLocalDependency to return its results as a smallvector instead of a DenseMap. This speeds up GVN by 5% on 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60255 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
86b29ef64a36c8779ef7855b3c4b95744eb2f08b |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
reimplement getNonLocalDependency with a simpler worklist formulation that is faster and doesn't require nonLazyHelper. Much less code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60253 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
233336ebc588e77dde51ebbc3ce88c2d4304f168 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
tidy up some variable names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60243 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
8c4652790e04515f34cf920b0783d6ec4161a313 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
rename some maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60242 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
5391a1d8046396fb4dd005b1910973789f5427f4 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Split getDependency into getDependency and getDependencyFrom, the former does caching, the later doesn't. This dramatically simplifies the logic in getDependency and getDependencyFrom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60234 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
7f52422a3c821c1deb7171808ffcf83386970791 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Now that DepType is private, we can start cleaning up some of its uses: Document the Dirty value more precisely, use it for the uninitialized DepResultTy value. Change reverse mappings to be from an instruction* instead of DepResultTy, and stop tracking other forms. This makes it more clear that we only care about the instruction cases. Eliminate a DepResultTy,bool pair by using Dirty in the local case as well, shrinking the map and simplifying the code. This speeds up GVN by ~3% on 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60232 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4c724006256032e827177afeae04ea62436796e7 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Introduce and use a new MemDepResult class to hold the results of a memdep query. This makes it crystal clear what cases can escape from MemDep that the clients have to handle. This also gives the clients a nice simplified interface to it that is easy to poke at. This patch also makes DepResultTy and MemoryDependenceAnalysis::DepType private, yay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60231 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
39f372e23e49cecb8db2eb7120eb331173e50c74 |
29-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Reimplement the internal abstraction used by MemDep in terms of a pointer/int pair instead of a manually bitmangled pointer. This forces clients to think a little more about checking the appropriate pieces and will be useful for internal implementation improvements later. I'm not particularly happy with this. After going through this I don't think that the clients of memdep should be exposed to the internal type at all. I'll fix this in a subsequent commit. This has no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60230 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
956033a4f5de491fcc07bc3ef0700ad22fd836a0 |
28-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
comment cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60220 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
b390b1728e6c36f1f28d75d6f8f27cb91f8a8c56 |
28-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
forward declare CallSite instead of #includ'ing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60217 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
8b589fa135d873e683b29ed0918638a79272f5d2 |
28-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
rename "ping" to "verifyRemoved". I don't know why 'ping' what chosen, but it doesn't make any sense at all. Also make the method const, private, and fit in 80 cols while we're at it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60215 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
e85866313a551fa3d4e2f118c3bf34e96af36763 |
28-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
comment and indentation improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60214 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
da278753c48f637272fdf945a63c0f303b586fa8 |
26-Nov-2008 |
Devang Patel <dpatel@apple.com> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60111 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
497a7a81a806748b7a49b529b6da4040da0a3832 |
10-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Move getCastToEmpty out of DIDescriptor into DIFactory. It is an implementation detail of DIFactory anyway, and this allows it to avoid recomputing the same type over and over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58960 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
3b78185a18aad1bf0e1252ffdc7f91a77008d74f |
10-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Fix a bug with default arguments that apple gcc doesn't notice that llvmbb does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58958 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
a45664f7091d988d8ff3966a845bf672062e1e7a |
10-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Add a new set of helper classes for creating and reading debug information. This logically replaces the "Desc" classes in MachineModuleInfo. Nice features of these classes are that they: 1. Are much more efficient than MMI because they don't create a temporary parallel data structure for debug info that has to be 'serialized' and 'deserialized' into/out of the module. 2. These provide a much cleaner abstraction for debug info than MMI, which will make it easier to change the implementation in the future (to be MDNode-based). 3. These are much easier to use than the MMI interfaces, requiring a lot less code in the front-ends. 4. These can be used to both create (for frontends) and read (for codegen) debug information. DebugInfoBuilder can only be used to create the nodes. So far, this is implemented just enough to support the debug info generation needs of clang. This can and should be extended to support the full set of debug info constructs, and we should switch llvm-gcc and llc over to using this in the near future. This code also has a ton of FIXMEs in it, because the way we currently represent debug info in LLVM IR is basically insane in a variety of details. This sort of issue should be fixed when we eventually reimplement debug info on top of MDNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58954 91177308-0d34-0410-b5e6-96231b3b80d8
ebugInfo.h
|
f522068412218cd14b2c2df74a3437717d255381 |
16-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Trim #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57649 91177308-0d34-0410-b5e6-96231b3b80d8
scapeAnalysis.h
|
4b089929b4cfa4b3ca7ad6a79db5c60b73012755 |
12-Oct-2008 |
Owen Anderson <resistor@mac.com> |
Make Escape Analysis work for any pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57412 91177308-0d34-0410-b5e6-96231b3b80d8
scapeAnalysis.h
|
7238cfaca0b41fa1864c8bc39a12d2ccdb8b7803 |
10-Oct-2008 |
Owen Anderson <resistor@mac.com> |
Fix copy-and-paste-o. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57343 91177308-0d34-0410-b5e6-96231b3b80d8
scapeAnalysis.h
|
8f28c78e952b3943f4bb714254e802f126505e7a |
10-Oct-2008 |
Owen Anderson <resistor@mac.com> |
Add a basic intra-procedural escape analysis. This hasn't be extensively tested yet, but feedback is welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57342 91177308-0d34-0410-b5e6-96231b3b80d8
scapeAnalysis.h
|
a2582da44dbe7204aac49cdaeccfd4e77ff7c408 |
03-Oct-2008 |
Duncan Sands <baldrick@free.fr> |
Teach internalize to preserve the callgraph. Why? Because it was there! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56996 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
d7b9851c4e634ed3599b1a4c70b1c76c90a11686 |
08-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Reapply 55859. This doesn't change anything as long as the callgraph is correct. It checks for wrong callgraphs more strictly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55894 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
fec2c2bf5ea14679f8a2d74a72bdec76f05fa001 |
06-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
When PruneEH turned an invoke into an ordinary call (thus changing the call site) it didn't inform the callgraph about this. But the call site does matter - as shown by the testcase, the callgraph become invalid after the inliner ran (with an edge between two functions simply missing), resulting in wrong deductions by GlobalsModRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55872 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
6e6074508c2f781c3e52dfe0e301cb1c7f395a91 |
06-Sep-2008 |
Owen Anderson <resistor@mac.com> |
Revert r55859. This is breaking the build in the abscence of its companion commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55865 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
c94fe21a56f9e4e5ebbe99252a25636c36392509 |
05-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Delete the removeCallEdgeTo callgraph method, because it does not maintain a correct list of callsites. I discovered (see following commit) that the inliner will create a wrong callgraph if it is fed a callgraph with correct edges but incorrect callsites. These were created by Prune-EH, and while it wasn't done via removeCallEdgeTo, it could have been done via removeCallEdgeTo, which is an accident waiting to happen. Use removeCallEdgeFor instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55859 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
e4a48c75810653dd3e566967b5ad4190d2101d05 |
05-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55834 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
ae73dc1448d25b02cabc7c64c86c64371453dda8 |
04-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Tidy up several unbeseeming casts from pointer to intptr_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
ntervalPartition.h
oopPass.h
emoryDependenceAnalysis.h
ostDominators.h
calarEvolution.h
|
db57ef1cb3ba87024c5b54ebc1a95aad8e8e8b49 |
29-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
rename destroy -> releaseMemory to properly hook into passmgr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55508 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalPartition.h
|
3688f268cb31dbfb5b36131d96af668fa2fc6a8d |
15-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822 91177308-0d34-0410-b5e6-96231b3b80d8
oadValueNumbering.h
asses.h
alueNumbering.h
|
a8c763b3071ae1a58ee8baeb282331245527e004 |
14-Aug-2008 |
Dan Gohman <gohman@apple.com> |
Use empty() instead of begin() == end(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54780 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
afcde473c5baf292038ec494917f18c77a043340 |
09-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
"This patch adds a virtual call to AbstractLatticeFunction to derive a type lattice value for an Argument*, giving clients the opportunity to use something other than Top for it if they choose to." Patch by John McCall! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54589 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
fed90b6d097d50881afb45e4d79f430db66dd741 |
28-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Fold the useful features of alist and alist_node into ilist, and a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54146 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
e6acf36dca9864c6ead9113f0322f174469810cc |
12-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Fix spelling of "hierarchy" in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53489 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
e4f1a7e8ffbfe48e2c0b9180d8aaef3f64e532ed |
12-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Fix typos in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53487 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
c418bf3dd593b5b2fe2f978930f6d0d6b17e344e |
11-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Use find instead of lower_bound. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53474 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b0b046848faad8e87d02c82d03b5b7b1ba74e041 |
09-Jul-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Remove getValueRange from SCEV. It wasn't doing anything there anyways, and a more complete version is now available from the LoopVR pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53269 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
6177fd4fcee4d82692c47e33754ffe285c38cc69 |
08-Jul-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Expand SCEVUDiv of power of 2 to a lshr instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53217 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
1002c0203450620594a85454c6a095ca94b87cb2 |
07-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53179 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
a45a9e416fb24b55c1a0af2369bfda8560edcb50 |
01-Jul-2008 |
Devang Patel <dpatel@apple.com> |
Fix dom tree compare. Don't forget to compare children! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52984 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
844a3d163bc644085b1d744797da43eb9bf7ee3b |
01-Jul-2008 |
Devang Patel <dpatel@apple.com> |
Fix typos in comments. Thanks for the feedback! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52978 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
5b57e720c875277131ed0d4f3b72a582979d1afe |
01-Jul-2008 |
Devang Patel <dpatel@apple.com> |
Add dom info verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52967 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
c60276982225a6add69e823f1df854a59f1d0dad |
30-Jun-2008 |
Owen Anderson <resistor@mac.com> |
Add an isReachableFromEntry method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52916 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
0ff39b3feb10477c224138156941234f5fa46f58 |
30-Jun-2008 |
Evan Cheng <evan.cheng@apple.com> |
- Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an empty string for ConstantAggregateZero case which surprises selectiondag. - Correctly handle memcpy from constant string which is zero-initialized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52891 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
69c8d9be02ddf696f0c4153193d973c82a2e2835 |
30-Jun-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Because of the laziness, the required passes must exist even after LoopVR::runOnFunction runs. This should accomplish that, but it doesn't. I think that's a PassManager bug, but without a consumer of LoopVR in the tree, I can't give steps to reproduce. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52886 91177308-0d34-0410-b5e6-96231b3b80d8
oopVR.h
|
a11e2eb845ffc1ad9aee0a96d6998a3e084edfcd |
30-Jun-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Add a value range analysis that lazily computes ranges using ScalarEvolutions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52885 91177308-0d34-0410-b5e6-96231b3b80d8
oopVR.h
|
6d116bc7ced56a820d33b0dd35ee36af8a810eab |
29-Jun-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Revert (52748 and friends): Move GetConstantStringInfo to lib/Analysis. Remove string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. This unbreaks llvm-gcc bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52884 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
b746b82113df707df9555450991eab75b18ffa1b |
28-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
Add back the capability to include nul characters in strings with GetConstantStringInfo. This will hopefully restore llvm-gcc to happy bootstrap land. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52851 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
5e950627f9e3b382edcce797b03d968af6717c0b |
27-Jun-2008 |
Cedric Venet <cedric.venet@laposte.net> |
Add an include file needed for VS. Add two new file to codegen project (VS). This unbreak the build for VS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52831 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
3648f9f0ae79532c6bdc9c6188d0e46676de212f |
27-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
fix the regressions from Eric's patch by making GetConstantStringInfo tolerate a non-nul-terminated string, and handling a direct global reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52813 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
0d2b0aba424bd3959bb5c807873def8f53e57a3c |
26-Jun-2008 |
Eric Christopher <echristo@apple.com> |
Move GetConstantStringInfo to lib/Analysis. Remove string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52748 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
17f1972c770dc18f5c7c3c95776b4d62ae9e121d |
22-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Use SCEVAddRecExpr::isAffine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52614 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
11f6d3b478c4fa09d126833c57fbac1d795ead31 |
22-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Move a few more SCEVExpander methods out-of-line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52612 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
65c6795af41ffd9c2944f94a63aa70f16f88fe80 |
20-Jun-2008 |
Dan Gohman <gohman@apple.com> |
It's invalid to take the one-past-the-end address of a non-array object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52515 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
e24fa64d52330626553298f56ba5aa702624c282 |
18-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Move SCEVExpander::visitAddExpr out-of-line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52464 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
cfeb6a450632f2a6cd05302633c8c2b8c90cfdfd |
18-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Move LSR's private isZero function to a public SCEV member function, and make use of it in several places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52463 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
6d0cc55ef3f3f3c5829e3cc2bab841fd74b0f8cb |
18-Jun-2008 |
Devang Patel <dpatel@apple.com> |
Check empty dominance frontier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52437 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
de9256ad2e33a203e97328e285c3909f67aad4b0 |
17-Jun-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Forgot to commit the ValueTracking header file along with r52396. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52401 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
74fc4d968617a1652666bed8aba5e35da86373ce |
17-Jun-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
80 column fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52391 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
977289121996f0afb781592f92a4aee1be3010fe |
16-Jun-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Make the InsertBefore argument to FindInsertedValue optional, so you can find an inserted value without modifying the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52319 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
0a7413dad84887bee51f20d7a5f1c4c1c7bb4c1e |
16-Jun-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Pass around Instruction* instead of Instruction& in FindInsertedValue and friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52318 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
b23d5adbc8230167e711070b9298985de4580f30 |
16-Jun-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Move FindScalarValue from InstructionCombining.cpp to ValueTracking.cpp. While I'm at it, rename it to FindInsertedValue. The only functional change is that newly created instructions are no longer added to instcombine's worklist, but that is not really necessary anyway (and I'll commit some improvements next that will completely remove the need). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52315 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
8a08769bad43a22fae2845bb0ba0fd1266cd55c8 |
15-Jun-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
Fix PR2434. When scanning for exising binary operator to reuse don't take into account the instrucion pointed by InsertPt. Thanks to it, returning the new value of InsertPt to the InsertBinop() caller can be avoided. The bug was, actually, in visitAddRecExpr() method which wasn't correctly handling changes of InsertPt. There shouldn't be any performance regression, as -gvn pass (run after -indvars) removes any redundant binops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52291 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
6f8abf929ac173872cc50aff767bc25f2a07a523 |
13-Jun-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Crash less. The i64 restriction in BinomialCoefficient caused some problems with code that was expecting different bit widths for different values. Make getTruncateOrZeroExtend a method on ScalarEvolution, and use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52248 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
5c490610a166a31b4a34c9fcaebbf744fd524049 |
06-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
Expose a public interface to this pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52029 91177308-0d34-0410-b5e6-96231b3b80d8
ibCallAliasAnalysis.h
|
833f25d79ee28f1049f9177c3d2f4c9fbad6f643 |
02-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
move CannotBeNegativeZero to ValueTracking. Simplify some signbit comparisons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51864 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
173234a68fb6ece106e77da443d87f09d5906cb9 |
02-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits out of instcombine into a new file in libanalysis. This also teaches ComputeNumSignBits about the number of sign bits in a constantint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51863 91177308-0d34-0410-b5e6-96231b3b80d8
alueTracking.h
|
652f7ea955bb433d6b7a4d33685dca9485fd7b8b |
31-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Revert 51775. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51795 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
allGraph.h
ibCallSemantics.h
|
babf11f249c7c6399c66f2567d4e7efa9c37a9c3 |
30-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Patches for building llvm on Solaris x86. Contributed by Nathan Keynes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51775 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
allGraph.h
ibCallSemantics.h
|
64d237cfae6bcb11157d525c79b5a5335e30370b |
30-May-2008 |
Dan Gohman <gohman@apple.com> |
Fix doxygen comment syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51716 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
1baa88e3de8947b02d9ef4caa73e5860f048ec6e |
29-May-2008 |
Dan Gohman <gohman@apple.com> |
Prune and tidy #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51697 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
|
43d1fd449f1a0ac9d9dafa0b9569bb6b2e976198 |
29-May-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51687 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
onstantsScanner.h
|
5771d6c16d71dc3bba59b88592686c76f07f4721 |
29-May-2008 |
Owen Anderson <resistor@mac.com> |
Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51686 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
201694b0c6a08332a2878ca803f5159740f5121e |
27-May-2008 |
Dan Gohman <gohman@apple.com> |
Fix a word-o and add an explicit keyword. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51610 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
3dfd7bf5110c47e99fd0fcce96122b90f699ca3a |
25-May-2008 |
Nick Lewycky <nicholas@mxc.ca> |
"ret (constexpr)" can't be folded into a Constant. Add a method to Analysis/ConstantFolding to fold ConstantExpr's, then make instcombine use it to try to use targetdata to fold constant expressions on void instructions. Also extend the icmp(inttoptr, inttoptr) folding to handle the case where int size != ptr size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51559 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
28a8dbc35fe6da6b7d2633529b73453aca254207 |
20-May-2008 |
Chris Lattner <sabre@nondot.org> |
Add a bool to isEdgeFeasible that tells it whether to treat unknown value as undef or untracked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51295 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
7cbd8a3e92221437048b484d5ef9c0a22d0f8c58 |
16-May-2008 |
Gabor Greif <ggreif@gmail.com> |
API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51200 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
1d5562f72e3f7d9e17a2bf95afa54a98dac95894 |
14-May-2008 |
Dan Gohman <gohman@apple.com> |
Move RemoveFromVector out of the global namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51090 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
45b3197090afedf2d19eb0b73115207343cbb2ae |
14-May-2008 |
Dan Gohman <gohman@apple.com> |
Split the loop unroll mechanism logic out into a utility function. Patch by Matthijs Kooijman! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51083 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e3fc3858a2e9d6483a68a6696d07f29ccc799cce |
14-May-2008 |
Eric Christopher <echristo@apple.com> |
Make this function public. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51077 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
ab7d9ccf188da6b07977e3a003a0fe6a07b07e81 |
12-May-2008 |
Chris Lattner <sabre@nondot.org> |
Add a new SparsePropagation analysis utility, which allows you to do SCCP like sparse lattice analysis with relative ease. Just pick your lattice function and implement the transfer function and you're good. Just make sure you don't break monotonicity ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50961 91177308-0d34-0410-b5e6-96231b3b80d8
parsePropagation.h
|
029840c93521f5c54380e037a66216c8227ad1e1 |
07-May-2008 |
Chris Lattner <sabre@nondot.org> |
Add a new LibCallAliasAnalysis pass, which is parameterized by an instance of LibCallInfo to provide mod/ref info of standard library functions. This is powerful enough to say that 'sqrt' is readonly except that it modifies errno, or that "printf doesn't store to memory unless the %n constraint is present" etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50827 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
14852f27e792470232287371c5ffd4cee1d5b943 |
07-May-2008 |
Chris Lattner <sabre@nondot.org> |
Add a new interface for describing the behavior of library calls. This Currently is sufficient to describe mod/ref behavior but will hopefully eventually be extended for other purposes. This isn't used by anything yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50820 91177308-0d34-0410-b5e6-96231b3b80d8
ibCallSemantics.h
|
84b7df43fb098268f6ce37a3e32bcc2f455ecf96 |
06-May-2008 |
Dan Gohman <gohman@apple.com> |
Remove uses of llvm/System/IncludeFile.h that are no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
indUsedTypes.h
oopInfo.h
ostDominators.h
alueNumbering.h
|
be5918c079c208af24fa3501f883ecceb6e6ae02 |
05-May-2008 |
Devang Patel <dpatel@apple.com> |
Remove unused function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50664 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 |
05-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix more -Wshorten-64-to-32 warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
ominatorInternals.h
ominators.h
oopInfo.h
calarEvolutionExpressions.h
|
46bb007014414c966586a983dbf24f38490e0f22 |
04-May-2008 |
Owen Anderson <resistor@mac.com> |
Fix PR1098 by correcting the postdominators analysis. Patch by Florian Brandner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50628 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
f6055806d4a6a39c49c441215a9a5d3a8e933de0 |
03-May-2008 |
Torok Edwin <edwintorok@gmail.com> |
Implement destructor for PostDominatorTree to eliminate a memory leak. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50607 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
280a6e607d8eb7401749a92db624a82de47da777 |
25-Apr-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989 r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
1f23e163190f85e46f2009bf43ee4fe8299044e4 |
16-Apr-2008 |
Owen Anderson <resistor@mac.com> |
Major repairs to the post-dominators implementation. Patch from Florian Brandner! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49768 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
235fc57ef2ed0a3c43a6e2d77b7c13f96a6f8036 |
14-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Teach AliasSetTracker about VAArgInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49674 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
75caee241955fdcd9942c42be8b77ba9996e94d6 |
13-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
add a new CallGraphNode::removeCallEdgeFor method, tidy some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49617 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
e5ffa900f8cf486fae4f542d72d84e6bab0129ae |
07-Apr-2008 |
Owen Anderson <resistor@mac.com> |
Make GVN more memory efficient, particularly on code that contains a large number of allocations, which GVN can't optimize anyways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49329 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
950a4c40b823cd4f09dc71be635229246dfd6cac |
25-Mar-2008 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
c9235d2e855c56e9aa157969f8132a05f9ba89d8 |
22-Mar-2008 |
Dan Gohman <gohman@apple.com> |
Don't include <map> in Pass.h, which doesn't need it. This requires adding <map> to many files that actually do need it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48667 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ominators.h
ntervalPartition.h
|
c758209153ca0f6da6737f25ada269c573fba456 |
19-Mar-2008 |
Devang Patel <dpatel@apple.com> |
PassInfo keep tracks whether a pass is an analysis pass or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
oopPass.h
emoryDependenceAnalysis.h
ostDominators.h
calarEvolution.h
|
c7fe32e840758baa9ce4f93c321b508a69b98262 |
19-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Do not use virtual function to identify an analysis pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
oopPass.h
emoryDependenceAnalysis.h
ostDominators.h
calarEvolution.h
|
e856685710706e580a3ece2c59ced2cdf0719f55 |
18-Mar-2008 |
Dale Johannesen <dalej@apple.com> |
Get rid of compilation warnings. Per Devang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48478 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
1cee94f04111cfd7114979d6dfddce2669c9380d |
18-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Identify Analysis pass. Do not run analysis pass again if analysis info is still available. This fixes PR1441. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48476 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
emoryDependenceAnalysis.h
ostDominators.h
calarEvolution.h
|
d7a3541a059d8b2b17b67ea4e8d2bfaada6d4bdb |
14-Mar-2008 |
Dan Gohman <gohman@apple.com> |
Move the PMStack class out of Pass.h and into PassManagers.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48367 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
529de8a45702cd34968d79d13f95ed1e5d5fa250 |
09-Mar-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Update the block cloner which fixes bugpoint on code using unwind_to (phew!) and also update the cloning interface's major user, the loop optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48088 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e8ae2fe2a8cc767f4d7ac55db13bf9adb8e7df70 |
27-Feb-2008 |
Dan Gohman <gohman@apple.com> |
Add -analyze support to postdomtree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47680 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
ae9f3a3b7c915f725aef5a7250e88eaeddda03c6 |
20-Feb-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
calarEvolutionExpressions.h
|
3e6307698084e7adfc10b739442ae29742beefd0 |
20-Feb-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Add 'umax' similar to 'smax' SCEV. Closes PR2003. Parse reversed smax and umax as smin and umin and express them with negative or binary-not SCEVs (which are really just subtract under the hood). Parse 'xor %x, -1' as (-1 - %x). Remove dead code (ConstantInt::get always returns a ConstantInt). Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets passed into a uint64_t. Instead, create the -1 directly from ConstantInt::getAllOnesValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47360 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
30b4bd4d1099764db4f1e1a955b7f7cc9dafdd97 |
12-Feb-2008 |
Owen Anderson <resistor@mac.com> |
Re-apply the patch to improve the optimizations of memcpy's, with several bugs fixed. This now passes PPC bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47026 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
e3320a1bcce3f6653e109cc86ee1011b0a61d808 |
11-Feb-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
Fix PR1798 - an error in the evaluation of SCEVAddRecExpr at an arbitrary iteration. The patch: 1) changes SCEVSDivExpr into SCEVUDivExpr, 2) replaces PartialFact() function with BinomialCoefficient(); the computations (essentially, the division) in BinomialCoefficient() are performed with the apprioprate bitwidth necessary to avoid overflow; unsigned division is used instead of the signed one. Computations in BinomialCoefficient() require support from the code generator for APInts. Currently, we use a hack rounding up the neccessary bitwidth to the nearest power of 2. The hack is easy to turn off in future. One remaining issue: we assume the divisor of the binomial coefficient formula can be computed accurately using 16 bits. It means we can handle AddRecs of length up to 9. In future, we should use APInts to evaluate the divisor. Thanks to Nicholas for cooperation! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46955 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
402689d11a3879163a3e67ea297937c2c26cc502 |
09-Feb-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
Add a check if the initial value of the induction variable is 0 (the method comment says it should be). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46907 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
fa9b80eb64127b3d9691e18537975635520e51e9 |
31-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Avoid unnecessarily casting away const, fixing a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46591 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
ba42d2b937160c970c8c6ea57573113c9265325f |
29-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Add comments describing what the loop depth values mean. Also, make a minor simplification to the loop depth calculation code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46511 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
fadcd4e60be40bcab198dcb0eef6e4a51b4c0627 |
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Move typedef of loop to top of the file where it is more obvious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45857 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
131bd2ecf721749666111ec2dd1d32a20ae049b2 |
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Fix 80 col violations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45856 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b670a1737bae5c3ecc65042d3a1b10d774ecd252 |
04-Jan-2008 |
Wojciech Matyjewicz <wmatyjewicz@fastmail.fm> |
fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45595 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
7ed47a13356daed2a34cd2209a31f92552e3bdd8 |
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
FGPrinter.h
allGraph.h
onstantFolding.h
onstantsScanner.h
ominatorInternals.h
ominators.h
indUsedTypes.h
nterval.h
ntervalIterator.h
ntervalPartition.h
oadValueNumbering.h
oopInfo.h
oopPass.h
emoryDependenceAnalysis.h
asses.h
ostDominators.h
rofileInfo.h
rofileInfoLoader.h
rofileInfoTypes.h
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
race.h
alueNumbering.h
erifier.h
|
f286f6fd93d569befe6e77c94a947e6e04e95685 |
10-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp. Reimplement the xform in Analysis/ConstantFolding.cpp where we can use targetdata to validate that it is safe. While I'm in there, fix some const correctness issues and generalize the interface to the "operand folder". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44817 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
5fc4abac3db46b6e6b3824163c0f1252c1ab0ebb |
08-Dec-2007 |
Owen Anderson <resistor@mac.com> |
Fix several cache coherence bugs in MemDep/GVN that were found. Also add some (disabled) debugging code to make such problems easier to diagnose in the future, written by Duncan Sands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44695 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
dff6710717b159f089c76a07eda074eb6347eb92 |
01-Dec-2007 |
Duncan Sands <baldrick@free.fr> |
Integrate the readonly/readnone logic more deeply into alias analysis. This meant updating the API which now has versions of the getModRefBehavior, doesNotAccessMemory and onlyReadsMemory methods which take a callsite parameter. These should be used unless the callsite is not known, since in general they can do a better job than the versions that take a function. Also, users should no longer call the version of getModRefBehavior that takes both a function and a callsite. To reduce the chance of misuse it is now protected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44487 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
528b00adc44ae1f8dfd78cf95853014c6ef341a1 |
01-Dec-2007 |
Owen Anderson <resistor@mac.com> |
Fixes for MachineLoopInfo, mostly from Evan. With these, it should be almost useable! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44480 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e4ad9c70e4a1261c212b11623d99e2477ef02783 |
27-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Add MachineLoopInfo. This is not yet tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44384 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
d735ee85dbab8e4f66f9ec157f19956e0d11ec7a |
27-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44348 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
af9ac8f8212a062291e218ea0dea90a2e81dcf66 |
27-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Add accessor for getting the underlying templated type. This is necessary for templated LoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44347 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
fd94dd58ffef1be3597ef8cb64f3b1d476d7d5ec |
26-Nov-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Remove another leak. Due to some reason AliasSetTracker didn't had any dtor... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44320 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
c54c561c9f7270c055dd7ba75a3a003b771a42d9 |
25-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44319 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
d91cbf352a5f25d602667445bcbb132705da286a |
25-Nov-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Remove a leak. Destroy LoopInfoBase object. releaseMemory() is actually called in its dtor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44317 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
50cdabcfd52e88381ade61450d98a1c757195bef |
19-Nov-2007 |
Dan Gohman <gohman@apple.com> |
Remove meaningless qualifiers from return types, avoiding compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44240 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
adf3eab7735741926c67e6fc12b952500c45a9ba |
19-Nov-2007 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44234 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
4e1a0e386c6861a697b0cd2e13a33ac4dd60e17d |
15-Nov-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Reverted r44163 per request git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44177 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
65e2da3b4d6925bf30693595a524a3a43acc1f17 |
15-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEV is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44163 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
44a95e06cc0bb3a2d617fe94235aee92b1951910 |
15-Nov-2007 |
Owen Anderson <resistor@mac.com> |
More templatization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44158 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
019b92a70c11319f5ab96c9f5e66e4e111a972f8 |
14-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Start the process of making MachineLoopInfo possible by templating Loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44097 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopPass.h
calarEvolution.h
|
1ef14f6e768eac76fc272320e79bdbd90747ef47 |
02-Nov-2007 |
Owen Anderson <resistor@mac.com> |
VAArgInst does, in fact, read memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43633 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
5d32ec4cb002973cb12bc21a3fe12364794168c8 |
31-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Some fixes to get MachineDomTree working better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43541 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
9962054775455c43402bf176da4a28c68197feef |
29-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43464 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
08895f886655d7d8368d2fdb513dcc963b681a74 |
29-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Add a first attempt at dominator information for MBB's. Use with caution: this has been tested to compile. It has not yet been confirmed to generate correct analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43438 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4d6d5783d8f803a9ae1ad64b16643f7ddeacbc1b |
25-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Make it possible for DomTreeBase to be constructed from MachineFunction's as well as just Function's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43321 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
7feb3be0b76c72134c515995b1a37466171cf83b |
23-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Make DomTreeBase not a FunctionPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43263 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
78daec973e81b1e85c2c3f5882845317da432f21 |
23-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Unbreak the build. Forgot to commit this file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43260 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
d20cc14dbf6d54d896e67b9920cd9bccdc14c41a |
23-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than inheriting from it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43259 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
246b2564d3bbbafe06ebf6a67745cd24141b5cb4 |
22-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Move the SCEV object factors from being static members of the individual SCEV subclasses to being non-static member functions of the ScalarEvolution class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43224 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
7b714321df4d286018d594c9c9f132f343dbabdc |
18-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Move Split<...>() into DomTreeBase. This should make the #include's of DominatorInternals.h in CodeExtractor and LoopSimplify unnecessary. Hartmut, could you confirm that this fixes the issues you were seeing? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43115 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
efd4a5144b03f61ebfd53d0245176f95e1170fb8 |
17-Oct-2007 |
Hartmut Kaiser <hartmut.kaiser@gmail.com> |
Updated VC++ build system. Silenced some VC warnings. I'm getting linker errors, though: unresolved externals: llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *) and llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *) Where are these defined? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43073 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
05d2318fbde7b603bd6de690f18d48e0ef44d81d |
17-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Move splitBlock into DomTreeBase from DomTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43059 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
280f8a2ecedc213372402fe221e2b1a613816f7d |
17-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Fix some formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43049 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
49b653aa6aaaed17be1c611c5722b5b9ff31a905 |
16-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Template DominatorTreeBase by node type. This is the next major step towards having dominator information on MBB's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43036 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
ostDominators.h
|
1aad74c9e8aba2ad0493620d35966ee3964c1ecb |
08-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Begin the process of allowing DomTree on MBB's. Step One: template DomTreeNode by making it a typedef of a templated DomTreeNodeBase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42743 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
9cb7f49ee9d8c77f5ae82e36befde2b3094fdd02 |
03-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Completely merge the implementation details of DomTree and PostDomTree. Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42593 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
ostDominators.h
|
471ab54df756f2f48c9146ad897672662c3f25f9 |
03-Oct-2007 |
Owen Anderson <resistor@mac.com> |
Factor some code from the DomTree and PostDomTree calculate methods up into each one's runOnFunction method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42563 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
21c276d2fa99914d5ed958ac0aec7d78e3dd87cf |
01-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Add empty() member functions to a few container-like classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42487 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
oopInfo.h
|
ab528fe0fb7caa96ce789bf872d7058aec8ae7c8 |
30-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Template-ize more of the DomTree internal implementation details. Only the calculate() methods for DomTree and PostDomTree remain to be merged/template-ized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42476 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
3c5f0233e094ec5cea8e0f95af72fe29a7ce851d |
29-Sep-2007 |
Duncan Sands <baldrick@free.fr> |
Add newline at end of file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42470 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
|
303f47b1dd3166a8abcd5425f863f7b4815a8e42 |
28-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Have PostDomTree use the newly templated DFSPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42427 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
ostDominators.h
|
58ec8825d46085841a1af55ee7f8117ad25ecf2f |
28-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Convert DFSPass into a templated friend function, in preparation for making it common to DomTree and PostDomTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42420 91177308-0d34-0410-b5e6-96231b3b80d8
ominatorInternals.h
ominators.h
|
68099d58cbad1fc6de980b2b01b6f221b560d5d5 |
24-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Merge significant portions of the DomTree and PostDomTree implementations. The two remaining unmerged parts are DFSPass, and the Calculate(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42255 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
04fa56932052f416ea911fe65615ebecbf154f6d |
24-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Factor the calculation details for PostDomTree out of PostDominators.cpp and into a separate header file. Next step: merging PostDominatorCalculation.h with DominatorCalculation.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42251 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
eefb31094f2481815884afba0076eadbf89045f1 |
24-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Move DFSPass back down into DominatorTree. I need to figure out what the difference is between it and the PostDomTree version first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42250 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
d20c824b201b1408d7ea7a4e2d601aee14db5cec |
23-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Factor the dominator tree calculation details out into DominatorCalculation.h. This change is not useful in and of itself, but it lays the groundwork for combining the dominator and postdominator implementations. Also, factor a few methods that are common to DominatorTree and PostDominatorTree into DominatorTreeBase. Again, this will make merging the two calculation methods simpler in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42248 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
742f9b66822cb03af0cf7b94436e9d0288565591 |
19-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Add a flag to mark a dirty cache entry. This is not yet used, but will eventually help non-local memdep caching. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42137 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
7c6c55db4df35c9e0bbff89ceec52b0504862d7d |
21-Aug-2007 |
Devang Patel <dpatel@apple.com> |
No need to hardcode SmallVector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41228 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b7211a2ce13a0365e0e1dd2f27adda2ee3d1288b |
21-Aug-2007 |
Devang Patel <dpatel@apple.com> |
Use SmallVector instead of std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
96fea337d27357e9b62abbf3d2d5ce29f1c8e870 |
20-Aug-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
- Use correct header for SCEV inside LoopPass.cpp - Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41197 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
ab3c9b1f95fc7ffd4144babd502c112d43aec7c4 |
18-Aug-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41167 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
96bf524b531fd404b118fad7bbe410e9aceeaa5d |
17-Aug-2007 |
Devang Patel <dpatel@apple.com> |
When one branch of condition is eliminated then head of the other branch is not necessary immediate dominators of merge blcok in all cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41144 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4d13de4e3bfc5121207efd01e1b31caa6bb4e40b |
16-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Cache non-local memory dependence analysis. This is a significant compile time performance win in most cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41126 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4d29ddfa06c111dbea5d27339c1c06191922c0fd |
14-Aug-2007 |
Devang Patel <dpatel@apple.com> |
No need to use iterator to erase basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41074 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
441c5ee6cfd4fdec78d7d86536610b2e72519450 |
14-Aug-2007 |
Devang Patel <dpatel@apple.com> |
Add methods to erase basic block entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41052 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
276222a5ae189ed5c6a2afb248d4c8f0335585b4 |
12-Aug-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Change casts from old style to new style. This helps document the details better, gives the compiler a chance to validate the cast and reduces warnings if the user turns on -Wold-style-cast option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
oopInfo.h
|
9528f11481e6840a10442733f1dc45c04b79d596 |
09-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Make NonLocal and None const in the right way. :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40961 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
49609a5ddfe8a318eb155a9ccaf0464cd54aa3c7 |
08-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Add one more comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40949 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
179463c0d4c20bfb2c6b1e697eed6f16305a201e |
08-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Cleanup and comment-ize the memdep header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40948 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
8cad423d94fd7e30d84742311c454016f36e3ee3 |
08-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Change the None and NonLocal markers in memdep to be const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40946 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
3e089ae0b8aa6d9daf0b8ca8f6059422c45936f0 |
08-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
reimplement dfs number computation to be significantly faster. This speeds up natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40920 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
371d68958f1c59dbd47730ed17acec5594b1149d |
07-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Get rid of unnecessary #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40885 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
dbbe816757700e44018144f392d8e6f13971ba86 |
07-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Clean up a bunch of caching stuff in memdep. This reduces the time to run GVN on 403.gcc from ~15s to ~10s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40884 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c385ae6ff5d6a978f7a1317e0069853a0e5dca2b |
06-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
Various random cleanups, add two accessors to DomTreeNode: getDFSNumIn/getDFSNumOut git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40856 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
e93e31198109b03b8c22296a1500839e95d59b5f |
05-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
Switch the internal "Info" map from an std::map to a DenseMap. This speeds up idom by about 45% and postidom by about 33%. Some extra precautions must be taken not to invalidate densemap iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40827 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
0a5f83c22cc5d1fe24e57aadde9399fa90eb5c98 |
05-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
switch the DomTreeNodes and IDoms maps in idom/postidom to a DenseMap instead of an std::map. This speeds up postdomtree by about 25% and domtree by about 23%. It also speeds up clients, for example, domfrontier by 11%, mem2reg by 4% and ADCE by 6%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40826 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
9066020993695a690c1f979f9cac4e14d325e237 |
02-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Make non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40692 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c2bbfc18e9adbbdcf5b3375d8d25e2452f7df7f1 |
01-Aug-2007 |
Dan Gohman <gohman@apple.com> |
More explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40673 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
df464195fe049d5ea921e2e37f4f833c2ea4e3ec |
31-Jul-2007 |
David Greene <greened@obbligato.org> |
Fix GLIBCXX_DEBUG error owing to dereference of end iterator. There's no guarantee that an instruction returned by getDependency exists in the maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40647 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
c7e49c08c22658dd16a5cac1500b0b70047bedc4 |
31-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Introduce Simple Analysis interface for loop passes. Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40625 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
02d6852a1c295030a8cff6b665c57e97c2624df5 |
25-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Forgot to include this file in my last commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40496 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
0cd320362e91852c8f7f2c8c4841498aab7f92fa |
25-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add basic support for performing whole-function RLE. Note: This has not yet been thoroughly tested. Use at your own risk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40489 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
4beedbd0063a8ba6f97db02c3c94707d8ab45b50 |
24-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add initial support for non-local memory dependence analysis. NOTE: This has only been cursorily tested. Expected improvements soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40476 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
58e0ef1e90c3f6dbae213612b44e56f7d6d65ea7 |
19-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Verify loop info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40062 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
oopPass.h
|
faac518ce0ae88a19f26b9aa9d34f6bf86ecb8c4 |
16-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add support for walking up memory def chains, which enables finding many more dead stores on 400.perlbench. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39929 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
eefdebe002ede066bf80859e72aec831cfd1d92d |
16-Jul-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Handle decrementing loops properly. Fixes PR1533. Always pass the constant as the second parameter to HowManyLessThans. Remove obsolete "isSigned" parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39893 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
5f323207971da23e2f78dd61d383e9d506fd9d6c |
10-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add support for finding the dependencies of call and invoke instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38497 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
6b278fc7860c1e0e5cf72340e43f78a87159be4c |
10-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Fix a bunch of things from Chris' feedback git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38493 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
9a6ae965d69b131d692de8fc69545b6c7aaea0b2 |
09-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Move the APInt form of SCEVUnknown::getIntegerSCEV to SCEVConstant::get, and use SCEVConstant::get instead of SCEVUnknown::get when constructing a SCEV for a ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38457 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
78e02f78ce68274163e1e63be59abd17aaaf6cbf |
07-Jul-2007 |
Owen Anderson <resistor@mac.com> |
A first stab at memory dependence analysis. This is an interface on top of alias analysis, adding caching and lazy computation of queries. This will be used in planned improvements to memory access optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37958 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDependenceAnalysis.h
|
a99be51bf5cdac1438069d4b01766c47704961c8 |
05-Jul-2007 |
Gabor Greif <ggreif@gmail.com> |
Here is the bulk of the sanitizing. Almost all occurrences of "bytecode" in the sources have been eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
|
bef204db6fc6b2e69f93f23f644617a3c01968aa |
04-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Remove unused method - getIDomBlock(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37865 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
dc42bc3baf15b227882ab21a501149d3301b294d |
04-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Fix typo in assertion check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37864 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
a6900c7ad9752a27e2e3b1bd78b2af3b1381176d |
02-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37839 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
1a957d563fe894c797e0eba00bf069fbe7ecba77 |
30-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add loop info verification mechanism. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37822 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
ef6ba18a4c6ecddb12ec50668021776a6b73a71c |
28-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Remove unnecessary comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37774 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
dc3a207e787f8ac8bc0c412f206b9f519c436e5e |
28-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Handle the case when block dominates itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37773 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
1ceda1d63ed128b34c332c81890f314ce2e5373d |
27-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Remove ETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37765 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
T-Forest.h
|
0e7f728ad1ac25b0ed450fe0f8b86a38d3c2a93a |
21-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Move code to update dominator information after basic block is split from LoopSimplify.cpp to Dominator.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37689 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
5cec4db6ae13a41d04d86f37e347fc5b5997c948 |
19-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Rename ScalarEvolution::deleteInstructionFromRecords to deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses internally anyway. This allows more flexibility for future uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37657 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
d19534add90a2a894af61523b830887097bb780b |
15-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Add a SCEV class and supporting code for sign-extend expressions. This created an ambiguity for expandInTy to decide when to use sign-extension or zero-extension, but it turns out that most of its callers don't actually need a type conversion, now that LLVM types don't have explicit signedness. Drop expandInTy in favor of plain expand, and change the few places that actually need a type conversion to do it themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37591 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
6857e366f57dbf6a83c3fdfbd643dba5de305065 |
12-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Protect updateDFSNumbers() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37560 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
9c7ee6b19fab7a269994264bc19bf4d19c33b3c3 |
12-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Make DFS number manipulation methods private. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37553 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4d42dea25397f2f822a93edfe9930b36ea85a7e7 |
12-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Break DominatorTree from ETNode. Remove unused PostETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37551 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
3726b82a55a1864c2f9af86beaaeb2e1f3fbc99b |
12-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Maintain DFS number in DomTreeNode itself. This means now ETNodes are not useful anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37546 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
fe7d4e50b8a34e660a8713da79613041987c19d6 |
12-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add and use DominatorTreeBase::findNearestCommonDominator(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37545 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
b5ef06c5090dbc5552dbb132ee86013d4d32872e |
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Fix spelling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37522 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
dba2413b2ecf4e781f457036a2eb0f103192e90d |
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Update LoopSimplify to require and preserve DominatorTree only. Now LoopSimplify does not require nor preserve ETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37512 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
0ab301c5fa5656b812db8cc944ab41259c8990dc |
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add new method - nearestCommonDominator(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37508 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
53c279b1949f7fa626ccbc399ebbe2d7dc9599a4 |
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Use DominatorTree instead of ETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37507 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e029b2c36907a77c895e4d646c0e91f18a6dd162 |
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add instruction level dominates(A,B) interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37504 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4b90e3a276c0bb1bd4d90289e27aa3c4f890b5af |
08-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37501 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
f11cc5c298b5c2bae45159ebd305e75dd0d5091b |
07-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add basic block level properlyDominates(A,B) interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37497 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
259e6cf1911a91ed80f77b132d1509fd0581a4a1 |
07-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add BasicBlock level dominates(A,B) interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37493 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
9a51157db555395f7a6ad89faec40b3afa121091 |
07-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Maintain ETNode as part of DomTreeNode. This adds redundancy for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37492 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
76ea084489baa1e5a5dff2e0186a1284d4df3c91 |
06-Jun-2007 |
Chris Lattner <sabre@nondot.org> |
add accessor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37453 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
4cd950f61b5c069b3e6b97e8b4f027be373e27dc |
06-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Break friendship. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37450 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
f082a9ae6b9e9545ee0648cb2e56e426e043eb5d |
06-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Simplify class hierarchy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37447 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
170f2b9bef6da7a6a19c7aec37e30f30a41cb4d3 |
05-Jun-2007 |
Devang Patel <dpatel@apple.com> |
s/ETNode::getChildren/ETNode::getETNodeChildren/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37426 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
055756bf52af37a4930c6023416537aad844e598 |
04-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37417 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
bbf8c8e71f53ff55c9756efb1e9238c7d3e1451b |
04-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Remove unused method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37416 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
83beaee227dad622a7e378897c6f29b511388fa0 |
04-Jun-2007 |
Devang Patel <dpatel@apple.com> |
s/DominatorTree::createNewNode/DominatorTree::addNewBlock/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37415 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
26a6908768a0139fff72bc07908d55872cba136b |
04-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Add basic block level interface to change immediate dominator and create new node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37414 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
26042420d642e810f5cdfb2da6156b74aaf80945 |
04-Jun-2007 |
Devang Patel <dpatel@apple.com> |
s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37407 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
bec7647f985d54d2be2100e3813b85267cf1fe49 |
03-Jun-2007 |
Devang Patel <dpatel@apple.com> |
s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37403 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
79b48b8bc07170656e7e2d7500f7fcbf69ccc923 |
23-May-2007 |
Devang Patel <dpatel@apple.com> |
Add dump() routines for debugging assistance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37314 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
d82dc669447c0296e5e0444afde834dd802096b3 |
14-May-2007 |
Chris Lattner <sabre@nondot.org> |
update comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37027 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
ecd94c804a563f2a86572dcf1d2e81f397e19daa |
06-May-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
ostDominators.h
calarEvolution.h
|
99c282453af9353ab1be42604414e8f4de338477 |
03-May-2007 |
Devang Patel <dpatel@apple.com> |
Use iterative while loop instead of recursive function call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36694 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4998264403539a8201899756193261eb4f9d7f0b |
03-May-2007 |
Dan Gohman <gohman@apple.com> |
Use the explicit keyword for the SCEV class' constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36686 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
1997473cf72957d0e70322e2fe6fe2ab141c58a6 |
03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
allGraph.h
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
oopPass.h
ostDominators.h
rofileInfo.h
calarEvolution.h
alueNumbering.h
|
3e15bf33e024b9df9e89351a165acfdb1dde51ed |
02-May-2007 |
Devang Patel <dpatel@apple.com> |
Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
allGraph.h
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
oopPass.h
ostDominators.h
rofileInfo.h
calarEvolution.h
alueNumbering.h
|
794fd75c67a2cdc128d67342c6d88a504d186896 |
01-May-2007 |
Devang Patel <dpatel@apple.com> |
Do not use typeinfo to identify pass in pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
allGraph.h
ominators.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
oopPass.h
ostDominators.h
rofileInfo.h
calarEvolution.h
alueNumbering.h
|
95b745a52eeb94a2be8ffa32e6d32aeadf3613cc |
21-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Fix some null checks to actually test the part that needs checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36298 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
13e3a292c55137c63df13f49c723fa53371ada1e |
20-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Add null checks and const-ify these accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36270 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
9e7919785ee375540a67622fa19f7d10592c3351 |
18-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Add accessor to get the blocks immediately dominated by a given block to ETForest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36251 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
T-Forest.h
|
1c2b862be0cfb3c72870a69cfb72b2f29a93471b |
18-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Add an accessor to make ETForest more useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36246 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
2f15254d77547716c38d84432a15d946cefa2cae |
18-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
what's an & between friends? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36234 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
8f93b7fc36dbeba428c6dd122c07fe0777baa664 |
16-Apr-2007 |
Devang Patel <dpatel@apple.com> |
Add getPotentialPassManagerType(). No functionality change, yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36149 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
bed2946a96ecb15b0b636fa74cb26ce61b1c648e |
16-Apr-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Removed tabs everywhere except autogenerated & external files. Add make target for tabs checking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
e934fefd6b6c83816e81bc86389cd593fb930773 |
16-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Tabs -> Spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36094 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
3dc6776b338f81e2d47daa42cc12c9f91053043d |
15-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Remove ImmediateDominator analysis. The same information can be obtained from DomTree. A lot of code for constructing ImmediateDominator is now folded into DomTree construction. This is part of the ongoing work for PR217. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36063 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
690c684fc60883171c01da12d826fda6b5678aa8 |
15-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Make ETForest depend on DomTree rather than IDom. This is the first step in the long process that will be fixing PR 217. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36034 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
7fec90ebf4ebe7aa73a6dd7d275c255587c041ad |
13-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
CSE simple binary expressions when they are inserted. This makes LSR produce less huge code that needs to be cleaned up by sdisel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35959 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
8ea325730c6b914350008f1d8160345bfc4781d6 |
09-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Move isReachableFromEntry out of line to avoid an unnecessary #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35797 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
558fc740da62bb93ddfc85f353ab0665b566127f |
09-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Cleanup some from my DomSet-removal changes. Add a new isReachableFromEntry test to ETForest to factor a common test out of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35786 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
cd4abb7e6da68510be8a843013fe15176f91ec49 |
08-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Remove DomSet completely. This concludes work on PR1171. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35775 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
e9ed4452bce4f5a7f8005d7ebd649a20c22ef268 |
07-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Add DomSet back, and revert the changes to LoopSimplify. Apparently the ETForest updating mechanisms don't work as I thought they did. These changes will be reapplied once the issue is worked out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35741 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
ba43963e96c9eb28d4f6862e46c5d3fbdc1f3b96 |
07-Apr-2007 |
Owen Anderson <resistor@mac.com> |
Completely purge DomSet. This is the (hopefully) final patch for PR1171. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35731 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
58efcd3bcdb59223d6311f25a87bdf6c016f2470 |
20-Mar-2007 |
Devang Patel <dpatel@apple.com> |
LoopSimplify::FindPHIToPartitionLoops() Use ETForest instead of DominatorSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35222 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
c37177eb72d13205d2ad07d32fc8a06a36e2ca9e |
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Use schedulePass() instead of assignPassManager() to add new LPPassManager. This ensures that require analysis info is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34980 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
a885c06bdf87a0003c23e15b3467fc7c1d4767d9 |
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Add LPPassManager::insertLoop(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34979 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
7a9a0695f2a5af1ab5667e9ce34c84d4f20bff5f |
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
LPPassManager::deleteLoopFromQueue() add meat. Cut-n-paste code from LoopUnswitch pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34977 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
22033be445aea2a28e8d11d2e2453382a1515f12 |
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
LPPassManager. Implement preparePassManager() hook. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34975 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
a5057d02c05efc0ead8787c76a012382ef675b03 |
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
LPPassManager : Add initialization and finalizatino hooks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34968 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
30159729ad3f8dcd6615d5e8a049e5e3e93be423 |
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Use std::deque to manage loop queue inside LPPassManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34943 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
ca5183d445954a9b2a570d6bbba1bc2b00ad6442 |
05-Mar-2007 |
Jeff Cohen <jeffc@jolt-lang.org> |
Unbreak VC++ build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
35fa43907e2ea751ad35bfbaab8c4d3511422c14 |
01-Mar-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Make it possible to create an SCEVUnknown from an APInt as well as an int. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34816 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
581b0d453a63f7f657248f80317976995262be11 |
28-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1205: Remove ConstantInt from ConstantRange interface and adjust its users to compensate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34758 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
84da80d10b472332d079c58d21aa48b82e636274 |
27-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Make getPassManagerType() const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34669 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
4b2646326ba6f14addf5498cbf6aefd273a4556e |
23-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Loop passes are set up to accept pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34527 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
bfd59055842311a0358f667177c736252d59a7c9 |
23-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Teach LoopPass to assign itself one Loop Pass Manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34510 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
8ded5852fe0dd317d9903809b49060248003d365 |
23-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Add facility that allows LoopPass to re-insert a loop into Loop Pass Manager's queue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34509 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
5afdc7d78526622034932e6d07871c7b25d87361 |
23-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Add LPPassManager interface that LoopPass can use to skip rest of the passes in the queue for a loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34508 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
d0e6e33043aa8cca678face8dce205155e2a69b3 |
23-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Add LoopQueue. This is used by loop pass manager to manage loop nest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34504 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
16a31c4ebf36d6520f18cebd8a6b248d18d10f97 |
22-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Add Loop Pass Manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34487 91177308-0d34-0410-b5e6-96231b3b80d8
oopPass.h
|
07d49acbf93709381430560f86e279a0af724462 |
21-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34469 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
ffee0d4dfe4d70506495188ad62479cfaac1e0c7 |
21-Feb-2007 |
Devang Patel <dpatel@apple.com> |
Fix memory leak (PR 775). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34462 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
36f78c8935da34074ccd06d5674e45b9cd45da8b |
12-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
add #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34190 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
c3ce6893742f0f2e20bffbbd7fb43b347fb0ece7 |
31-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Make this a *real* header: 1. Remove using namespace llvm; 2. Remove unneeded #includes. 3. Add #include guard. Also add prototypes for new code moved from transformutils to libanalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33682 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
73259caa44b03206d1e39e77a7aa375250b1a193 |
31-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Change constant folding APIs to take an optional TargetData, and change ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array of operands + size, instead of an std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33669 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
24d6da5fedcf39891f7d8c5b031c01324b3db545 |
21-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR970: Clean up handling of isFloatingPoint() and dealing with PackedType. Patch by Gordon Henriksen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33415 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
42a75517250017a52afb03a0ade03cbd49559fe5 |
15-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger. rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33225 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
b2f3e703bcde5833ff5910922f7a5313cc6b1c64 |
15-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Update code to eliminate calls to isInteger, calling isIntegral instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33220 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
e4d87aa2de6e52952dca73716386db09aad5a8fd |
23-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
5c7e326585f3a543388ba871c3425f7664cd9143 |
17-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Added an automatic cast to "std::ostream*" etc. from OStream. We then can rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
ominators.h
indUsedTypes.h
nterval.h
ntervalPartition.h
oopInfo.h
calarEvolution.h
calarEvolutionExpressions.h
race.h
|
f92b25ed4a2670ec9d4f5f746cf50ae337c0e0b8 |
13-Dec-2006 |
John Criswell <criswell@uiuc.edu> |
Remove DSA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32553 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/CallTargets.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
|
3ba68b9eef2851dae8a9d1b18928c6fa2e3c5f87 |
13-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change the interface to SCEVExpander::InsertCastOfTo to take a cast opcode so the decision of which opcode to use is pushed upward to the caller. Adjust the callers to pass the expected opcode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32535 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
e81561909d128c6e2d8033cb5465a49b2596b26a |
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
oopInfo.h
calarEvolution.h
race.h
|
8955e3b755b2337423911d8c3e0fd6ab36036912 |
04-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Unclutter this by using new cast creation functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32192 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
575d95ce373f1e405e6c27ce8d9f244bba3bdd0d |
04-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change inferred casts to explicit casts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32165 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
68fe61d6a165ea6090008e281330895a21607daf |
29-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Replacing std::iostreams with llvm iostreams. Some of these changes involve adding a temporary wrapper around the ostream to make it friendly to functions expecting an LLVM stream. This should be fixed in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
d96662360f49f9b94d0faa7ea8dba8582bc1b364 |
29-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Support for llvm_ostreams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31988 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
ataStructure/DSNode.h
|
c0ac317f93bef323437d791e4ef5a97f36d50515 |
28-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Support for llvm streams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31982 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
race.h
|
b5ebf15b2b2ce8989caf1a1114b05d80b0f9bd48 |
28-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Added a temporary hack to get the llvm-streams to work for future checkins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31978 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
calarEvolution.h
|
3da59db637a887474c1b1346c1f3ccf53b6c4663 |
27-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
472c7918b0bc155e002db6f682c899e21bff852c |
14-Nov-2006 |
Andrew Lenharth <andrewl@lenharth.org> |
A shim over other AA impls to catch incorrect uses git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31724 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
d41b30def3181bce4bf87e8bde664d15663165d0 |
05-Nov-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Unbreak VC++ build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
oopInfo.h
|
64a8dddb73bba20dd24fb3a233a39cbc79040fef |
03-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
silence warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31402 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraphTraits.h
|
7466ebf045fa5097ee0d7d2728eed7fd5945c8bc |
28-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31249 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
1628cec4d7fce310d9cde0bcc73997e5a71692c4 |
26-Oct-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
9a9aa4c1ad5bc651b6ce5338159e008861666e19 |
23-Oct-2006 |
Andrew Lenharth <andrewl@lenharth.org> |
change this back git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31134 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
b62ff3f7f18de9e7c84d14e91132e07199663f42 |
03-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
Move DominatorTree to immediately follow DominatorTreeBase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30693 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
8d3ab25335d985665cbf69231811da9e58e27592 |
22-Sep-2006 |
Devang Patel <dpatel@apple.com> |
Use iterative algorith to assign DFS number. This reduces call stack depth. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30575 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
697e5905805634b343be39391c403c38d2e64999 |
14-Sep-2006 |
Devang Patel <dpatel@apple.com> |
Undo previous check-in. Reintroduce recursive assignDFSNumber(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30380 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
57d12f962d5af0c23283e0a129b95b106a517e46 |
14-Sep-2006 |
Devang Patel <dpatel@apple.com> |
Avoid recursion in assignDFSNumber(). Move def from ET-Forest.h to Dominators.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30309 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
f19fb9b4f45acce221ba3c20f37d66ffc1735b54 |
12-Sep-2006 |
Nick Lewycky <nicholas@mxc.ca> |
Add ability to remove nodes from DominatorTree, for when a BasicBlock is being removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30270 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4b8f36f10672bbdd747eabfb5708e4758c3d5337 |
30-Aug-2006 |
Devang Patel <dpatel@apple.com> |
Do not rely on std::sort and std::erase to get list of unique exit blocks. The output is dependent on addresses of basic block. Add and use Loop::getUniqueExitBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29966 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
62c5105adc4f51c6dd07be3471ea2462c8e00c82 |
21-Aug-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR885: Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one so there is no dupliation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29787 91177308-0d34-0410-b5e6-96231b3b80d8
inkAllAnalyses.h
|
6aba48338f67f08637b05f38005059f27aaf69bf |
02-Aug-2006 |
Chris Lattner <sabre@nondot.org> |
Add dominates/properlyDominates queries to IDom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29456 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
7107c3badfe78ec89dcab6c02cf1b1bcaccc42a8 |
26-Jul-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR780: 1. Move IncludeFile.h to System library 2. Move IncludeFile.cpp to System library 3. #1 and #2 required to prevent cyclic library dependencies for libSystem 4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h 5. Add IncludeFile support to various lib/System classes. 6. Add new lib/System classes to LinkAllVMCore.h All this in an attempt to pull in lib/System to what's required for VMCore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
d85340f4ec587e22b0239617f3b747a6df113894 |
12-Jul-2006 |
Chris Lattner <sabre@nondot.org> |
Change the callgraph representation to store the callsite along with the target CG node. This allows the inliner to properly update the callgraph when using the pruning inliner. The pruning inliner may not copy over all call sites from a callee to a caller, so the edges corresponding to those call sites should not be copied over either. This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29120 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
1d662a6afcbf8afb809e7f40093d2e9e0a888fdc |
06-Jul-2006 |
Chris Lattner <sabre@nondot.org> |
Change the verifier to never throw an exception. Instead verifyModule can optionally return the string error, which is an easier api for clients to use anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29016 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
69fd7a3973a5c4ba4fb883b836fd0b84c046d10c |
26-Jun-2006 |
Chris Lattner <sabre@nondot.org> |
Add a new method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28915 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
a51139f446bc9083096885f5f8956db6c8c77981 |
20-Jun-2006 |
Andrew Lenharth <andrewl@lenharth.org> |
Fix build on old compilers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28869 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
ab390d045a5cd232ff6c89ad1c35eff7297cc419 |
19-Jun-2006 |
Andrew Lenharth <andrewl@lenharth.org> |
Do partial inlining in BU. This resolves more call sites. Also add options to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28859 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
73a38a9071332034349d5cb94ebc2ecae28e0e28 |
16-Jun-2006 |
Andrew Lenharth <andrewl@lenharth.org> |
move header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28818 91177308-0d34-0410-b5e6-96231b3b80d8
allTargets.h
ataStructure/CallTargets.h
inkAllAnalyses.h
|
c2cc15cf9d926b8de41dabba86005a55806127a0 |
11-Jun-2006 |
Owen Anderson <resistor@mac.com> |
Re-commit the safe parts of my 6/9 patch. Still working on fixing the unsafe parts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28748 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b9b2b309d3195d9e2ed1e72da8566a470783e8d7 |
11-Jun-2006 |
Evan Cheng <evan.cheng@apple.com> |
Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28747 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f25c19c6b57aec5670e87dc57840c6ac12252099 |
09-Jun-2006 |
Owen Anderson <resistor@mac.com> |
Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass assert on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28738 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4f1bd9e9963239c119db70070db1d68286b3de7e |
08-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR780: 1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
allGraph.h
ominators.h
indUsedTypes.h
oopInfo.h
ostDominators.h
alueNumbering.h
|
6df60a9effe4d20a48cfd9d105c0ab3c5dc3e690 |
07-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR780: Break the "IncludeFile" mechanism into its own header file and adjust other files accordingly. Use this facility for the IntrinsicInst problem which was the subject of PR800. More to follow on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
080e25d884d9b9499b3e5330f42847fbb8db8232 |
01-Jun-2006 |
Chris Lattner <sabre@nondot.org> |
Fix -pedantic warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28634 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
192913e281a0e9b97275fa1b84da96b02397323e |
01-Jun-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change from using a stub function to a stub variable for passing to the IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
allGraph.h
ominators.h
indUsedTypes.h
oopInfo.h
ostDominators.h
alueNumbering.h
|
632cd52162e0fa95bb3527af71476babe6052353 |
30-May-2006 |
Andrew Lenharth <andrewl@lenharth.org> |
Since there was interest on the mailing list, this is a utility pass that uses DSA to make find targets of calls. It provides a very convinient interface to DSA results to do things with indirect calls, such as write a devirtualizer (which I have and may commit one of these days). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28545 91177308-0d34-0410-b5e6-96231b3b80d8
allTargets.h
inkAllAnalyses.h
|
c83769ae33024fb86ff63ab46f75a2bfed7975d3 |
27-May-2006 |
Chris Lattner <sabre@nondot.org> |
Fix pastos in comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28522 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
c773de6d61114820d396e7e758d2594d3b55f92d |
19-May-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Fix some doxygen usage in these headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28394 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
6fe8ff48bd33938a47c7c513bb4aac9d13d3a8e6 |
19-May-2006 |
Chris Lattner <sabre@nondot.org> |
Use class tags instead of struct tags. The coding standards specify this for public classes for improved win32 compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28391 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
60a05cc118763c680834a61280f48530482a1f86 |
01-Apr-2006 |
Chris Lattner <sabre@nondot.org> |
Fix Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll and PR726 by performing consistent signed division, not consistent unsigned division when evaluating scev's. Do not touch udivs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27326 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
calarEvolutionExpressions.h
|
26d5d16a2c8ef6c0763afbfe06c940c40c461d6e |
20-Mar-2006 |
Nate Begeman <natebegeman@mac.com> |
Move some common data structures between dom and pdom into the base class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26905 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
442b32b5c5f690bc9b49d67b3ec76008879bc4d9 |
11-Mar-2006 |
Nate Begeman <natebegeman@mac.com> |
Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominator set construction, rather than intersecting various std::sets. This reduces the memory usage for the testcase in PR681 from 496 to 26MB of ram on my darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a 2.5GHz G5. This also enables future code sharing between Dom and PostDom now that they share near-identical implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26707 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
410354fe0c052141dadeca939395743f8dd58e38 |
22-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. Patch by Martin Partel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
inkAllAnalyses.h
|
ed412ac2cbd21e877742fb460efde99887f69482 |
04-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Refactor a bunch of code into a non-inlined method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25972 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
8f9f0d3a34ebbcd6d075fbb1250dc74f36579d50 |
04-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25959 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
801af7376e360516d15e8d02316217416f86eae6 |
15-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Initialize DFSnum's to -1, in case a node is not reachable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25344 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
d2da286e991963fcc4b9bbbed4c2e3f5c7ebddab |
15-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
add an assert, patch by Daniel Berlin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25343 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
25abb1dc094a08a3ba5cb426698b4780cbe438bb |
14-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Change ET-Forest to automatically recalculate its DFSnum's if too many slow queries are made. Patch by Daniel Berlin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25323 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
oopInfo.h
|
56151dad2ea6bd57c516fcb24cf175cfeab3e602 |
14-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Add CallGraph::getOrInsertFunction, to allow clients to update the callgraph when they change the program git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25316 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
1694ec615f71e25de6d07ffc6fe29deed353c657 |
14-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
add a dump method to CallGraph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25314 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
2e761e29f86efcf0ae4fb99ab5ef67c2ce392787 |
11-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Patch by Daniel Berlin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25200 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e8605a475f69da1f0181903cee7a8e9910cc1b9c |
08-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Fix the build on platforms where <cassert> doesn't define NULL git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25147 91177308-0d34-0410-b5e6-96231b3b80d8
T-Forest.h
|
ccacd3ccc2a4a2336085a1d8d58cedb947b2eb52 |
08-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Initial implementation of the ET-Forest data structure for dominators and post-dominators. This code was written/adapted by Daniel Berlin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25144 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
T-Forest.h
ostDominators.h
|
03839956e2b99348812f4c45fb57649804c77c2d |
22-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Separate the call graph implementation from its interface. This implements the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt, allowing new spiffy implementations of the callgraph interface to be built. Many thanks to Saem Ghani for contributing this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24944 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
inkAllAnalyses.h
|
f8395ba4989d4b140cb11a877af5fb2f440135ca |
06-Dec-2005 |
Sumant Kowshik <kowshik@uiuc.edu> |
Added comment for removing assert git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24623 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
14d1d22f370e47653d8f7e3f3ab4a409d24f878b |
06-Dec-2005 |
Sumant Kowshik <kowshik@uiuc.edu> |
Handling of zero length last fields in struct used for growing it arbitrarily git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24620 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
8bdbb632433a2acddfebb387361e40b01f469192 |
30-Nov-2005 |
Chris Lattner <sabre@nondot.org> |
Add a simple clear() method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24543 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
d87ef134d74761a019d1cc90f10462af1a3bdd4c |
29-Nov-2005 |
Chris Lattner <sabre@nondot.org> |
Fix PR670 and test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24508 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
a35bef9db2298f9609d70fa9c898b76fede4a359 |
18-Nov-2005 |
Chris Lattner <sabre@nondot.org> |
Fix the dominates method to return true if the two nodes are the same. Add a new properlyDominates method to do what the old one did. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24407 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
9a83508a27431db86a502a29dd07581b2ea541f0 |
29-Oct-2005 |
Chris Lattner <sabre@nondot.org> |
remove a dead header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24084 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
bd9d37026a5c17d9a51371a6a5446bf4761ee7d6 |
27-Oct-2005 |
John Criswell <criswell@uiuc.edu> |
Move some constant folding functions into LLVMAnalysis since they are used by Analysis and Transformation passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24038 91177308-0d34-0410-b5e6-96231b3b80d8
onstantFolding.h
|
f753ea7a1573e15670e516f7ce628956d0ea46ac |
24-Oct-2005 |
Chris Lattner <sabre@nondot.org> |
This pass is very old and quite useless, remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23946 91177308-0d34-0410-b5e6-96231b3b80d8
indUnsafePointerTypes.h
inkAllAnalyses.h
|
d5bc0e5f9c20a3f8e44f23ea7795ed5ccd301ca9 |
24-Oct-2005 |
Chris Lattner <sabre@nondot.org> |
add a proto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23923 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
efec5e15997954284fd4eb0e81f444fecd652c1b |
24-Oct-2005 |
Chris Lattner <sabre@nondot.org> |
new header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23921 91177308-0d34-0410-b5e6-96231b3b80d8
inkAllAnalyses.h
|
cd04092fe4328a709ba615ebee0a593ef4546a29 |
24-Oct-2005 |
Chris Lattner <sabre@nondot.org> |
add some prototypes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23919 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
331a1833e12b6229986f63f0a156062affbf3142 |
12-Sep-2005 |
Chris Lattner <sabre@nondot.org> |
new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23314 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
27631a30eb1c5cb1c5190531b10a147f058d6ff1 |
10-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
add two helper methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22735 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
d29b6aa608d69f19b57ebd2ae630b040b1c4951d |
30-Jul-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Keep tabs and trailing spaces out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22565 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
36f891bdf6cf38fcc655a0930ca18664e18518d4 |
30-Jul-2005 |
Nate Begeman <natebegeman@mac.com> |
Break SCEVExpander out of IndVarSimplify into its own .h/.cpp file so that other passes may use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22557 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpander.h
|
9eb59ec548b861d6ede05b4e6dc22aabf645e665 |
27-Jul-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Eliminate tabs and trailing spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
50f5490842d501e269a4c6085d0d132cae0d31f8 |
29-Jun-2005 |
Chris Lattner <sabre@nondot.org> |
Don't crash on a query where the block is not in any loop. Thanks to Sameer D. Sahasrabuddhe for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22314 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
14f1703ae33e13dbcadd701603fd4d7a6f7010b9 |
20-Jun-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22267 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
3e909e8bb977d0b2bec9170bdb05fcdeacdb5de2 |
15-May-2005 |
Chris Lattner <sabre@nondot.org> |
fix warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22060 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
7a5659176fb789227ee62752ae16b16a20c2376c |
15-May-2005 |
Chris Lattner <sabre@nondot.org> |
fix compiler warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22059 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
edd5d9ece15f73ec1a31423a4ae39774aa6c521c |
15-May-2005 |
Reid Spencer <rspencer@reidspencer.com> |
Some cleanups for compilation with GCC 4.0.0 to remove warnings: * Use C++ style casts, not C style casts * Abstract base classes should have virtual destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22057 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
oopInfo.h
|
21d6ff546d0c9cd1a631fe7940a3988a2472198c |
01-May-2005 |
Tanya Lattner <tonic@nondot.org> |
Add accessor method, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21649 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
3b1b6e626e42eb22869a28b02a463de5597f9822 |
22-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Convert tabs to spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21436 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
ntervalIterator.h
erifier.h
|
9769ab22265b313171d201b5928688524a01bd87 |
21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
FGPrinter.h
allGraph.h
onstantsScanner.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
ominators.h
xpressions.h
indUnsafePointerTypes.h
indUsedTypes.h
nterval.h
ntervalIterator.h
ntervalPartition.h
oadValueNumbering.h
oopInfo.h
asses.h
ostDominators.h
rofileInfo.h
rofileInfoLoader.h
rofileInfoTypes.h
calarEvolution.h
calarEvolutionExpressions.h
race.h
alueNumbering.h
erifier.h
|
07753cecb986cbedf1fbc21fb8b6b98492896b2f |
21-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
add support for taking the address of free. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21395 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
0f67dd6237eb7227aa58e9b77cd95f354989b891 |
21-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
Improve doxygen documentation, patch contributed by Evan Jones! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21393 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
48574ab52c97b27a8f7bbfa410bb8be1c65fc063 |
02-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
merge EquivClassGraphs.h into DataStructure.h with the other DSA pass definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21041 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
ataStructure/EquivClassGraphs.h
|
da7c380eb41a8df8120fe109ed2cba0c0adc29ba |
02-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
add and use a callee_iterator typedef git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21037 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
ataStructure/EquivClassGraphs.h
|
df968b8b37d93c105ced41bea5d3231ee171a24e |
02-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
Change the ActualCallees callgraph from hash_multimap<Instruction,Function> to std::set<std::pair<Inst,Func>> to avoid duplicate entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21030 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
ataStructure/EquivClassGraphs.h
|
487cd15fdb78c4972eb41879cda29fc62e62744d |
25-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add new spliceFrom methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20823 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
8eec644862251e14add0d2707d655fcce91e8f70 |
24-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
if a function doesn't access memory at all, it definitely doesn't read it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20794 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
65512d25258ab78e488b95642b5f5c57d071f1e1 |
23-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
a hack to allow count-aa to work with ds-aa :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20791 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
ee76095307116248736ea87af929c81ee537d894 |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Fix a serious bug where we didn't insert globals into the globalset when cloning a graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20770 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
54fdcb24808bc7c66109efd9e4e3206ee4af3967 |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20761 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
a2197139b5894a4225452b9ffc8417c5d05a157b |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Now that the dead ctor is gone, nothing uses the old node mapping exported by cloneInto: make it an internally used mapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20760 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
5805c426dcc2b330565d247677cb12acf7002f15 |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
remove a dead ctor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20759 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
d65145bd3d5cf7ca5f318b0ec8f8f42d34a39d35 |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
now that the second argument is always this->ReturnNodes, don't bother passing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20758 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
077531385e0145b3657173de0939e9b4b360538d |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
drop the second argument to cloneInto, which is always the local scalar map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20753 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
dc77036a82c92fea95defed3218f1086fbd6d22d |
22-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
move this stuff out of line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20750 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
f21918bfafa15ccc2948b4c4b59e0f5fe7abce05 |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
allow passing clone flags into the ctor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20747 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
d75e334d2460c64441d8770b34d025d1315b256c |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add a new map git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20742 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
b3439374ac144cc0ecd4fd0b238ca2d193897312 |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
make this const correct git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20741 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
c26f6d3899dd116f73d6c11fc2acb21d78e5ab3d |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Ugh, for some reason, I can't call this unless the reference is const!?!?!? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20732 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
38d807ea8bfa5df951bcf548aef464ea48ff9370 |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Make the first operand of this method be modifiable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20730 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
2c012590d74e9f44bc75b29a3743d01dae5c14ee |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20729 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSSupport.h
|
9e3c5a2bde1644899392d9f6f71b204610dc9e0f |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
If merging two calls like: foo(A) and bar(B, C), make sure the result has two arguments, not one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20728 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSSupport.h
|
7757b9fe9f28fba46345069272046958460ffaa3 |
21-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
rename a method add a data structure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20722 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
1fd7d4a67067980e6a8c6575bcf0bf59ee79be17 |
20-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Remove the InlinedGlobals set which is always empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20715 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
3ee382c68f662c25329fc2b456ef6aaac79b80f1 |
20-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20709 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
a4c1b5f3e60e31a0acf9312a5f27060d7f5259b0 |
20-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
rename some methods and add some new methods for dealing with the globals list in a DSNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20701 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
6269be8aca9f0787873d6c806e3e4ef0afbe9c89 |
19-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Make each scalar map contain a reference to an equivalence class of global variables. Do not insert a global into the scalar map unless it is the leader of its equivalence class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20695 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
ed53fe9945e527570206d419e74e4561da3761cc |
19-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Each DS collection now contains an equivalence class of globals values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20694 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
ataStructure/EquivClassGraphs.h
|
ce325fdb87b029cdc6fc21088e40648cfb68ce54 |
19-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add a method to clear globals from a node git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20693 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
0f344122938a9a6c8e026542ac741540a5d04f99 |
18-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add 3 methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20667 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
df6001380a809c07a68a9e0da23926b104a8a089 |
16-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
remove use of compat_iterator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20642 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
|
a9fec4ed81361102e02078a2bc67953bb338dec2 |
15-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
remove warning, make computeGGToGMapping return an invnodemap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20621 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
adea6306d413d1352c07c08c1bc9cdf8a29e3a51 |
15-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add support for hashing nodehandles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20620 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSSupport.h
|
60cc3e1c4ee03ae6ed6614a58a6001cbcd037963 |
15-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
add iterators for return nodes list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20617 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
805213e65cbf8acfc944564c432305dda51b8bce |
15-Mar-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Do it right... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20605 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
0ef161eef973677440709bf2e4bdd5b5595a5e0c |
15-Mar-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Fix VC++ breakage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20604 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
e44858049210c84356af85007783149c13de42d6 |
15-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Rename method, add counterpart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20592 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
62b2b22573e921ce008b687aa3dcc56ad06fd02f |
14-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Add a useful method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20587 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
bc341e616ecf757ca890cb3d7d280e97490437a0 |
13-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Add support for printing EQ graphs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20581 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
b25959a63210f66f8e6f742ae7ecd933dcf75cbb |
12-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
remove this from the PA namespace, leaving it in the llvm ns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20574 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
8694c076c70e11b0bd0769e1f60c3fd7ae8e0243 |
11-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Fix some crashes noted by John Mellor-Crummey's group. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20558 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
df28a31435f90b322e2a28c8925c564a19fc3b72 |
09-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
export two methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20526 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
51a4ad475b095aed49caff176b98c0754e421af4 |
06-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
new helper method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20491 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
803513b364e27d303285d396fd8ee5b32149962a |
26-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Fix a case where we incorrectly returned hasComputableLoopEvolution for a ternary commutative expr. Remove FIXME that does not need to be fixed (can't happen). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20335 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
d672ab936f32a6eef0d7a099e6ef6ceb1a131e49 |
15-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Add a new method to make it easy to update graphs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20194 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
afc0dc7184cf73ff7ac64e516284fbe0c7023ba4 |
13-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Add a new replaceSymbolicValuesWithConcrete method to the SCEV class, adjust const'ness a bit to be more correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20145 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
748ca4de2ca282be05cf99828fd6803cac422a20 |
09-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Add some iterators that should have come in long ago git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20085 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
ddf5a35eed208985c6378c118d7f7c0c9f00685e |
07-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Hopefully fix the build on Darwin with GCC 3.3 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20064 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
eefc71be20d1393b84ecfe214054e1c0bce2aa40 |
04-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Add some new members git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20034 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
fbafcb746872c25d4928834bd8234e78ab202a0c |
04-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
add new member git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20033 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
3a826203c76137fc231b8c80fd506a3963b9a3c0 |
03-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
Add a new method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20017 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
321f68306f1107947c3c4826d28835bc6e66cacd |
01-Feb-2005 |
Chris Lattner <sabre@nondot.org> |
remove dead method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19977 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DataStructure.h
|
a9548d9fd99beea7d5e4dc6619cb5569b54620c0 |
31-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
* Make some methods more const correct. * Change the FunctionCalls and AuxFunctionCalls vectors into std::lists. This makes many operations on these lists much more natural, and avoids *exteremely* expensive copying of DSCallSites (e.g. moving nodes around between lists, erasing a node from not the end of the vector, etc). With a profile build of analyze, this speeds up BU DS from 25.14s to 12.59s on 176.gcc. I expect that it would help TD even more, but I don't have data for it. This effectively eliminates removeIdenticalCalls and children from the profile, going from 6.53 to 0.27s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19939 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
bca81448ac8e19c588c9a4ad16fc70732b76327c |
30-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Improve conformance with the Misha spelling benchmark suite git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19930 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
3cf8e6857e1e5545048fc6fb6d834d50a7b7cf8e |
29-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Adjust to ilist changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19923 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSNode.h
|
a5ba89421eb6e8ade7833480e5820f9131fa3555 |
28-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Get VC++ compiling again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19869 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
d5af7c4df6b9e18c017ab0138c02f687d5dc84a0 |
24-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Add some methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19817 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
ataStructure/DataStructure.h
|
6e400f76e6921226ddacba367d3928474ed7567d |
10-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Apply feed back from Chris: 1. Rename createLoaderPass to CreateProfileLoaderPass 2. Opt shouldn't use the pass registered in CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19431 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
1d7b5de7eef6039dbc00bf50b582a5d7426e03fc |
09-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Add last four createXxxPass functions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
2611dd4448e1f0ddbff630531a0047360228d717 |
09-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Get lib/Analysis/DataStructure to compile with VC++ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19412 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
|
534927d82de6d1be0f6e939263eeb309ad135661 |
08-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Add even more missing createXxxPass functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
fb752ba02ada9349353b256f81405dd6866c1364 |
17-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Make code fit in 80 cols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19016 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
248e8ebeff834db9b78917b1531eeee7035eb113 |
15-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Make the AliasAnalysis interface more precise for common cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18956 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
833408d484acecc2c6ab71baef76f846d69f5388 |
08-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Move method out of line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18666 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
|
ce9653ce449f1409815547e1bf60abcd1332d2c9 |
07-Dec-2004 |
Reid Spencer <rspencer@reidspencer.com> |
For PR387:\ Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ntervalPartition.h
oopInfo.h
calarEvolution.h
|
276636c93b35786d5719e2eda335c79d38d92632 |
27-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Change interface to this method a bit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18274 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
07bfa52405feb99155304c1a28b71e69d046589c |
26-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Add a new interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18266 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
033a7d5389ee6827e33de3fa4602e10226e04170 |
02-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Substantially cleanup/speedup the eq graphs pass by walking the callgraph a DSGraph at a time instead of a function at a time. This is also more correct, though it doesn't seem to fix any programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17435 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
4457f7ea469d89353e353d534098790e8f106be9 |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Remove more dead methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17413 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
dddc13f98693146ee34056231f748af3268a500c |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Delete a dead method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17412 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
fcb7d950bcf636f744c3f399a39210145889baba |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Rename FoldedGraph -> DSInfo to be consistent with other passes delete some dead methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17410 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
77408b8987085aafe968988c5e63cd57a68b799b |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Get rid of the EquivClassGraphArgsInfo class, and the map that held it. We only need one instance of the vector that it contains at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17407 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
68f9658fcb8941a67ee33696428b4a28585e6cd5 |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminate the cloneGraph method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17405 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
31d3f671be9019cda23ceea70f6d65569cb8dfc2 |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
* Do not refer to ActualCallees in CBU, when we can do it locally. * *DO NOT* print CBU graphs when asked to print our own. This is just FREAKING confusing and misleading: it's better to not print anything. * Simplify and clean up some code * Add some more paranoia assertion checking code that I found to track down this bug: * Fix a nasty bug that was causing us to crash on Prolangs-C++/objects, where we were missing processing some graphs. This hunk is the bugfix: - if (!I->isExternal() && !FoldedGraphsMap.count(I)) + if (!I->isExternal() && !ValMap.count(I)) urg! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17386 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
4bbf3dfbe614b8d62a0e695ab28ba70824c3a36e |
01-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Simplify graph traversal, improve grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17383 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
ab8544aa757c1ca930125a64b0e36bf50dbf8aa9 |
31-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Do not do horrible things to the CBU graphs. In particular, we do NOT own the CBU graphs, copy them instead of hacking on the CBU graphs. Also, instead of forwarding request from ECGraphs clients to the CBU graphs clients, service them ourselves. Finally, remove a broken "optimization" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17378 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
5b3ed508f62ed09cec4162633cb074c424106c16 |
30-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Add an assertion and a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17353 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSSupport.h
|
1fca5ff62bb2ecb5bfc8974f4dbfc56e9d3ca721 |
27-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Convert 'struct' to 'class' in various places to adhere to the coding standards and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
ataStructure/DSNode.h
ominators.h
oopInfo.h
|
5fb00c5893ab62bc2c2ea6ae972d8841b6cc9add |
14-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Make sure any client of Dominators.h links in Dominators.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16986 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
15f47878e43fe8a3f22631f72a4d242322f66555 |
14-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Remove unneeded typedef, patch by Morten Ofstad git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16984 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
5c3734e349a93e658454f2d4c567e5e0549461f4 |
12-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Add std:: prefix for compilers without correct koenig lookup implemented. Patch contributed by Paolo Invernizzi git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16933 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
b12914bfc0f76a7a48357162d5f4c39a1343e69b |
20-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
'Pass' should now not be derived from by clients. Instead, they should derive from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure/DataStructure.h
indUnsafePointerTypes.h
indUsedTypes.h
|
d55c9bf318ceb5c1f3a0a31b2e5e2bf1ad5db2b7 |
20-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Adjust to API changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16429 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
cd382a3725e46a41c6dfb923cd1ee295fa0461aa |
18-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Add CallGraphNode::removeAnyCallEdgeTo method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16398 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
ff8c4953863cae2f56477e8a11f42ef7a47a4437 |
18-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Implement new changeFunction method, nuke a never implemented one. Add comments and doxygenify others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16387 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
7e0e9c635f5439426252bd1ccbfa90b878ba0ca6 |
15-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Make sure to update the list end when an element is removed from it. This fixes a crash in LICM when processing povray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16367 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
e2fe784500ee910536bfc7332eae82ab0fdd1bc7 |
14-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Add an AliasSetTracker::copyValue method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16343 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
5148b633291ac301e443e241c5f0e5881fb1c5ef |
14-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Adjust to #include movage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16329 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
20aa474f8fbebde588edc101b90e834df28ce4ce |
03-Sep-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fixes to make LLVM compile with vc7.1. Patch contributed by Paolo Invernizzi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
551ccae044b0ff658fe629dd67edd5ffe75d10e8 |
02-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
onstantsScanner.h
ataStructure/DSGraphTraits.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
nterval.h
oopInfo.h
|
af8a42445c99d2d733caf1f9ef3e3b53827613d5 |
08-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Add standard print/dump methods to CallGraph classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15569 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
96d4bf7aee0c6ce915e6eb77065df388f374fafb |
27-Jul-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Make the create...() functions for some of these passes return a FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15276 91177308-0d34-0410-b5e6-96231b3b80d8
oadValueNumbering.h
|
558cb5f4a131be8de67dd66d06f5c053cbf7403e |
26-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
New methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15229 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
5c88260f70d5286adeca61c31bdf51f8debaccbc |
25-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for free instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15197 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
b8a31ace2c49af703cf7b1f1bda408a361f53447 |
22-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Clean up reference counting to stop "leaking" alias sets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15099 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
877ad7d80b3eac84f9f61294bc1b78817bbca530 |
21-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Add a bunch of new functionality, primarily to do with removing aliasing pointers from an AST. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15065 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
12c1155403fd2dbd3a24e3748e7d80bbaa27c7f6 |
21-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Make the AST interface a bit richer by returning whether an insertion caused an insertion or not (because the pointer set already existed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15064 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
e30ab88209055558c6a607e366d8a29c886fdbee |
19-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Remove dead file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14981 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
31c0da448336754be34fcb7fe4ce4c08208bb03c |
18-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
bug 122: remove redundant isa<GlobalValue> ensure isa<GlobalValue> case is processed before is<Constant> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14926 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
94009a595489386d027b2fee345e98ccafc7fbf5 |
15-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Fix for PR341 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14846 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
8adbec89ce72feff0a06fa28693d15820b80a0d8 |
07-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Headers moved git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14665 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
7ff5daa0b65c38422845dc52456812ef9c94df1f |
07-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
All of these now live in the DataStructure directory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14664 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SGraphTraits.h
SNode.h
SSupport.h
ataStructure.h
|
6c49989b3e4b5d50cc8c25a02d4a0e66e312523f |
07-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Move DSA headers into Analysis/DataStructure to make it more obvious what is implemented by the DataStructure library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14662 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
|
efffdc9408344c6c109ced7984e056c02fe37dc8 |
07-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
As much as I hate to say it, the whole setNode interface for DSNodeHandles is HOPELESSLY broken. The problem is that the embedded getNode call can change the offset of the node handle in unpredictable ways. As it turns out, all of the clients of this method really want to set both the node and the offset, thus it is more efficient (and less buggy) to just do both of them in one method call. This fixes some obscure bugs handling non-forwarded node handles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14660 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
SSupport.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
e0bc0c1822c5288fe0d3da76d9b357f2f9a7251a |
04-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Move SlotCalculator.h to lib/Bytecode/Writer since that is the only place that needs it after the Type != Value changes (bug 122). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14605 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
15fde2eb837bf806a6dfa2e1b4c75d5f195f34ad |
28-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Add new header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14461 91177308-0d34-0410-b5e6-96231b3b80d8
asses.h
|
c3f44c082f101900ae2c17c062936dcf4f628a39 |
28-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Move file to lib/Analysis/DataStructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14454 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
1ffa817210bb4608b76134fc09894fa51176c0fa |
28-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Moved to lib/analysis/datastructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14451 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceGraph.h
|
ae7502cb5f32fd33e79651cab60bc3f0135627bd |
28-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Moved to lib/Analysis/DataStructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14449 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDepAnalysis.h
|
e1ba478cd6e3a79dbe2ea5606aabfd46248539f5 |
28-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Moved to lib/Analysis/DataStructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14447 91177308-0d34-0410-b5e6-96231b3b80d8
gmDependenceGraph.h
|
5aa20212cc8dd1008d05915bf23dd02143fc5de9 |
24-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Remove distasteful method which is really part of the indvars pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14359 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
236b7e2142ab6d97aa4b360bd3664c5629c7ad9d |
10-Jun-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove extra space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14117 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
798ff64328c3f167a58e4dbfa515c04e1f49f664 |
26-May-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Part of bug 122: This change removes the BuildBytecodeInfo flag from the SlotCalculator class. This flag was needed to distinguish between the Bytecode/Writer and the AsmWriter. Now that AsmWriter doesn't use SlotCalculator, we can remove this flag and simplify some code. Also, some minor name changes to CachedWriter.h needed to be committed (missed in previous commit). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13785 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
ab8c565768ff7485f40cbb65e2914f9046e743d4 |
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Several *major* changes to the AA interfaces: 1. Provide interfaces so that clients can update alias analyses to reflect the changes made by the transformations. 2. Change how alias analysis implementations work overall. In particular, now clients will automatically forward to chained AA implementations: they don't have to remember to do it themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13678 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
bc782255181229e4b63d33489ea1165156f10d68 |
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Add interfaces to update value numbering results git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13677 91177308-0d34-0410-b5e6-96231b3b80d8
alueNumbering.h
|
c43e0ae35094266028c3900116a4dfbee5769388 |
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Rename a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13676 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
c5204fb6f8ded3543c74bb922d812eaeef8663c3 |
23-May-2004 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Complete rewrite of the code that merges DS graphs for equivalence classes of functions called at a common call site. The rewrite inlines the resulting graphs bottom-up on the SCCs of the CBU call graph. It also simplifies the merging of equivalence classes by exploiting the fact that functions in non-trivial SCCs are already merged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13645 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure/EquivClassGraphs.h
|
44860ccaf2142ea87b2b3fcb7b193c07ede05927 |
23-May-2004 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Fix size/offset assertion to allow negative offsets and folded nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13644 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
d49b12041419709a0690667ce1e2b5e9b9a11610 |
21-May-2004 |
Chris Lattner <sabre@nondot.org> |
It's not clear to me whether the old version was correct C++ code, but in any case it's not portable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13621 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
71d3a87ec1cf788236f48527f2cf5e2ae65df492 |
17-May-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Define erase forwarding method on traces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13591 91177308-0d34-0410-b5e6-96231b3b80d8
race.h
|
7e3f82e6a55b6e7007a08537d4f4a9c780e50fa1 |
04-May-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add BBTrace accessor method and data member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13351 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
dc0bedcd250a39e224b6c4ee317ddd65f234fb08 |
04-May-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
New header file containing profile info enums shared between the C++ analysis libraries and the C runtime support library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13347 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoTypes.h
|
1570cb14d7e1ce8041533baeeefcb19cee7a414c |
02-May-2004 |
Chris Lattner <sabre@nondot.org> |
Initialize member out of paranoia git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13319 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
0ebf428e48ab258012d94d8efa05a4ae5932e2db |
27-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Fix warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13189 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
21e232501a9d5ace29187b20a211ca73b09a1c75 |
26-Apr-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Because I like being able to instantiate the cfgprinter from external projects, this header file is born. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13176 91177308-0d34-0410-b5e6-96231b3b80d8
FGPrinter.h
|
e0baeec4fec4088b2da21645ec0e6fb8c1d9c631 |
26-Apr-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13174 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
2cdf0a7a32f08674562b0cf6b071b96b36421f87 |
23-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Remove the SCEV::expandCodeFor method, add a new SCEVVisitor class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13133 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
calarEvolutionExpressions.h
|
7d221c53e521edd36cc1d9f42fdb4d3201d5e014 |
22-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add an ugly cast git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13107 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
e1beb8f59d076536b0022496d663344a792a8cab |
22-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13105 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
78637fe9d6d44c03d4b7f76abaadc01f9dfab655 |
20-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Allow getting the module from a call graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13086 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
06ac2bef15f8a41f2e3439899b5aa1d95f4bd1f5 |
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminate a poorly conceived method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13065 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
072b163424491c85df6664a4e056aae5e07dc64d |
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
* Improve file header comment * Remove #include * Add some methods to update loop/loopinfo * Stop explicitly holding the loop depth in the Loop class. Instead, just dynamically calculate it. This makes it easier to update LoopInfo as a result of transformations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13059 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4e77cc46ac688e7bee98747049f90e19e2902227 |
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Provide an interface that is more convenient for iterating over the blocks in a loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13052 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
88d3ef2c744db0289223a4477669f24d542e6d97 |
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add new method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13049 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f1ab4b4eac5603d19c20f4a508f93a118a52bdd5 |
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Change the ExitBlocks list from being explicitly contained in the Loop structure to being dynamically computed on demand. This makes updating loop information MUCH easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13045 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9afb24bf0847b9f2ff0bf3f7f7405dcbe42fa38b |
18-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add a new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13035 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4e55b7d2c62de7efa0147e0579980de8b1df9123 |
18-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Allow clients to delete loops, add a new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13031 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e725cb0d5a8e017b66768eaf186718b36ffea193 |
15-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add some helpful methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12959 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4950e88e0fa7c44c0b54e2f64ddf57415ed83d40 |
15-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Publically export all of these classes from the ScalarEvolutions.cpp file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12957 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolutionExpressions.h
|
46758a894f5d9ca7adc8ec03dd6adeb36b7eadb3 |
12-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add some methods that are useful for updating loop information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12871 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
b81c021f14107b12d1275c84fbce170db06437a5 |
12-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Change the call graph class to have TWO external nodes, making call graph SCC passes much more useful. In particular, this should fix the incredibly stupid missed inlining opportunities that the inliner suffered from. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12860 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
414c36769aff6ec688c49f493122529394357d05 |
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Make comments above APIs reflect what they should do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12830 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
e40bb915bae2aecdd1578ea356d5e4c8ac31061c |
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
New method to allow more efficient clients git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12829 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
7015a035e7295b6b33d89ded2147fb340675dfc0 |
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Note to self: SAVE FILES! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12823 91177308-0d34-0410-b5e6-96231b3b80d8
alueNumbering.h
|
c39546cceb8526b332852bafd0689f6ee4867b11 |
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add an interface to update value numbering git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12822 91177308-0d34-0410-b5e6-96231b3b80d8
alueNumbering.h
|
94c420da4a10498c1955d837ed11e66ae3c21dca |
10-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Clarify interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12805 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
96878458002972a4b57c0d7deee379ed7717a545 |
02-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Remove obsolete files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12633 91177308-0d34-0410-b5e6-96231b3b80d8
nductionVariable.h
|
254bacd79a07632548de2f1c91d2768572764f66 |
02-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
cleanup some long-dead code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12628 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
53e677abadadf71ef33f2f69533a32c1fa3d168f |
02-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add a new analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12619 91177308-0d34-0410-b5e6-96231b3b80d8
calarEvolution.h
|
0e4271f8b2b31fcb66d607aaa766c37e0d10f49b |
02-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Make the verifier API more complete and useful git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12608 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
c87f0bb345642b7c278b42fa93fb3dc3c8849688 |
15-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Tweak argument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12412 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
5cb66e24d42b40d087989199297c369b3f3b2766 |
15-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Deinline a couple of methods. Improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12411 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
3e295b1b59e47916c8ae5d42eb27a23bd580cabe |
15-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Add two new methods which can be used to enable a bunch of transformations in common cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12407 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
dd298c8c6eb036baf35bf5a559c59d2afd2c7944 |
12-Mar-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Doxygenified and cleand up comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12294 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
SGraph.h
SNode.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
ependenceGraph.h
ominators.h
xpressions.h
indUnsafePointerTypes.h
PModRef.h
emoryDepAnalysis.h
gmDependenceGraph.h
|
69a69ff5fd4958610c60ab0a59f10f44c2440710 |
09-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12263 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
7d84dda56044b9731aea613a26ff98c8ceb3b5f9 |
08-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Switch over to using edge profile information as the basic profiling representation, from basic block counts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12241 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
0f54bc7630065eee51739596d77d91b751c6b71d |
08-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
We don't want to make this a pure interface, as it makes all implementors bear the burden of implementing what will be all exactly the same methods. They just want to provide the information in differing ways. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12239 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
3f25328fbff583894772e45bb088e995b371190f |
08-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Rearrange some methods, implement the dominates method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12237 91177308-0d34-0410-b5e6-96231b3b80d8
race.h
|
6ba8972919b79996e7b9d646ca005d81dbebd04a |
08-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Import the trace class from the reoptimizer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12236 91177308-0d34-0410-b5e6-96231b3b80d8
race.h
|
fd755f7c7ca7df21befc94698502ad07b4cf8280 |
08-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for representing edge counts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12228 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
66be3c8f72b7b8d8553a56d62ff78fbfc88fd5b4 |
03-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Rename method, add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12103 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
3d549b18a3ee6d74ceb90314cf9a87cee2457537 |
03-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
De-inline methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12101 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
23511597fe245d9fdc1b72cfe5b76453f74345a7 |
01-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12056 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
99df2579103c1a9f7f93cd8115d29f2294a9010d |
01-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Fix the "partial pool allocator" on em3d and others. The problem is that DSNodes, unlike other GraphTraits nodes, can have null outgoing edges, and df_iterator doesn't take this into consideration. As a workaround, the successor iterator now handles null nodes and 'indicates' that null has no successors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12025 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
|
201ff603a79a677ca5feb438dd3fbe4b42fded14 |
01-Mar-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Doxygenify comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12015 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
9c0b9bf2b5df5699c8c2b53dc5a32876f36043e2 |
21-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Update comments and add warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11691 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
bbdfe40ba747de4c642aaf9e91270482311a426f |
19-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Add a method useful for updating DSA git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
54a6662da36d2c45d33c2a20883d197720e28a8d |
11-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Add an important prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11320 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
bc44aa61c41277e85f1daec2740a7a12ed8e62b6 |
11-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Factor this code out of llvm-prof git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11314 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfoLoader.h
|
171de656eb68d10c90b88e864e708d13c99e642a |
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
An initial implementation of an LLVM ProfileInfo class which is designed to eventually allow Passes to use profiling information to direct them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11294 91177308-0d34-0410-b5e6-96231b3b80d8
rofileInfo.h
|
2b38c0d94bb54659c8748eca75b4ca64a0f01b78 |
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Remove some unneeded stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11286 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
4ff0b9636da3f753b143a3bc733ddcd39ebf8af2 |
08-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Substantially improve the DSA code by removing 'forwarding' nodes from DSGraphs while they are forwarding. When the last reference to the forwarding node is dropped, the forwarding node is autodeleted. This should simplify removeTriviallyDead nodes, and is only (efficiently) possible because we are using an ilist of dsnodes now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11175 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
|
28897e178400a93cfe6725f4166869c92efd228a |
08-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Switch the Nodes list from being an std::vector<DSNode*> to an ilist<DSNode> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11173 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
|
04364fb01e554b23f21e7f207ed947a3b9c94d86 |
08-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Change to use iterators instead of direct access git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11170 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
e187d565207682978185624e8fcd8f2c9f31d290 |
08-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Abstract out the Nodes collection. Instead of providing a getNodes() method, provide node_begin/end iterators, which are only guaranteed to be bidirectional, not random access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11165 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SGraphTraits.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
|
bee5ff3ae2625044b7b6361f1b5f19c793768f2a |
08-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Actually USE isForwarding method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11160 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
d1d2be3c168ff87977254798d1ef1fea0d7b3834 |
07-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
As Alkis pointed out to me, I forgot to commit this... :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11159 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
762e8e846f0ad50ffea56216c5ea20db1c95b756 |
30-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Add a new pointsToConstantMemory method to the AliasAnalysis interface which can be implemented to improve the quality of mod-ref information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11020 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
fbdf4bf1799bf9ea566fc0fc0507752590a6d559 |
30-Jan-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Doxygenify comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11014 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
14c67ccf02ab1de28c7e726493619881a41c4438 |
28-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Keep track of all of the globals inserted into the scalar map git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10995 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
18348fe20155cbfd461bfc3a2a9d4b29d6be3ec2 |
28-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Pull the ScalarMap out into something that is more structured than what we had before. This allows us to have a place to implement optimizations in a structured way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10994 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
660f1e90ec350509e2d78f9075aad421d9e78941 |
27-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Minor tweaks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10983 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
7a31285c3f6964a1dd1c66072f241d3bc77f6114 |
27-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Add comments, allow DSNode "copy ctor" to ignore outgoing links, add more structured access to the globals list, add a couple helper methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10982 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
5f549af582cd69bd214690e56e64d0057c92fc56 |
27-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
* cloneReachable* and clonePartiallyInto are not obsolete * Make AssertNodeInGraph not be HORRIBLY time consuming * Eliminate the dead mergeInGlobalsGraph method *** Add the definition for the new ReachabilityCloner class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10981 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
078c513e877280bde0da60d37f5cb83fd261c385 |
23-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Add new flag, other minor modifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10969 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
1db1c93b3037029b2b642a2a56d398d19cbd82f2 |
23-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Fix grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10968 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
2f561384fb29e2df6731262a1bc11e95303435c8 |
22-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Eliminated the CompletedNodes argument to the cloneReachable* methods. This map was only used to implement a marginal GlobalsGraph optimization, and it actually slows the analysis down (due to the overhead of keeping it), so just eliminate it entirely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10955 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
9a37f2d96a195e0b7f28605e8b642d04c9cc30ca |
22-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
It doesn't make sense for one side to be const, but not the other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10952 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
SSupport.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
9e9848d0374d7fb179ed588b5b59ad9af8ffe93a |
22-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Remove const qualifier (all Value*'s are nonconst in DSA, so it's not clear why this one was) Add new method proto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10950 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
c4282a33d1c8b2bcbf420657cae2e2b4a538662d |
22-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Specialize std::swap correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10949 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
db9b998f636d972b038483a284c67b2802a80d79 |
20-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Move SlotCalculator.h from include/llvm to include/llvm/Analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10930 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
a2b4f93a1b8d22dab6b193d6c73ebfab966ab866 |
20-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
add a method proto, make a method not inline git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10921 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
af894e963bb3b98605e161b662c66b2286eef140 |
18-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for representing the "compaction table" Change protected members to private. Nothing should subclass SlotCalculator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10912 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
7851e1b32803a9b0d373e74bb85145368779b177 |
15-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Improve comments, add support for remembering the constants strings that are to be emitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10866 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
8ce750145db529a3f5f09aeffba52194e879c7a3 |
14-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
The only clients of the slot calculator are now the asmwriter and bcwriter. Since this really only makes sense for these two, change hte instance variable to reflect whether we are writing a bytecode file or not. This makes it reasonable to add bcwriter specific stuff to it as necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10837 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
329c1c6c949d07e3fe9722ec633b4258217fd99d |
08-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Improve encapsulation in the Loop and LoopInfo classes by eliminating the getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10714 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
4e4bbc792cdccebcfb30ce2df8ee6f39b2818aca |
23-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Rename ClassifyExpression -> ClassifyExpr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10591 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
ad4705f055d098c5ae365139da574bab0f113fea |
22-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
fix grammao git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10576 91177308-0d34-0410-b5e6-96231b3b80d8
nductionVariable.h
|
2cffeec014537a5f4d2313a5c21c3aa6fcf33288 |
18-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Add a new AliassetTracker::remove method. Because we need to be able to remove a pointer from an AliasSet, maintain the pointer values on a doubly linked list instead of a singly linked list, to permit efficient removal from the middle of the list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10506 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
bb8f4769a2ee48b82c30de52083942781e920dd9 |
14-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Add capability to represent volatile AliasSet's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10456 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
8e32f5e46dd0fe45a8f7e47659b21e2f68926130 |
11-Dec-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
IncludeFile hack to pull in BasicValueNumbering whenever ValueNumbering.h is included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10397 91177308-0d34-0410-b5e6-96231b3b80d8
alueNumbering.h
|
fc188b95b81332c12043173c7f517341c6ad27a9 |
11-Dec-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
IncludeFile hack to pull in BasicAliasAnalysis whenever AliasAnalysis.h is included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10396 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
eae45cf44bd1b9ddbb69865f1d46689e57e03417 |
07-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
The recalclulate method was a nasty hack that was once used by the -cee pass, which never worked itself. The cee pass still doesn't work, but it doesn't use this method anymore anyway, so eliminate the method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10302 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
31b935357d1396d3be32fdf24dcb0319a6908c6f |
07-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Rewrite dominators implementation. Now domset is constructed from immdom, instead of the other way around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10300 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
677d027ace1d1b2501a109d8899d30beb9030dd5 |
07-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Move this method out of the generic dominators calculation code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10298 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
f17072b79c9430e1294e1a710f5c0b18112003a3 |
29-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
be GCC 3.4 clean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10264 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
21fc51daa53ae31ab5590797c383ca1322e8797c |
13-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Add methods for implementation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9963 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
7d26815d8d37810f5b5d25026bb888ffe5e0e882 |
13-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Add an initial version of the CompleteBUDataStructures pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9955 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
f58aefcb2063000cc865d24a9f6be387b1d9b7a1 |
12-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Add argument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9921 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
d0fde30ce850b78371fd1386338350591f9ff494 |
11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
allGraph.h
onstantsScanner.h
SGraph.h
SGraphTraits.h
SNode.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
ependenceGraph.h
ominators.h
xpressions.h
indUnsafePointerTypes.h
indUsedTypes.h
PModRef.h
nductionVariable.h
nstForest.h
nterval.h
ntervalIterator.h
ntervalPartition.h
oadValueNumbering.h
oopInfo.h
emoryDepAnalysis.h
gmDependenceGraph.h
ostDominators.h
lotCalculator.h
alueNumbering.h
erifier.h
|
3b120be94fec6464290cb3a92e66c6b706a27cbb |
11-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9879 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
15869aa2c717c356f62c04d85b73450aaabfee16 |
02-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
All DSGraphs keep a reference to the targetdata they are created with. This is used to eliminate the hard coded, hacked in, sparc specific, global TargetData. Changing the TargetData used to actually match the code fixes problems, and eliminates a crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9659 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
|
ba12c23ca7684c94dd538577827dce8b3c1cf451 |
02-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Including the symbol table in the FindUsedTypes analysis was the WRONG way to fix test/Regression/CBackend/2003-10-23-UnusedType.ll. This completely neutered the deadtypeelim pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9646 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
14fffaf6c1c6e62897dd8cd0ec90ab196faec764 |
30-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
When someone includes CallGraph.h, make sure that they link in CallGraph.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9611 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
a3a1c2de9de8d02a53fbbe7d260aef630ec97dd0 |
29-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9570 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
4a2c0e92595906b3f9c5002678f3dc806f774207 |
23-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug in eon hopefully git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9442 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be |
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM copyright header (for lack of a better term). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
liasSetTracker.h
allGraph.h
onstantsScanner.h
SGraph.h
SGraphTraits.h
SNode.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
ependenceGraph.h
ominators.h
xpressions.h
indUnsafePointerTypes.h
indUsedTypes.h
PModRef.h
nductionVariable.h
nstForest.h
nterval.h
ntervalIterator.h
ntervalPartition.h
oadValueNumbering.h
oopInfo.h
emoryDepAnalysis.h
gmDependenceGraph.h
ostDominators.h
lotCalculator.h
alueNumbering.h
erifier.h
|
60596382aa6d2f54949684a07f5ab0ab881896d7 |
17-Oct-2003 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Eliminate some extraneous code in SlotCalculator::insertVal(). Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(), SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(), SlotCalculator::insertVal() to SlotCalculator::insertValue(), and SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9190 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
33922eb64811ac758b5ebd2bc79150298f57ba7b |
15-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Remove usage of use_size() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9134 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
d5d96b9fcd779806555cf5db602f80d5a308a471 |
10-Oct-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix spelling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9021 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
22bca4dfb05b1b8079f08deac5b3cf1a6bc2568b |
02-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Use graph traits to perform generic interval construction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8809 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
96f7b1bf32645065c3222bf62973bb28d2b8eca0 |
02-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Add graph traits specializations for intervals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8808 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
48486893f46d2e12e926682a3ecb908716bc66c4 |
30-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Standardize header file comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
onstantsScanner.h
xpressions.h
indUnsafePointerTypes.h
indUsedTypes.h
nstForest.h
nterval.h
ntervalIterator.h
ntervalPartition.h
oopInfo.h
ostDominators.h
lotCalculator.h
erifier.h
|
628bf091e6e1ceff40ee8847a8b044369318e243 |
21-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Add prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8640 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
808a7aeec77e79ad236614a578b1bb758ce796ab |
20-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Switch from using CallInst's to represent call sites to using the LLVM CallSite class. Now we can represent function calls by invoke instructions too! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8629 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
PModRef.h
|
51757155fabbf4e5463f064fb0e2913c64bd9844 |
20-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Unsquishify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8612 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
c72b249e9cb2f6c89fe3008bb8d1f49468bf5657 |
15-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Do not segfault when the post-dominator tree is empty (ie, there are no return or unwind instructions in the function) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8537 91177308-0d34-0410-b5e6-96231b3b80d8
ostDominators.h
|
317a61b2db56f5be5fc7acbe2c81ebac5f15aca7 |
11-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Get rid of the whole "Node2" business, rename getNode() ->getBlock() to be more descriptive git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8468 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
420a8bf2b2276acdb4d7004ae251a2460999c0e4 |
10-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Rework dominator and post dominator information so that we do not have to unify all exit nodes of a function to compute post-dominance information. This does not work with functions that have both unwind and return nodes, because we cannot unify these blocks. The new implementation is better anyway. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8459 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
053134a1ee57289fd6397713a6898f6dd141ba29 |
10-Sep-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Make createVerifierPass return a FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8449 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
69ecd0d7e75e839c7f1e816d30f855d5fd6fbdea |
10-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Spelling fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8429 91177308-0d34-0410-b5e6-96231b3b80d8
nductionVariable.h
|
fe8d8806f7cb3ddba1f4f77c53f728abd22eadc7 |
31-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Remove explicit passing of SCC's around as objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8267 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDepAnalysis.h
|
0c6a271d9163319b6699b2210b2da74175df4205 |
31-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
This should use Support/iterator, not <iterator> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8266 91177308-0d34-0410-b5e6-96231b3b80d8
gmDependenceGraph.h
|
1da3398600971e89bf7465ad7e5e90cc71f5f4d0 |
31-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Cleanups, move the getAnalysisUsage method to the .cpp file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8265 91177308-0d34-0410-b5e6-96231b3b80d8
emoryDepAnalysis.h
|
5636eec5fbd754e3b5595e7e8a1f9cb428b788dc |
31-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
s/Meth/F git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8244 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
fd4d8975cf0e7c288b4985b1751113154c7defcc |
19-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Add new methods, update comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7962 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
5560c9d49ccae132cabf1155f18aa0480dce3eda |
18-Aug-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Spell `necessary' correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
ominators.h
ntervalIterator.h
|
7dd46b09c0f1b6b93f03a80953046d38697fba82 |
16-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7915 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
8366b38ff755e410060f9ab331910077e7994b0d |
05-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Add a comment to the method decl git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7609 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
9f2ac19f8e6f8304b80bf5cc130361672ee70d53 |
05-Aug-2003 |
Sumant Kowshik <kowshik@uiuc.edu> |
Added declaration of mergeInGlobalsGraph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7607 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
869ff9e7be4e860196e0acc189d3476e8c1127a9 |
27-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Remove #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7339 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
|
be67780f31958b05ad3c510ca3a973d327517e86 |
25-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
#include <cassert> as necessary... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7315 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceGraph.h
|
d957518b51ec853a115f277f8c080e6d55b4fd7c |
25-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Use the C++ <cassert> header, not the C <assert.h> header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7310 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
949a3628024248db01d5b13e03c415e0c88e90e4 |
23-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Remove redundant const qualifiers from cast<> expressions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
a53e3da92c6dea476c58f99da6d3c5f75be38adc |
16-Jul-2003 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes to clone the subgraph reachable from a set of root nodes, into the current graph, merging the global nodes into those in the current graph. (2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the globals graph into the current graph in both BU and TD passes. (3) Added hash_set<const GlobalValue*> InlinedGlobals: a set of globals to track which globals have been inlined into the current graph from callers or callees. In the TD pass, such globals are up-to-date and do not need to be rematerialized from the GlobalsGraph. (4) Added StripIncompleteBit/KeepIncompleteBit to remove incomplete bit when cloning nodes into the globals graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7190 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
3915da3e0fce7cb8846e78360e0f7151544ae8f2 |
03-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
INCLUDE_PARENT_GRAPH is required git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7089 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
a523e22a2060d53c963904084bbafd3707ba0ab5 |
03-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Remove dead method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7083 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
8fd27150987877508f6be1d6823095354e509ed5 |
02-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Add new methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7057 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
73440f6a15d9268c118bec7e5201aaa2f2efb929 |
02-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Disable the parent graph code when not compiled in DEBUG mode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7056 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
c019f9bba5dd64f264b60be452a6b317c90055bf |
01-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
TD pass keeps track of which functions have complete arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7048 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
b512b24442edc886e554fde2a2e0ad13cd53f0c0 |
01-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Add new operator= impl git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7047 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
e2fe664e8fc1d9968df4b47396a0f4d19d53fd1e |
01-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Ok, I'm a moron. Fixed now git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7035 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
985d31215c2c3e5b2e8f7d9755158670f2c38cd4 |
01-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Fix major problem that was causing all kinds of nasty foldings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7034 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
17d5d863b2a84b63beb3f49d11300cbaf0cb6821 |
01-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Add new methods to BUDS for keeping track of a precise call graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7028 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
7a73b80b9052136c8cd2234eb3433a07df7cf38e |
30-Jun-2003 |
John Criswell <criswell@uiuc.edu> |
Merged in autoconf branch. This provides configuration via the autoconf system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceGraph.h
ominators.h
|
a9d6566e369b2a3e8018dd0f3eeda84fcd56507e |
30-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
332f0aa425c3ac240e02c455beaae2ee5ae58d5c |
30-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Be more const correct git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7004 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
fa45c7a93814cc197a7dad932736b899b3937de8 |
30-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Constness changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7002 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
17fefa3ac35c47aa164df0346c81539d1341d1bc |
30-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Substantial revamp: DSGraphs now may contain the graphs for multiple functions in the same graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6991 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
0baec255a7b23c05f23297855f324e344eca1d97 |
30-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Remove prototype for dead method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6989 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
62b5c167de0ca5883a7ad5eb0900eb0c15ad3707 |
29-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for gathering sets of must aliases git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6971 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
35de11f3b1b8847fa3e3e3c8eef21cfe816ad740 |
28-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Add new DSGraph::ScalarMapTy typedef to avoid pulling representation issues into callers of getScalarMap git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6944 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
2769e6ca92332224eef7dcae8bd4d8fe804578ec |
28-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Add new 'isComplete' method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6943 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
3889a2cb05c36f30050941679d5fd55d45e6a3ed |
22-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Remove a ton of extraneous #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
onstantsScanner.h
SGraph.h
SGraphTraits.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
ependenceGraph.h
ominators.h
PModRef.h
nstForest.h
ntervalIterator.h
emoryDepAnalysis.h
gmDependenceGraph.h
|
18345bb93f0c9906dcf1d9ac45b8ee6e693c7bc5 |
22-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Whoops, accidentally lost a #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6841 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
5bb8776eced883293b3d2e11e52ad250a3a91015 |
22-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Remove support for the MultiObject flag, which was just fundamentally broken git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6839 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
160cf4867183ed780aa94d8875b0ec115d468809 |
19-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Lots of changes to make the NodeType field private to DSNode. Add new MultiObject flag git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6793 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SGraphTraits.h
SNode.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
|
be583b914d8156b99d3da264d5adca37fee8dbc9 |
11-Jun-2003 |
John Criswell <criswell@uiuc.edu> |
Included assert.h so that the code compiles under newer versions of GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
allGraph.h
onstantsScanner.h
SGraph.h
SGraphTraits.h
SNode.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
ependenceGraph.h
ominators.h
PModRef.h
nstForest.h
ntervalIterator.h
emoryDepAnalysis.h
gmDependenceGraph.h
|
5b595b9421826b193d116f70df2f626ce6de6657 |
03-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Minor cleanups: * LLVM #include should use "", not <> * Fix line wrapping * Remove noncopyable base class to improve doxygen output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6577 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceGraph.h
|
e33b7968514580c8b7f0c6529ddeeb7537ecfb9b |
20-Mar-2003 |
Chris Lattner <sabre@nondot.org> |
Add more graph traits specializations for dominator tree nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5751 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
b75f9dda9e436b346c684c3694fbef6b14a00795 |
04-Mar-2003 |
Chris Lattner <sabre@nondot.org> |
Add a few new 'add' methods. Move the iterator around git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5690 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
af68ccefebc81752706fc9d2e0177c98f098463a |
03-Mar-2003 |
Chris Lattner <sabre@nondot.org> |
Don't apply type information to loads git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5683 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
f972cbd98c87a2b288943425c1bc92022a8de5c5 |
28-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add dump method for loops git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
1db0a400370466e187ae06c96a1586c2c21409dd |
28-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add graph traits specializations for loop nesting information... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
6bc428133645e0a4308c1420c1693685e5f0a6f8 |
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add new Loop::hasExitBlock helper method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
f2e2925f95a271505f3ba103bac71b3b6d066c57 |
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Change behavior of changeExitBlock function to replace all instances of exit block git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
ef05100950dfc6e4c9dfd806695db9f1922a0618 |
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Make the interface to update a little more efficient git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
fe3ae1ed660925f06159ec89460d92148e049ffd |
27-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
* LoopInfo now keeps track of exit blocks from the loop * New LoopInfo::isLoopHeader method * Remove some #if 0 code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
31a9d185bfa253af2f0fece59d8b1227dad64b15 |
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Make the aliassettracker much more precise by actually tracking size information for various accesses. What a concept. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
f8783fadb470c277db72684362c65dd34ae72c65 |
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
BasicAA doesn't need a public header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5639 91177308-0d34-0410-b5e6-96231b3b80d8
asicAliasAnalysis.h
|
13b6f22f0473917e11ed650282b9b118edb12b90 |
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Tweak to work with new AA implementation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
asicAliasAnalysis.h
|
1c56b730a6313886076d7b293a126ae5576f5288 |
26-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Checkin of new alias analysis interface: * Takes into account the size of the memory reference to determine aliasing. * Expose mod/ref information in a more consistent way git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5631 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
9971ac4a36c54488bcdf55d7e493ac0cd6dc168a |
24-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
This is a substantial rewrite of the AliasSetTracker class which now uses a union-find based algorithm, is significantly faster, and is more general. It will also scale to handle call instructions correctly, which is a nice added bonus. This includes a new pass -print-alias-sets which can be used to show how alias sets are formed for a particular analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5619 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
731b2d7df57d4ca97e15b1136594f23055c083f7 |
13-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Move node forwarding code from being inlined to being out-of-line. This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
SSupport.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
72d29a4b0018e6f50b73c6f0f2e9a0d4d6741180 |
12-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Implement a "union-findy" version of DS-Analysis, which eliminates the Referrers list on DSNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5536 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
SNode.h
SSupport.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
d3c2e3237c00102f435cd7ebf44f80b0747435d3 |
11-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Fix uninitialized member problem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5534 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
1fcc101b1c0eb5241043c5808a022852911d6fd9 |
10-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Bugfix for calling dump() after the links vector has been cleared git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5533 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
|
ed14f8283a1cf3178f656c67dec6c9323c0c756c |
10-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Move getNode() out of line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5531 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
SSupport.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
c40c905d63635ce69742503619bc21dcd9fc6d9a |
10-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Implement a new method "viewGraph" which can be used to instantly view a graph from GDB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5529 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
d4aabcb0d0544c8fbe7ed712a7a6039d3150e4a5 |
09-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
TD Pass now does not cause globals to mark nodes incomplete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5512 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
923fc05b3a95efad270b283f97b2670152a41efb |
05-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Implement optimization for direct function call case. This dramatically reduces the number of function nodes created and speeds up analysis by about 10% overall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5495 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SSupport.h
ataStructure/DSGraph.h
ataStructure/DSSupport.h
|
f52ade928c256e6336356b55b7d07c0f56d6a96a |
04-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add sanity check git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5489 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
4923d1be916826cd90bf092d9aafdb6df80e97b2 |
03-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Hack to work around deficiency in pass infrastructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5485 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
5a939029d5cf285f2b8714a3cc9e608437fe3ead |
03-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Eliminate unused resolving caller stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5475 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
f9962812d01ddf78d1f2b9d51e81d56184b04951 |
03-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
* Add a bunch of stuff for checking the integrity of the graph * remove the isNodeDead method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5474 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
41c04f730b4fdce98b35603d1b02a1dc6b81e589 |
01-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Change DSGraph stuff to use hash_(set|map) instead of std::(set|map) This change provides a small (3%) but consistent speedup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5460 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
SSupport.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
ataStructure/DataStructure.h
PModRef.h
|
cb98327142f46a59246caa32f5b2f4dad3b48af0 |
01-Feb-2003 |
Chris Lattner <sabre@nondot.org> |
Add new composition mask git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5454 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
9e4b15b1a19b0903a14429f841b7b6a160dae44d |
29-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
New API for traversing graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5430 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
SSupport.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
381977d191de72144cdbb164666754ca8ed60b49 |
23-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
* Eliminate boolean arguments in favor of using enums git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
9f2b7ffe05d404437cf950db8fa762a0217e825b |
15-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
Move to include/llvm/CodeGen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5285 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
8143d8f91a7768007e80841ac3c29f938e470900 |
14-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5282 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/ValueSet.h
|
c2799163e2d8bb6a1d2c93ab4f0911da75b87ad4 |
12-Dec-2002 |
Chris Lattner <sabre@nondot.org> |
Make a release build compile. This field is not really an enum, it's really a bitfield git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4971 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceGraph.h
|
95c3d0e0fa96666bec254d3dbc8bf6d8cd3c6834 |
12-Dec-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
No need to specify the class if the method is within the class declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4969 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
0d4f76637dd9be55c54b49c75f0ff6065119a7dd |
08-Dec-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Iterator that enumerates the ProgramDependenceGraph (PDG) for a function, i.e., enumerates all data and control dependences for the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4958 91177308-0d34-0410-b5e6-96231b3b80d8
gmDependenceGraph.h
|
96b21c1054832f6e11a1a91e4df95d65016c9039 |
08-Dec-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
An explicit representation of dependence graphs, and a pass that computes a dependence graph for data dependences on memory locations using interprocedural Mod/Ref information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4957 91177308-0d34-0410-b5e6-96231b3b80d8
ependenceGraph.h
emoryDepAnalysis.h
|
44974dcdeb0880f9458f987c0de5c8a99e0705ba |
06-Dec-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Stronger assertion in getNodeId(): node id must exist in the map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4949 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
10afe022c5d2b421f1ca4a8f879e1f3fb9bd4a0c |
06-Dec-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added static helper method MergeNodes(). See DataStructure.cpp for more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4946 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
196cee2dba10970c8021668cae99e0e423b12e37 |
06-Dec-2002 |
Chris Lattner <sabre@nondot.org> |
Make sure to print indirect node again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4943 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
e127a14991b5eefd021dd785697afb7f3f09e955 |
27-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added flags to CloneFlags to strip/keep Mod/Ref bits when cloning a graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4835 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
f443e6698f23001b35d1f905eb7b84a4076e3d20 |
27-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
No longer need local graph to find call sites. Also some major fixes within IPModRef.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4834 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
a1cf699b50fdef143f7d237de233099482a8ef28 |
18-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Inline DSTypeRec stuff into DSNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4751 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
686a6f5c13ff38528ba6c9efb595043f1bef56fb |
18-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Inline DSTypeRec into DSNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4750 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
c59a1ba33b68be1bf9bea525cc977c17d805372d |
18-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Templatize graph traits and iterator to work with const and non-const clients git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4746 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
|
e9c04aedcad5916e5fad3d5fcd2fb47fcb530712 |
18-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Omit the indirect node when printing call graphs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4733 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
21f3663c06748ce033792c4898845b4ba6b8abe3 |
12-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Remove dead method, add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4700 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
cf69bb494af86c2dd12ca3899e45c3fda8f15a20 |
11-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Almost complete rewrite of BU closure code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4693 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
947b10c1676212d26417e8b15a3827ea07d9c5fd |
11-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
add method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4686 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
b0dfcbf584bb6acf6e8adb087c42fbd28ec90b12 |
11-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add code to be able to merge two call sites git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4685 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
8013f9eb659b1d9379308dcf93653c4ae473b428 |
10-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add hasGraph() methods to all of the passes for the printer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4676 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
5c533ae837a2101e620a4e2f06acaa35f16e5fa7 |
10-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Implement swapping git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4674 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
a3590f2496c5d57b0150d43a0d4bd00b5eb344ed |
10-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Implement support for swapping. Callsites now sort by callee git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4673 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
431412735b32c7015ddad6ecdf71756b3129578f |
10-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add capability to set a preference of what call vector is printed to dot files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4672 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
f40f0a39bdd3846725576caf0d5a3fe261deecad |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
eliminate the ability to remove global nodes from deadNodeElminate... for now. This slows stuff down a bit, but it should get much better before it gets any worse. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4666 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
aa0b468f6d0e4d30d4f31d528d499e4c9a67c4f2 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add globals graphs to all three passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4663 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
dc26d45c710fda254b235852dc830f4b2e4bcb03 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Move maskNodeTypes from cpp file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4662 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
65f2897f2c6f25de147fdcf9dcf4b5f9650b32ce |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Clean up DSGraph::removeDeadNodes interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4660 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
3ce235a161b8738ea3bf781c2306cf6540a59269 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Make removeTriviallyDeadNodes a private interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4658 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
2e4f9bf86e5d3b86c4a24a58138c630c861d9def |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add initial support for a globals graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4656 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DataStructure.h
|
b07869b3866735aa5c3d5049ecdd81187ca6b970 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Remove unneccesary #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4653 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
24b3a880dfeeb019f5dd7ebbed66454e2e77a511 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Remove GlobalDSGraph delcaration git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4652 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
1fa48e9d32cad99426478e9cdb821f56f65d3632 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Fix release build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4647 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
2c8b1f6fc68d814526a1d3ba52e1fdb681feae53 |
09-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add new methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4646 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
02fd6870c1e375bc1f1a51f1aad8f04c1dc27a2c |
08-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add another option to cloneGraph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4641 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
fb39933b75218d1763f1c4d84726aa8bd0dab6db |
08-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
- Add support for an "auxillary" call site list - Original call sites are now never modified after construction by the local pass. - DSGraph::cloneInto can now optionally not clone the call sites - BUDataStructures no longer has a ton of book-keeping info for a broken implementation of the TD data structures git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4631 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DataStructure.h
|
b16fb0db91f620618f00265d95a1cc255bfa234a |
08-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Use DSNodeHandle for persistent maps git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4623 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
|
df2f35ee2b22ab964995a28a38665e70b3f4a443 |
08-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add flag that may be used to determine if dead nodes are used. It's temporary git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4620 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
2e4f37ac4294389d5b82a7e84792074c39574a0f |
08-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Restore a #include because this header file needs the definitions of DSCallSite::~DSCallSite and DSNodeHandle::~DSNodeHandle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4616 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
0ed8e2a862842c3f829b1bf6eb57102a870c56f4 |
07-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add interfaces for ResolveCallSiteModRefInfo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4601 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
460ea29b456185e169a5ef036d22e25dd0afa58e |
07-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Instead of using a bool that constant has to be explained, use a self explanitory enum instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4600 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
cee3a4ef107f4c7d7ea0d8d44d02bd2d96eef7a7 |
07-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add new method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4598 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
04781177b9893a206f9adee30a9d1f871b26fe19 |
07-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Expose isPointerType to clients of dsanalysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4597 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
17e43de579fc56df2c01fc3b7646b139a74397cb |
07-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add a comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4586 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
4476ceb414afc6aebdcd1e055478175d95b62cb9 |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Allow the ResolveCallSiteModRefInfo method to return a mapping of nodes, implement the mod/ref bit masking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4578 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
268748a0d8a86463a0d222d5e2c0de0bc55ee2b8 |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add a stub to implement the context sensitive mod/ref info for call sites git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4577 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
2110808fd813bd04b910f4379e5524cb39504bf2 |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Give a back pointer to the IPModRef object to the FunctionModRefInfo object git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4576 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
76351e9bab3ee20f67cfdadcf87a00cab5d4c58d |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Remove a couple of #includes, move some code to .cpp file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4574 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
ce4a2e1132b1d8456856ca82259f3fa413fecb8d |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Make PointerShift/Size be enums so they are constants instead of globals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4571 91177308-0d34-0410-b5e6-96231b3b80d8
SSupport.h
ataStructure/DSSupport.h
|
75310d59c979f2c281427fcc59709bb375a7379f |
06-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Make query operations non-const to allow demand-driven analyses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4569 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
asicAliasAnalysis.h
|
895c0bd3fb76938d060cc7596b341d2b9193c21b |
06-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
An interprocedural analysis pass that computes flow-insensitive IP Mod and Ref information for every function and every call site. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4567 91177308-0d34-0410-b5e6-96231b3b80d8
PModRef.h
|
db7ab14434a7b15911c850ebdf740b0d8ebbb9e4 |
06-Nov-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add const version of function getNodeForValue: const DSNodeHandle &getNodeForValue(Value *V) const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4566 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
08db719c4b1134746da5d03b22f0da4050c91f99 |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Dramatically simplify internal DSNode representation, get implementation *FULLY OPERATIONAL* and safe. We are now capable of completely analyzing at LEAST the Olden benchmarks + 181.mcf git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4562 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
SNode.h
SSupport.h
ataStructure/DSGraphTraits.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
4268c93b0082509f96dea6e3934c6306ab7da2ee |
06-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Remove stripscalars argument to cloneInto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4561 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
55d77d9a3fb80164b2b251654a3984deb5d4f7a0 |
05-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Add a bunch of assertions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4549 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
7e5f46a441ced022d40dca5a2ecb076499e09078 |
04-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Implement methods needed to print out call graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4522 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
16500158223d4147ae97513bf698d5f321b15889 |
04-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Allow the call graph to be called from analyze naturally with print implemented git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4517 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
c875f023d41f60efc79647e9c2dd44ab0c8c03ca |
03-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Rename ValueMap to ScalarMap git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4516 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
d18f342af8c716a88917ef2694f798d67109801d |
03-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Rename NewNode flag to HeapNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4515 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
0d05e6d942e75a1187e8538adf3a05c09976cabf |
02-Nov-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Fixed comment on top of DSNode.h, added note to DSSupport.h as to why functions were split out from DSNode class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4509 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
SSupport.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
5af344d79d33fc5844a27e54a256b566d7017d36 |
02-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Implement the "unknown flag" which mainly consists of aligning printing code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4490 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
332043264ee52b171b9164ae9c454b9ebe9e9f04 |
02-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
* Eliminate Scalar node type (renumber other node types) * Allow DSNodeHandle::mergeWith to work if a node handle isn't pointing to a node yet git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4487 91177308-0d34-0410-b5e6-96231b3b80d8
SNode.h
ataStructure/DSNode.h
|
e3aa8aa08f77e9747439b856db1cde004019a422 |
31-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Eliminate some unneccesary #includes and forward decls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4475 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
|
caf18622c589677753567e9af1a8b8a321fec626 |
31-Oct-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Refactored DSGraph.h: * DSGraph.h contains DSGraph * DSNode.h contains DSNode (soon UDSNode and MDSNode) * DSSupport.h contains DSCallsite, DSTypeRec, and DSNodeHandler git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4466 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SNode.h
SSupport.h
ataStructure/DSGraph.h
ataStructure/DSNode.h
ataStructure/DSSupport.h
|
8f0a16eac6e406d041af54471497453f50f52a64 |
31-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
This fixes all kinds of problems with array handling. There are still bugs to be fixed, but we are getting much closer now. * Make DSNode::TypeRec a full fledged DSTypeRec type. * Add methods used to update and access the typerecords elements * Add methods to query if and to cause a node to be completely folded * DSGraph construction doesn't use the allocation type for anything at all, now nodes get their type information based on how they are used. * Fixed a bug with global value handling introduced in the last checkin * GEP support is now much better, arrays are handled correctly. The array flag is now updated in type records. There are still cases that are not handled yet (we do not detect pessimizations), but getting much closer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4465 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
a24e09df76d327e9fdefa8e6801fedc2b6ad91d3 |
31-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add interface to update domfrontier info, thanks to Casey Carter for impl git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4456 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
81619b121c9a3ff32487343503ad80f2ffe48fc3 |
29-Oct-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Fixed spelling of `propagation'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4422 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
ntervalPartition.h
|
4a63b72df95b5c0d4af064cef19377f811ba6060 |
28-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Don't #include <Support/*>, #include "Support/*" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4325 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
|
9550dc2df2aad33e92febc0e3a15aca372639a10 |
27-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4291 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
3ec9a0a5cff423cab774cdbf28f0e68b6ca1ea17 |
22-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
We need to know the call sites each function hosts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4258 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
0e6949fe1c33eb332d416f19410ddecb5c84af58 |
22-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Allow modification of callee git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4257 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
e4ae3041f9c3528033ca1a02056d2d2cb581409d |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Delete unused arguments to DSGraph::cloneInto method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4253 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
198be22cec33455127f151a23a7b68e41de49db9 |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
- Add "ResolvingCaller" to the CallSite record. This keeps track of which function was finally able to resolve the function call. Adding this allows the TD pass to actually work right! - Temporarily disable dead node pruning. This will be reenabled soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4252 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure.h
ataStructure/DSGraph.h
ataStructure/DataStructure.h
|
eff0da9d33b0067044638b9e53edf462a96e6eab |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add another copy ctor form git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4251 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
99a22847ba3bb8e868fd13cc1d0ca30fff956e57 |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
As it turns out, we don't need a fully generic mapping copy ctor, we just need something that maps through a std::map. Since this simplified the client and implementation code, do so now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4250 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
2bf30fd65a7ad06a7da3fb1794ae48f2ecacfc71 |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Make sure to initialize isArray member git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4247 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
b0a37b70e8f26d6f1cdef811305f6cb85feed917 |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Two callsites are equivalent even if they are from two completely different call instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4241 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
0969c50cb812efb9dba9577a58cad19c56c21642 |
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
- Make DSCallSite not inherit from std::vector. Renamed methods slightly. Make copy ctor have two versions to avoid dealing with conditional template argument. DSCallSite ctor now takes all arguments instead of taking one and being populated later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4240 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
26b98265b7edb493e220822e7967c0eb15d52fa6 |
20-Oct-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Remove spurious caller pointer in DSCallSite. Also add functions to access pointer argument nodes cleanly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4235 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
d9faa3433952fa436e011823174dc8502ee04e05 |
20-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add isArray flag git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4230 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
3c579faecef377e0047522ca1692318ea7bf03f2 |
20-Oct-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added a first-class representation for each call site that can be used in the DS graphs in DSGraph.h. With that, the special-purpose class BUDataStructure::CallSite is no longer needed here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4229 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
726bafda652754096ee4d3c8ceb07aa8d105f8b9 |
20-Oct-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added a first-class representation for each call site that can be used in the DS graphs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4227 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
a3f8586d9dcc8e75358cc7bef2eedbd560904bc9 |
18-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Convert typerec to be a structure instead of a pair git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4226 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
b65dfff1416f41ce8b73fbbeee9a6f3c5c1a858b |
17-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Add interface for mod/ref info to be captures by dsgraphs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4222 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
8d00c8210edb95938573d261e773da9c5a9646e3 |
17-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
* Add data structures to BU pass to keep track of call sites for functions * Reenable the TD analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4212 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
a2c5c2b23ad9c0414694c07d368c40a5e483f092 |
17-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
* Remove a lot of obsolete #if 0'd code * Add a simple getNodeForValue method to access the ValueMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4211 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
375b8e5128de246ca8720a82747a23b83604ebd5 |
17-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Use the forward declaration for GraphTraits instead of #including the header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4210 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
8ebb1c4023f0add12ecaa8f3c5659b7e041d0ab2 |
17-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Be const correct. Handle both DSGraph* and const DSGraph*'s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4208 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
SGraphTraits.h
ataStructure/DSGraph.h
ataStructure/DSGraphTraits.h
|
61315bc3676f7d01f4fa82c716327457f565f831 |
17-Oct-2002 |
Joel Stanley <jstanley@cs.uiuc.edu> |
Added partial specialization of GraphTraits for the DominatorTree class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4205 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
ff5feedf283b5321a0a16b2ee02b58af41018222 |
16-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
The second element of the iterator is really an offset, not a link git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4196 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
|
d6d8f41699156686869ee3a0c04b4ba4c3081072 |
16-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Allow direct access to mergemap for printing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4191 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
2576aef32bf3653f053439cdfbd6e9d8e7220fc7 |
13-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
First crack at reimplementing graph traits for DSGraphs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4145 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
|
a27229013f893513a533d3f3075c4f1edecd50a5 |
11-Oct-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Added capability to get execution count of a loop if it is a predictable number of iterations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4113 91177308-0d34-0410-b5e6-96231b3b80d8
nductionVariable.h
|
6b290a54409f6bb6a0cc1c0446cd2b170a4b7add |
11-Oct-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Added helper functions in LoopInfo: isLoopExit and numBackEdges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4112 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
ab363148fb3abd978d7939d58e322e1777aea6c3 |
11-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Change reference git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4110 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
c582c66f630ddfcb2697291f22a857821334db9d |
10-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Rename DataStructureGraph.h to DSGraphTraits.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4107 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
ataStructureGraph.h
|
7ca266fe1f211afaec0bdb3b8d8e8a98d2c78fbc |
08-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Expose new "recalculate" method from dominatorset git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
0d0244d06abc64b53ce09703673b853510af26fe |
03-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Remove commented out stuff DataStructure.h doesn't include DSGraph.h now git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4028 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
60a398ed0f9ba5e10514d2bcda916e0935b2ae72 |
02-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Move GlobalDSGraph class defn to the end of the file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4027 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
e5346ec9ed3142d1cd4b8535d12b5863a84b7ac3 |
02-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
This file doesn't need Pass.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4026 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
27236ac089e51c28e5f36a90d44f286c5efbc921 |
02-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
* Implement fully general merging of array subscripts on demand! This does not handle the initial pointer index case yet though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4011 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
8b719877b1b49eb08649d63a0f05f2af3119eb65 |
02-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Checkin the "meat" of the Data structure graph itself. I forgot to check this in before. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4009 91177308-0d34-0410-b5e6-96231b3b80d8
SGraph.h
ataStructure/DSGraph.h
|
11aec6cc7d2f1705d410df6ee25555f2d7101f30 |
02-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Check in DataStructure rewrite so far. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3998 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure.h
ataStructure/DSGraphTraits.h
ataStructure/DataStructure.h
ataStructureGraph.h
|
934487a9cc05c8c1696b09073a9ff6ecee8ef905 |
29-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Simplify code a bit, add an assertion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3974 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
009cc3d2e85674f01f70d915e0c802d89d0b672f |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
First try at implementing the AliasSetTracker class. I'm sure it will need revision as I start to use it though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3954 91177308-0d34-0410-b5e6-96231b3b80d8
liasSetTracker.h
|
de39b71455143f80602a27481c4de82a5cf25db0 |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
- Fix bug in LoopInfo causing ParentLoop to be garbage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3940 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
3a294d6085c69ad7ac1572a2c976624efe66a082 |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
- Add methods to ImmediateDominators & DominatorTree to allow updates - Make DominatorTree::Node not inherit from std::vector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3938 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
b51bf39b93d9aa48f78dcb49b741e1f5c174084c |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Add a new "DominatorSet::addDominator" method to allow updates git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3937 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
2b7bb7a986545b5ec877416278dc126a35ab6970 |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
- Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop. These allow extra information to be easily gathered, and loopinfo to be updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3935 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
9be827a87588050d7b2ab9b15a0ab418f3989cdd |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
ImmutablePass's don't need a runOnFunction, nor do they need to explicitly say that they preserve all xforms git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3925 91177308-0d34-0410-b5e6-96231b3b80d8
asicAliasAnalysis.h
|
700975bc9b076bd9095326bb1c0e19b8763584ff |
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Convert BasicAA to be an immutable pass instead of a FunctionPass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3922 91177308-0d34-0410-b5e6-96231b3b80d8
asicAliasAnalysis.h
|
9474dd68e8a050193ca4003940ac399e2b17cb6a |
25-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Checkin stub for Misha to implement git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3919 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
47b6f84736197b5ece84860e6cb6052ebc60c646 |
24-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Make users of FindUsedTypes not have problems with linkage. This fixes cwriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3899 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
c2b327768bba27cb29fecd9fdb17f261344c4871 |
17-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Remove extra #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3776 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
0c5d27e4a1c7ade2ab8af379f13417359d9d6614 |
06-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
- Doxygenize comments - Add new method to dominatorset: properlyDominates - Add synonmys for operator[] to classes so that pointers to dominator information can be used more easily. - Add API's to update dominator information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3585 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
c74cb8698f1771603a6ab008277a407c55e47753 |
31-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Eliminate the last traces of the 'analysis' namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3550 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
70433de019a79f4dcb090bdc6ecb5b1ab8c0b5a5 |
31-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Fix comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3546 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
c447b4b7911cff3b1dc2dc35f7b8a78195f7c961 |
31-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Merged into ValueNumbering.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3545 91177308-0d34-0410-b5e6-96231b3b80d8
asicValueNumbering.h
|
26d933a84969a18c0841721812c5429d1a9ff032 |
30-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Initial implementation of basic value numbering This file will probably go away at some point git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3542 91177308-0d34-0410-b5e6-96231b3b80d8
asicValueNumbering.h
|
d7f672538a3a018851fe93a416c4917c3960c285 |
30-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Initial version of LoadValueNumbering interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539 91177308-0d34-0410-b5e6-96231b3b80d8
oadValueNumbering.h
|
dcee11cd0a8a52fe000ccf8d122c593877093d60 |
30-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Initial version of ValueNumbering interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3538 91177308-0d34-0410-b5e6-96231b3b80d8
alueNumbering.h
|
c46c04c2ac13c91f0b541fdff82ccbc11c22a361 |
29-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Fix comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3523 91177308-0d34-0410-b5e6-96231b3b80d8
asicAliasAnalysis.h
|
e0b6b78e095f7dea9589e8df5ec4521e346ad005 |
26-Aug-2002 |
Anand Shukla <ashukla@cs.uiuc.edu> |
Changed so it gets linked properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3508 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
ce325e491cf501d8821f7725be51a46cf97dd144 |
23-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
doxygenize comments in header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3480 91177308-0d34-0410-b5e6-96231b3b80d8
asicAliasAnalysis.h
|
f12c2c28bd72091f2d7fff5718265c5ad52e7af8 |
22-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Add doxygen comments to AliasAnalysis class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3475 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
|
e6d2fdff26708cd5e3f76cf2a5d7126ae7edfe93 |
22-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3473 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
4df22c0100fe27f19e6f4874f24eedd0742b9cf4 |
22-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Checkin new alias analysis infrastructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3464 91177308-0d34-0410-b5e6-96231b3b80d8
liasAnalysis.h
asicAliasAnalysis.h
|
a69fd903585a665c031d5aa3fdfb8dc919b44bef |
22-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Split Dominators.h into Dominators.h & PostDominators.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3432 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
ostDominators.h
|
546b027b3ee0ed3a8c5e551a7e13fc8a1775ede9 |
21-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Do not expose ::ID from any of the analyses anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3417 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
044f9087915168efb7ab4faf3a1a1ca6b1ca4a82 |
21-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Do not expose ::ID from any of the analyses anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3416 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
|
89f2aa5fd8125b67e4759a9342002c7f99a64751 |
10-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
* IntervalPartition no longer derives from vector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalPartition.h
|
5b2f502968b67a5b5ab24335734466fb9eec6aab |
09-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
The second parameter of hash_set is the default, remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3273 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
5f0eb8da62308126d5b61e3eee5bee75b9dc5194 |
08-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Cleaned up the interface to AnalysisUsage to take analysis class names instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3265 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
ominators.h
|
49af5e4131d0ac957cbab2a3521517aca62e79ed |
31-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Changes to be GCC 3.1 friendly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3184 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
nstForest.h
|
3b43b772e6f48f15b9933ea8ce6e49e25403a4d5 |
31-Jul-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add GlobalDSGraph -- a common graph that holds externally visible nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3169 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
d472e47b6cb59a7cc214cc50db222eb86ddcf748 |
29-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* Eliminate the Provided set. All Passes now finally just automatically provide themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3125 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
|
eb702350f7ac9c8910755fba44a98bc9a09beb4f |
29-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* Eliminate the Provided set. All Passes now finally just automatically provide themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3124 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
97f51a3024a72ef8500e95b90e6361e6783160fd |
27-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* Standardize how analysis results/passes as printed with the print() virtual methods * Eliminate AnalysisID: Now it is just a typedef for const PassInfo* * Simplify how AnalysisID's are initialized * Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into the analyses themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3115 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
nductionVariable.h
nterval.h
ntervalPartition.h
oopInfo.h
riter.h
|
5d549083e2dc55cc1aa035f1069480d052717061 |
26-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3111 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
iveVar/FunctionLiveVarInfo.h
oopInfo.h
|
00444d0630b8baaedd47bff5981a24197a04a44c |
26-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3107 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
iveVar/FunctionLiveVarInfo.h
oopInfo.h
|
0cbc6c2fd8470c62d824667fc600d80a494d26cd |
26-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Simplify analyses so that there is only one analysis per class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3104 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
indUsedTypes.h
riter.h
|
4b757f83abcaddf70aed0dbaaf81a761f2463b33 |
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Remove dead options git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3096 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
30bc0547d9167e1a92bc40e156e35cfd2ee06fe8 |
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Fix previous checkin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3093 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
f8820c353bc75eba9ed900b005fd7d91dd40f839 |
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Add typenames git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3092 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
c6a4bf1251f3dc44d2164c0847ce0b19ed7409a2 |
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3077 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
ataStructureGraph.h
|
3f5569152c579ef820bfaea088599312b0590826 |
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
GCC 3.1 changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3070 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
fe8041ae397ebbcc311469aa39dfb79f8191b412 |
25-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
|
f6a1328e4ce44683615a9c2f285744dbc976ae84 |
24-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Remove assert hack now that I'm using the right GDB. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3045 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
f1ac9f6a7f70508c824c373e9d3d652a6e7bc418 |
23-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Allow comparison against null git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3009 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
2dfbe3a751e717387c862399285eff5b795d333f |
18-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Rename removeDeadNodes to removeTriviallyDeadNodes Add new removeDeadNodes method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2968 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
a990291462b460e58a19210db8ca85075339ea46 |
18-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Simplify saveOrigFunctionCalls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2967 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
6aa0d62cb9da446068bba1d65c894c970421b533 |
18-Jul-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Add support for a top-down propagation pass. Each DSGraph now keeps a list of pending callers that have not been inlined into the function represented by that graph. It also keeps a copy of the original call nodes before the BU pass eliminates some of them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2965 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
b195911eab06b9915f3c26afdb55e45839153659 |
18-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* s/method/function * BIG CHANGE: The root of the call "graph" is considered to be the external node, not the "Root". This means that users using graph iterators like df_begin() will start from the external node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2957 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
84428e1892593c2e121fb2b869c0702a0b7230fb |
18-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
First cut at implementing bottom up analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2944 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
1dc15b79979019e7abd6c37122970a328d26f585 |
11-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* Nodes now keep track of any global variables contained within them git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2877 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
cd0b36fb0747c7cf3202fa0633aa7a40fbdbfc3b |
11-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
New implementation of data structure analysis This diff is completely meaningless because this is a replacement implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2872 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure.h
ataStructure/DSGraphTraits.h
ataStructure/DataStructure.h
ataStructureGraph.h
|
4a9f9337511441af0624e754ad9b2b1262ee584d |
25-Jun-2002 |
Anand Shukla <ashukla@cs.uiuc.edu> |
changes to make it compatible with 64bit gcc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2786 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
7e70829632f82de15db187845666aaca6e04b792 |
25-Jun-2002 |
Chris Lattner <sabre@nondot.org> |
MEGAPATCH checkin. For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
nstForest.h
ntervalIterator.h
ntervalPartition.h
oopInfo.h
erifier.h
|
18961504fc2b299578dba817900a0696cf3ccc4d |
25-Jun-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/ValueSet.h
|
a51b767df42019eb155281f3a64a16593c14f7e9 |
04-Jun-2002 |
Chris Lattner <sabre@nondot.org> |
Allow const bb's to be checked for containment in a loop git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2754 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
e87adaac31aff4c442c793012f9cb1508e4aecad |
22-May-2002 |
Chris Lattner <sabre@nondot.org> |
Avoid #including CommandLine.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2710 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
ef704a23b4c3cadf11b093fa628cafa38fa05ad5 |
14-May-2002 |
Chris Lattner <sabre@nondot.org> |
Add method to check to see if two _Instructions_ dominate each other git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2616 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
a7980c0a089d03dd64606bdc1fdb10cb914a5f4e |
08-May-2002 |
Chris Lattner <sabre@nondot.org> |
Fix misspelling git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2548 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
f3e3247429ef14ebdac1769ba6b460c3ebcbcfdb |
29-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Remove analysis namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2399 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
96c466b06ab0c830b07329c1b16037f585ccbe40 |
29-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Add new optional getPassName() virtual function that a Pass can override to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
iveVar/FunctionLiveVarInfo.h
oopInfo.h
|
8fc2f2072de83665ae20e06929e28317f449bcdf |
28-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Remove all contents of the cfg namespace to the global namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2369 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
nductionVariable.h
nterval.h
ntervalIterator.h
ntervalPartition.h
oopInfo.h
riter.h
|
a298d27808ecb8ffb574d6e50f56601db2ec5fda |
28-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not const BasicBlocks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
oopInfo.h
|
483e14ee0412a98db1fb0121528d8d621ae3dfdb |
27-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
s/Method/Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
f57b845547302d24ecb6a9e79d7bc386f761a6c9 |
27-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
* Rename MethodPass class to FunctionPass - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ataStructure.h
ataStructure/DataStructure.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
iveVar/FunctionLiveVarInfo.h
oopInfo.h
|
12be9749d60c647a804fa6f057d7c1cf20fd3714 |
27-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Support array allocations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2326 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
a146183c2105911eade774490650389924dae524 |
17-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Make data structure acurately get ALL edges, even loads of null fields of nodes that are not shadow nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2273 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
28c238636ea663419f35319bcedc445d08995e57 |
16-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Remove the concept of a critical shadow node git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2265 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
da022cd143a3694e7f8c2cdad827c4caf90d3b5f |
16-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
* Eliminate ArgDSNode's completely, rely now on Scalar map git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2256 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
dd4144a5870d0f0245e4fee4c793d62cc1f29af1 |
14-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
s/Method/Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2246 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
e06e9146eeb48e3ebf0f30bdaf7d86a6e03946ad |
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Move FunctionArgument out of iOther.h into Argument.h and rename class to be 'Argument' instead of FunctionArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2217 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
nstForest.h
|
184b2fa1b9b536e6c2bc27ba3f43dd42b2a557f9 |
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Use opaque decl instead of #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2203 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
918c4ecb0c1c85adad760fb9d7faae088171d324 |
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Don't leak all of the Loop objects created... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2196 91177308-0d34-0410-b5e6-96231b3b80d8
oopInfo.h
|
8d3b30ab3cd338b332bafd22dcf18666522d3700 |
08-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Trim #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2169 91177308-0d34-0410-b5e6-96231b3b80d8
riter.h
|
b579400cd72f274607f4964a9649ea4d38e04c46 |
08-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
* Move include/llvm/Analysis/SlotCalculator.h to include/llvm/SlotCalculator.h because the slot calculator is already part of the VMCore library. * Rename incorporateMethod and purgeMethod to *Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2154 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
2fbfdcffd3e0cf41422aaa6c526c37cb02b81341 |
07-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Change references to the Method class to be references to the Function class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
1e10c7c27800ba0ce7bb66f4f75f707e8efec674 |
04-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Add method to get # nodes in the graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2098 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
aedcb728050fd002930014088b7a63c6398297c8 |
01-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Shadow nodes don't need to know their explicit parent, they just need to know what type to be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2080 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
41deedf32fca64f806e4ba812bc364cfa1671fc4 |
31-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
* Allow access to DSNode iterator as DSNode::iterator/begin/end * Add debugging "dump" method to DSNode * Fix bugs in DSNode iterator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2060 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure.h
ataStructure/DSGraphTraits.h
ataStructure/DataStructure.h
ataStructureGraph.h
|
f9957c2960f385f2b2d999320412b376e0c15d50 |
30-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Initial checkin of file: Define an iterator to operate over data structure outgoing links and graph implementation so generic graph functions can be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2057 91177308-0d34-0410-b5e6-96231b3b80d8
SGraphTraits.h
ataStructure/DSGraphTraits.h
ataStructureGraph.h
|
9a691dbc8241ccf7779062124ba3a3ba728b313f |
30-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Add accessors and a method to get all the outgoing links for ALL nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2055 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
5cddb2f0f8708a6bfeeeb4e49ba5cae1879dc3bb |
30-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Add an accessor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2054 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
8aaa6e0f863ec3446c2958d25a3670dac800d0a5 |
29-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Add a hook to allow the datastructure to keep naturally up to date, even though it's not entirely fleshed out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2051 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
49a4b220eb7dd2d6b235be7514c30d4aac580b03 |
29-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Expose more information to clients git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2027 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
4dc1f82e7e8ffe60716a8dbab2f5d8fdb288bced |
28-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Implement getEscapingAllocations & getNonEscapingAllocations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2021 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
d38cadb13d0e7091a15269c39c7703e137ec174b |
28-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
* Remove RemoveUnreachableShadowNodes & UnlinkUndistinguishableShadowNodes to reflect the fact that they actually operate on arbitrary nodes * Clean up public interface of FunctionDSGraph * add getEscapingAllocations & getNonEscapingAllocations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2019 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
1d8ec6194a3c8d6e676f373af04171e5ad2ed4eb |
28-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
* Define some operators on PointerVal and PVS's * Nodes can determine whether they are foldable with another node * Rename NewDSNode to AllocDSNode * The Function graph breaks up all of the node types into individual vectors to alloc fast access when you are looking for a particular type of node. Simplifies much code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2009 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
b3ebdadb2c3d7ac7dd36975cd1b1642da39fa81b |
27-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
* Add a nice utility method to DSNode * Export interface to tell whether an alloc node represent a malloc or alloca * Add the concept of a "critical" shadow node git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2000 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
26f8a40b510cd68b7bd8aa1e596f37d52fecc008 |
27-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Allow isa<DSNode>(..) Simplification routines return true on change git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1996 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
d9ddf050141bb158ab77ccc3c482b44ab2f66268 |
26-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
New header file for datastructure analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1993 91177308-0d34-0410-b5e6-96231b3b80d8
ataStructure.h
ataStructure/DataStructure.h
|
0fc0c1d3e13beb5a38a65ba018de75252aa11492 |
26-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Change uses of Method to Function Change uses of methodArgument to FunctionArgument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1988 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
b277d1d0e05c1712d2b5d20d103967ddb8843b9b |
26-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Remove unneccesary forward declarations for classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1987 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
e7506a366e8bd56c97d10beb68e4db953aebaeca |
23-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Rename Method to Function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
onstantsScanner.h
ominators.h
ntervalPartition.h
iveVar/FunctionLiveVarInfo.h
oopInfo.h
lotCalculator.h
erifier.h
|
06fa17c1c232d748e310ff987e41a5318635d9dd |
19-Mar-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Big bug fix: killed uses were being inserted instead of erased! Also added a set of debug options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1917 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
a1f0021a6747aa4e184fc235faf9cd51ea59352c |
17-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Convert the top line of the header from .cpp style to .h style. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1884 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
d4d427baa9ce9bf30e522aa17104c13b8c9b38f3 |
06-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Clean up call graph, add comments, and fix test/Regression/Other/2002-01-31-CallGraph.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1828 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
bf4bf53dfd447614a2f4178791a1f6cbd76d8137 |
06-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Move callgraph printing out of writer.h into callgraph.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1824 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
riter.h
|
e1755d39c0f805e0bf8130b4046f1a7485080ae7 |
06-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Pull Callgraph out of the cfg namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1821 91177308-0d34-0410-b5e6-96231b3b80d8
riter.h
|
4ce0f8aa9ee0038ba741291e2ae1188be75d1d8b |
06-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Take CallGraph out of the CFG namespace. It has nothing to do with CFGs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1820 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
9039ba9939f6fddc905cdfb85ad92220ac2819b5 |
26-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Expose verifier for method and module, and accept constant structures git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1814 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
1ddf664f743f3c8d2ff220888386a9b84396dcab |
25-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Make it compile with GCC 3.0.4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1786 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/ValueSet.h
|
62cca70d346e8f735565cdf5e2d6b66b9d7556e0 |
20-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Modernize verifier interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1780 91177308-0d34-0410-b5e6-96231b3b80d8
erifier.h
|
ababfa5615dd526bd3fac1f0799a4aabed8d7137 |
12-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
* Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into llvm/Support/CFG.h * Make pred & succ iterators for intervals global functions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1748 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
ntervalIterator.h
|
3c34a46c7e51ab290b208248461542eb83c469b0 |
12-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Method.h no longer includes BasicBlock.h Method::inst_* is now in llvm/Support/InstIterator.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1745 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
nstForest.h
ntervalIterator.h
|
6357a3f42d13dd9d67340ba165a13ba26ed2b10b |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Convert BBLiveVar to be a BasicBlock annotation, this removes the BB2BBLVMap from MethodLiveVarInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1721 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
748697d2421051b3ff1263d13cccaf410f3e7034 |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Minor change: Methods that return ValueSet's that are guaranteed to be valid return references instead of pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1719 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
eb5230c4f98bd94c019bc2faed9432ca892e2f11 |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remove generic routines to Support/SetOperations.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1715 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/ValueSet.h
|
c980c50dc1e7c12601b2ea93da74fd3abd47d9e4 |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remove empty files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1713 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/LiveVarSet.h
|
5e5dfa307a6999cef7cba6d1a594f880ab72c043 |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static function in the one .cpp file that uses it. Use ValueSet's instead. * Prepare to delete LiveVarSet.h & LiveVarSet.cpp * Eliminate the ValueSet class, making all old member functions into global templates that will eventually be moved to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1711 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/LiveVarSet.h
iveVar/ValueSet.h
|
0665a5f1f5716a69982f4bcd654e5ace975d0c0a |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
* Code Cleanups * Introduce RAV to allow stream I/O instead of using printValue git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1710 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/LiveVarSet.h
iveVar/ValueSet.h
|
a9abada125a63836bb3d2375110e36607145a04f |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remove empty file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1708 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/LiveVarMap.h
|
0174410fd05717bde6b4006385af498083ca280b |
05-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
* Big cleanups. * Make BBLiveVar.h effectively an internal header file * Prepare LiveVarMap.h for deletion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1705 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/LiveVarMap.h
|
bdfd3285153540b03cf5516bab9b4aa955dc7b1b |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Clean up MethodLiveVarInfo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1703 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
4fd2dbbf1dacf098e97fd358bb2b3f48000703a8 |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Turn live variable analysis into a real MethodPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1699 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
bcbce1786436b42a8ee0764fe8a51134f4e6e79e |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remove Obsolete LoopDepthCalculator. All users should use LoopInfo directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1697 91177308-0d34-0410-b5e6-96231b3b80d8
oopDepth.h
|
0ae456816916a396fd07da96574fa93c02fcdc3d |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remvoe big hack that was used by the register allocator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1692 91177308-0d34-0410-b5e6-96231b3b80d8
oopDepth.h
|
387092e09c44c4a34981bca2fe8998b7d69e6b52 |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
eliminate the add and remove methods, clients must use insert and erase directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1686 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/ValueSet.h
|
c5d97bda46d03f562394ce1f2470a73d6ac51ca2 |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remove tons of include pollution Remove frivolous const's Make use of the -> operator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1685 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
39fdbda361ba08ffd09f7632d88d28f6e7e19ba6 |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Use generic pointer hashes instead of custom ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1684 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/LiveVarMap.h
|
28a7aa0e64b5eccb57aaabdc5d731583443edaf7 |
04-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Eliminate ModuleAnalyzer. It's old code that is not going to be used in the near future git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1679 91177308-0d34-0410-b5e6-96231b3b80d8
oduleAnalyzer.h
|
825e048596888d46dd06b9722c9cfe429471de31 |
03-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Remove extraneous #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1634 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/LiveVarSet.h
|
dee687b9f7cd110c01062d3fd38a9565218e2735 |
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Free memory when not in use git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1618 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
2d4fe48b17adba604740800302f19fcc11bbdf34 |
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Remove this file. Folded into UnifyMethodExitNodes pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1612 91177308-0d34-0410-b5e6-96231b3b80d8
implifyCFG.h
|
9261f0e02b867be5825924a09569f19705cfe2eb |
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Implement LoopDepth calculation in terms of dominators instead of intervals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1600 91177308-0d34-0410-b5e6-96231b3b80d8
oopDepth.h
|
facd752d3afaeca7dee46648f2a2ae209a94e5e9 |
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Convert analyses over to new Pass framework git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1595 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
ntervalPartition.h
oopInfo.h
|
b1244c54a4fc40db5a006bf6cf7e583faed7773e |
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Don't die on call instructions, which reference methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1593 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
f4de63f65fa995e68e3cd268117ab065068be413 |
21-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Implement a more powerful, simpler, pass system. This pass system can figure out how to run a collection of passes optimially given their behaviors and charactaristics. Convert code to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
indUnsafePointerTypes.h
indUsedTypes.h
|
697954c15da58bd8b186dbafdedd8b06db770201 |
20-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Changes to build successfully with GCC 3.02 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
ominators.h
indUnsafePointerTypes.h
indUsedTypes.h
nstForest.h
nterval.h
ntervalIterator.h
ntervalPartition.h
iveVar/LiveVarMap.h
iveVar/LiveVarSet.h
iveVar/ValueSet.h
oopDepth.h
oopInfo.h
oduleAnalyzer.h
lotCalculator.h
erifier.h
riter.h
|
b720a8bc1dab024c40d805429c2f7ef57232a02d |
08-Dec-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
Added comments are more documentation info git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1434 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
7a1767520611d9ff6face702068de858e1cadf2c |
04-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Renamed inst_const_iterator -> const_inst_iterator Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1408 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
|
e9bb2df410f7a22decad9a883f7139d5857c1520 |
03-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Rename ConstPoolVal -> Constant Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
xpressions.h
nstForest.h
oduleAnalyzer.h
|
df89f6efbc5d2b40b4997a84ae12ab86baa2d9cb |
03-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Induction variables must be phi nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1402 91177308-0d34-0410-b5e6-96231b3b80d8
nductionVariable.h
|
cee8f9ae67104576b2028125b56e9ba4856a1d66 |
27-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Create a new #include "Support/..." directory structure to move things from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
nstForest.h
|
7a8738c844c3dc75c10ed6526244cb89cd8069df |
26-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Add writer support for call graph nodes and loops and induction variables git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1364 91177308-0d34-0410-b5e6-96231b3b80d8
riter.h
|
8bbc97905277859da8fad2ca7e9b5ce8a6b313c1 |
26-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Implement an entry node for the call graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1363 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
0bbe58f073b4b4a6f68b3e2ee6074fc314e8d19f |
26-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
* Implement dominator based loop identification * Implement cleaner induction variable identification git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1359 91177308-0d34-0410-b5e6-96231b3b80d8
nductionVariable.h
oopInfo.h
|
fe700e7e4240fa88b8d5f44d1e7d6dcc51495c26 |
15-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Fix protection probs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1321 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
f26e28711bcc10536036e0c10c931a8ca28b778c |
09-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
New pass to figure out what types are in use by a program git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1231 91177308-0d34-0410-b5e6-96231b3b80d8
indUsedTypes.h
|
2618fba8e358b2ffe016ef93a9faf7bd303716f5 |
07-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Initial checkin of pointer safety checker git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1181 91177308-0d34-0410-b5e6-96231b3b80d8
indUnsafePointerTypes.h
|
a7edb1888ce8050ba05bcb7743f6a76b6e564741 |
22-Oct-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Added function IsLeafMethod to identify leaf methods. This will use the CallGraph only if one is provided. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@950 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
c5a22ce2b97ca477af345ad8b4dd357fa4561fcd |
13-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Changes to compile with GCC 2.96 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@745 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
a0d7f9dbb7eff1e80695a58b4f43fee425ba57d1 |
13-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Add comment indicating semantics of indirect calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@744 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
598641b4ca4bd311308009a82e0432f916f3d00b |
12-Oct-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
--added support for implicit operands in machine instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@727 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
1d87bcf4909b06dcd86320722653341f08b8b396 |
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Convert more code to use new style casts Eliminate old style casts from value.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
nstForest.h
|
cfe26c930ae691ff3012736555846c45087e1a9e |
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Add more support for new style casts Convert more code to use them git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
nstForest.h
|
9636a91649f168f41b477cba705287665e054f79 |
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Add support for new style casts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
f0604b84c7273fc2503454ecaa198eaee5b615bd |
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock, and the cfg namespace isn't used anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
711774e169526247db1838b96e379a4f4e9f2cad |
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock, and the cfg namespace isn't used anymore. Also pull Interval stuff into the Interval class out of the global namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@690 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
ntervalIterator.h
|
e939ddb96bd3143d1893782ddeaf35ec68be7479 |
01-Oct-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
no major change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@674 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/ValueSet.h
|
41fbf305ee3e2c3b8610459e8c09b60e61f4d34d |
28-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Initial support for construction of a call graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@660 91177308-0d34-0410-b5e6-96231b3b80d8
allGraph.h
|
6e9ff7ded6db1ad7314bcba64b6af29116e3f48d |
28-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Add capability to print out call graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@654 91177308-0d34-0410-b5e6-96231b3b80d8
riter.h
|
e7100478549b34b1dfd066eebd76f4fc30dcd156 |
14-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Initial instruction tree support for the analysis library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@555 91177308-0d34-0410-b5e6-96231b3b80d8
nstForest.h
|
69f8ce051e34638fc4b3df4acbb33266d9eefd9d |
11-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Handle subtract in expression classifier git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@548 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
fcc8897ec13da5dd3c49d8b71711a62bbdf198a0 |
07-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
NEw file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@478 91177308-0d34-0410-b5e6-96231b3b80d8
onstantsScanner.h
|
4c4007b3df52672f6b21594c8448538e1a5c4d90 |
07-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Simplify SlotCalculator. SlotCalculator is now not a ModuleAnalyzer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@432 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
d5bbe381b9e93113eb6ebe4c7b0519e97a81dfb1 |
07-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
Simplify analyzer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@431 91177308-0d34-0410-b5e6-96231b3b80d8
oduleAnalyzer.h
|
81cd1e50ec9c0ff36512e52cac0055fa32526914 |
28-Aug-2001 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Use const int instead of #define. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@388 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
|
91661812573e2f2a3d5bf254665615c86f7a00fe |
20-Aug-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
LV info on machine instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/LiveVarMap.h
iveVar/LiveVarSet.h
iveVar/ValueSet.h
|
a25809dda497426fb8daed1c25212b6c3eb73a5d |
26-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Add an arg to insertVal to allow us to prevent builtin types from being ignored when they are inserted git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
683847fb751890fb0ca16657be68f769bdff786c |
24-Jul-2001 |
Ruchira Sasanka <sasanka@students.uiuc.edu> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291 91177308-0d34-0410-b5e6-96231b3b80d8
iveVar/FunctionLiveVarInfo.h
iveVar/LiveVarMap.h
iveVar/LiveVarSet.h
iveVar/ValueSet.h
|
19f31f28d8b4192ce241852b477147e2489c666b |
21-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
More functionality, renamed API git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
369bbeb62cef986b6eb5213c9edab1a4c4f157af |
20-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Start of expression analysis support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219 91177308-0d34-0410-b5e6-96231b3b80d8
xpressions.h
|
644dc172f57559d3b4c75869e9f35b7781a9c0d8 |
14-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
* The parent of a constant pool is a SymTabValue, not a value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178 91177308-0d34-0410-b5e6-96231b3b80d8
lotCalculator.h
|
87d0461d5bafe5214870b18080b9450cb32a22c9 |
06-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
New file, includes method to merge exit nodes together git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141 91177308-0d34-0410-b5e6-96231b3b80d8
implifyCFG.h
|
c348d21bf6160c1f1d1511cc432bc8a7ede66244 |
06-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
* Add a DominatorBase base class to maintain root of Dominator info * Implement post dominator support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
a49e015180bf85e1ffd934dbc94c0deda60873f6 |
03-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
IntervalPartition was changed to inherit from vector<Interval*> instead of contain it so that it would have full iterator access without much work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalPartition.h
riter.h
|
1a46243e7f562a4c067689827302ac1bb80d065e |
03-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Checkin of new Analysis result printing header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130 91177308-0d34-0410-b5e6-96231b3b80d8
riter.h
|
953932d779b4615d481f711642c9969ef3fcd4b2 |
03-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Update documentation a bit, correct #include guard git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
70b6337d681b1d0a62922ce806fc15c2b8a31e5f |
02-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Add new anaysis routines for building dominator related information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122 91177308-0d34-0410-b5e6-96231b3b80d8
ominators.h
|
776885f34daeffcc814163bf1c6d53b33c99d476 |
28-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
getBasicBlocks() is not needed anymore for reading Method data git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
|
4dd88f6fbf6dc44ceba03b34aeab458536789b98 |
25-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Big changes. Interval*.h is now more or less finalized. IntervalPartition is recoded to use IntervalIterators. IntervalIterators can now maintain their own memory or let an external entity do it. Loop depth is a new user of IntervalPartition for calculating the loop nesting depth of a basic block TODO: add IntervalPartition capability to split intervals between the looping portion and the "tail" portion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
ntervalIterator.h
ntervalPartition.h
oopDepth.h
|
a9a96efba43de8d1689f7d9af2b442efba8cfc71 |
24-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
New files due to the Intervals.h splitup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65 91177308-0d34-0410-b5e6-96231b3b80d8
ntervalIterator.h
ntervalPartition.h
|
75517097e71f79b0a6daaa02a8c0a038436863d4 |
24-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
IntervalPartition & IntervalIterator classes have been split out into their own .h files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
cf1760aff017655543c801e242b2c436bcc0021a |
24-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Addition of IntervalIterator. Preparing for rename of Intervals.h to Interval.h, IntervalPartition.h, and IntervalIterator.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
1a750e1d40e4cddedc9f5a5ea49842ee085e24ae |
22-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Add comments Interval::HeaderNode is now accessed thorugh an accessor function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
2100f8cceddcffff65008db79ac036551a0e4846 |
21-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
* Added comments * Added prototype for new Interval::isLoop method * Added destructor to free memory * Added IntervalPartition::isDegeneratePartition method * Added IntervalPartition::size() method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
ed465bc265d9661c080b72604fa92593ae0cc2ca |
21-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Add capability to build a derived interval graph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
564de7d79bd0e7c3b42988b112f325f15cd575ea |
20-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
New file: Interval analysis support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34 91177308-0d34-0410-b5e6-96231b3b80d8
nterval.h
|
009505452b713ed2e3a8e99c5545a6e721c65495 |
06-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Initial revision git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
oduleAnalyzer.h
lotCalculator.h
erifier.h
|