summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-diff/DifferenceEngine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Centralize the logic to permanently unify two instructions and make sureJohn McCall2010-07-291-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
* Diagnose non-structural differences in the case where blocks wereJohn McCall2010-07-291-5/+16
| | | | | | structurally identical. llvm-svn: 109743
* When unifying instructions during a block diff, actually complain aboutJohn McCall2010-07-291-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
* Somehow I was getting reasonable results for the test cases I was interestedJohn McCall2010-07-291-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
* Cache the result of errs() and implement formatted logging.John McCall2010-07-291-8/+8
| | | | llvm-svn: 109740
* Add the llvm-diff tool, which performs a relatively naive structuralJohn McCall2010-07-291-0/+600
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
OpenPOWER on IntegriCloud