aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-diff
AgeCommit message (Collapse)AuthorFilesLines
2010-09-13Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."Michael J. Spencer1-2/+2
This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819
2010-09-13Use ParseIRFile to auto-detect LLVM Assembly automatically.Dan Gohman1-26/+7
llvm-svn: 113765
2010-09-10CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.Michael J. Spencer1-2/+2
llvm-svn: 113632
2010-09-05cleanups: mark stuff static, only tagdecls should be in anon namespaces.Chris Lattner1-20/+22
llvm-svn: 113120
2010-09-03Quiesce warning about non-virtual d'tor in virtual class.Bill Wendling1-2/+2
llvm-svn: 112991
2010-08-27Fix the msvs 2010 build.Michael J. Spencer1-2/+8
The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 implements parts of C++0x based on the draft standard. An old version of the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to compile. This is because the template<class U, class V> pair(U&& x, V&& y) constructor is selected, even though it later fails to implicitly convert U and V to frist_type and second_type. This has been fixed in n3090, but it seems that Microsoft is not going to update msvc. llvm-svn: 112257
2010-08-24Check in a couple of changes that I apparently never committed:John McCall2-3/+34
- teach DifferenceEngine to unify successors of calls and invokes in certain circumstances - basic blocks actually don't have their own numbering; did that change? - add llvm-diff to the Makefile and CMake build systems llvm-svn: 111909
2010-07-29Transcribe IRC to svn. Also don't print basic block names twice if they match.John McCall1-9/+19
llvm-svn: 109787
2010-07-29Make the header self-contained and follow #include guidelines.John McCall3-43/+52
llvm-svn: 109774
2010-07-29Switch to using the LLVM CommandLine library so that our helpJohn McCall1-39/+31
message is properly contaminated with nonsense about timing passes that doesn't apply at all to this utility. :) llvm-svn: 109769
2010-07-29Centralize the logic to permanently unify two instructions and make sureJohn McCall1-20/+30
it establishes a context and does a complaining diff. Also make sure we unify the prelude and postlude of a diff after a block-diff call. llvm-svn: 109744
2010-07-29Diagnose non-structural differences in the case where blocks wereJohn McCall1-5/+16
structurally identical. llvm-svn: 109743
2010-07-29When unifying instructions during a block diff, actually complain aboutJohn McCall1-1/+1
any differences we see. This should only happen if there are "non-structural" differences between the instructions, i.e. differences which wouldn't cause diff to return true. llvm-svn: 109742
2010-07-29Somehow I was getting reasonable results for the test cases I was interestedJohn McCall1-14/+38
in despite not ever incrementing any path costs, so that the only nonzero costs arose from the all-left path in the first column. Anyway. Perform the diff starting from the beginning of the block to avoid capturing (say) loads of allocas. Vastly improves diff results on code that hasn't been mem2reg'ed. llvm-svn: 109741
2010-07-29Cache the result of errs() and implement formatted logging.John McCall2-37/+58
llvm-svn: 109740
2010-07-29Add the llvm-diff tool, which performs a relatively naive structuralJohn McCall5-0/+1095
diff of a function. There's a lot of cruft in the current version, and it's pretty far from perfect, but it's usable. Currently only capable of comparing functions. Currently ignores metadata. Currently ignores most attributes of functions and instructions. Patches welcome. llvm-svn: 109739