History log of /external/llvm/tools/bugpoint/Miscompilation.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/tools/bugpoint/Miscompilation.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/tools/bugpoint/Miscompilation.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/tools/bugpoint/Miscompilation.cpp
e8bc700a87b88751b82e132b10c4b96f311e0b3a 02-Aug-2013 Hal Finkel <hfinkel@anl.gov> Fix invalid function pointers in bugpoint ExtractLoops

The ExtractLoops function tries to reduce the failing test case by extracting
one or more loops from the misoptimized piece of the program. In doing this,
ExtractLoops must keep the MiscompiledFunctions vector up-to-date by ensuring
that the pointers refer to functions in the current failing program.
Unfortunately, this is not trivial because:

- ExtractLoops is iterative, and there are several early exits (and the
MiscompiledFunctions vector must be consistent with the current program at
every non-fatal exit point).
- Several of the utility functions used by ExtractLoops (such as
TestOptimizer, some of which are called through the TestFn callback
parameter, and Linker::LinkModules) delete their inputs upon success.

This change adds several updates of the MiscompiledFunctions vector at
different points. The first is after the initial call to TestMergedProgram
which checks that the loop-extracted program still works. The second is after
the call to TestFn (TestOptimizer, for example). This function will delete its
inputs (which is why the existing ExtractLoops logic cloned the inputs first).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
1276b396130a0cdbbb8e6c05a6e43123df18ed60 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Use sys::fs::createTemporaryFile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
88088f4067ae002aebf6e32079c446b06fab31f1 18-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't use PathV1.h in tools/bugpoint/Miscompilation.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
74aec35172e3278a57b474d0dec5d81302af932c 17-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Convert two uses of eraseFromDisk.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
f656a1d4991e52725f73308ee829ffce812c96d1 17-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't use PathV1.h in ToolRunner.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
f010c464a11444733ec67e31aace8bcebeaf2588 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for tools/...

Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
6a89228faca4b30c4abc29b5dec98bdac011ea4c 31-Jan-2012 Chris Lattner <sabre@nondot.org> eliminate the "string" form of ConstantArray::get, using
ConstantDataArray::getString instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
f1f1a4f16128ffa2910f0b1d5c7052b3697f9fcd 11-Oct-2011 Tanya Lattner <tonic@nondot.org> Make it possible to use the linker without destroying the source module. This is so the source module can be linked to multiple other destination modules. For all that used LinkModules() before, they will continue to destroy the source module as before.

This line, and those below, will be ignored--

M include/llvm/Linker.h
M tools/bugpoint/Miscompilation.cpp
M tools/bugpoint/BugDriver.cpp
M tools/llvm-link/llvm-link.cpp
M lib/Linker/LinkModules.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
b2c4eea9d0df33d2c5e6dcbba6b69ece7463d89d 12-Aug-2011 Nick Lewycky <nicholas@mxc.ca> Fix bugpoint fallout from the new type system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
dab3d29605a5c83db41b28176273ef55961120c1 21-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert ConstantExpr::getGetElementPtr and
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
a3efbb15ddd5aa9006564cd79086723640084878 15-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert CallInst and InvokeInst APIs to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
7c863eb8cc34c8ae97ae90672758eb6637b1125f 11-May-2011 Andrew Trick <atrick@apple.com> Bugpoint support for miscompilations that result in a crash.

This change allows bugpoint to pinpoint the "opt" pass and bitcode
segment responsible for a crash caused by miscompilation. At least it
works well for me now, without having to create any custom execution
wrappers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
56584fcbfd541c20b914f7cb58a38bf1a16f55c0 31-Mar-2011 Michael J. Spencer <bigcheesegs@gmail.com> Fix whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
c9c08fb3a7fb5e8ea3e1477a88507704c7a70ba1 31-Mar-2011 Michael J. Spencer <bigcheesegs@gmail.com> Switch FileRemover from PathV1 to V2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3ecfc861b4365f341c5c969b40e1afccde676e6f 30-Mar-2011 Jay Foad <jay.foad@gmail.com> Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
d8b4fb4aab4d6fedb2b14bed1b846451b17bde7c 30-Mar-2011 Jay Foad <jay.foad@gmail.com> (Almost) always call reserveOperandSpace() on newly created PHINodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
1ed219a9d2279ce5a5bbcf16d9b7ccc05cce638c 13-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Be more consistent in using ValueToValueMapTy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8261dfed05e32302469ef707cc881fed2c31f85f 08-Aug-2010 Rafael Espindola <rafael.espindola@gmail.com> Most of bugpoint now only needs to know the pass names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
ca356afe09454b3378165ded4eda294bd6341428 05-Aug-2010 Rafael Espindola <rafael.espindola@gmail.com> Make EmitProgressBitcode const and add a Module argument to runPasses. Use
that argument to simplify runPassesOn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
13793264e7cbf58e3b7b0cff3baac8e0b7a11a9d 31-Jul-2010 Rafael Espindola <rafael.espindola@gmail.com> Add const to some methods and change TestMergedProgram to return the merged
module and take a const BugDriver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
10757dd8e1a66128b205bd04797c8aed0cb7a1bd 30-Jul-2010 Rafael Espindola <rafael.espindola@gmail.com> Add a Program argument to diffProgram to avoid a use of swapProgramIn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
115a932eb9e66efd424664dbd532dbed76faa072 29-Jul-2010 Rafael Espindola <rafael.espindola@gmail.com> Make the test while reducing blocks functional. This avoids accessing freed
memory when one of the original BB is destroyed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
bae1b71cbb930e419df03db209ebc547a0e4ec72 28-Jul-2010 Rafael Espindola <rafael.espindola@gmail.com> Instead of abusing swapProgramIn, just add a Module argument to
EmitProgressBitcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
84ae206c976c76761e307e5c45f8170d0b61015f 26-Jul-2010 Rafael Espindola <rafael.espindola@gmail.com> Clone and restore the module being reduced in
ReduceMiscompilingFunctions::TestFuncs. This makes the test functional
(i.e., no side effects).

Before we would end up using dead functions if a pass decided to remove them
(inline for example) and we would also keep broken functions and conclude that
that a single function was enough to reproduce the bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8be3291f5942e3ae4a5d66c480e7aabe2f771031 20-Jul-2010 Owen Anderson <resistor@mac.com> Speculatively revert r108813, in an attempt to get the self-host buildbots working again. I don't see why this patch
would cause them to fail the way they are, but none of the other intervening patches seem likely either.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
9e081004dad1c3cae7de82ad412c3f19a1a48d48 20-Jul-2010 Owen Anderson <resistor@mac.com> Reapply r108794, a fix for the failing test from last time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e8a469cdb400249ec263c79d1021f953f42f2760 20-Jul-2010 Daniel Dunbar <daniel@zuster.org> Revert r108794, "Separate PassInfo into two classes: a constructor-free
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8ba15cb7099d9eadcb345328228d77ffa5afa42d 20-Jul-2010 Owen Anderson <resistor@mac.com> Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e9916a302f1bacad234d7dafc1df3dc968a6ba0f 24-Jun-2010 Devang Patel <dpatel@apple.com> Use ValueMap instead of DenseMap.
The ValueMapper used by various cloning utility maps MDNodes also.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
bc2ed599e877b9d76bd548546019f98ae256fe9b 21-Jun-2010 Rafael Espindola <rafael.espindola@gmail.com> Save more temps with -save-temps.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e49a13e7260b83ce56d01446f2a165cc9f35da7f 07-Jun-2010 Dan Gohman <gohman@apple.com> Use ->isVoidTy().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
6865f29fe71559a18d7f2ff0bc4f67c5fc1d000e 12-May-2010 Jeffrey Yasskin <jyasskin@google.com> Fix PR6951 by fixing Module leaks in bugpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8d0e1bcc921c942e979b0925051c663590bd618f 30-Apr-2010 Nick Lewycky <nicholas@mxc.ca> The llc -f flag was removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
2706387d37b30fc191c5b74987dc139e1835c52d 12-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Boolify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
22ff748712b348300e51248339b6e8cf9b59e2c6 12-Apr-2010 Nick Lewycky <nicholas@mxc.ca> Remove use of exceptions from bugpoint. No deliberate functionality change!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
1ffb33d033d3593ded0adb08b05eb455cce59ea8 16-Jan-2010 Chris Lattner <sabre@nondot.org> remove obsolete comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8abfb8adb2f383cab46a5e8b9fca4301effd8140 16-Jan-2010 Chris Lattner <sabre@nondot.org> bugpoint doesn't need the mangler at all. DisambiguateGlobalSymbols
dates to a time when two different LLVM values could have the same
name but different types. Simplify it to just assign names to unnamed
things and let the core symtab resolve duplicates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
469340493c48eb22b630bbd311db867c9d7953d6 16-Jan-2010 Chris Lattner <sabre@nondot.org> switch liblto to use the new getNameWithPrefix() method instead of getMangledName.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
ac53a0b272452013124bfc70480aea5e41b60f40 06-Oct-2009 Duncan Sands <baldrick@free.fr> Introduce and use convenience methods for getting pointer types
where the element is of a basic builtin type. For example, to get
an i8* use getInt8PtrTy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
68ccdaa84909108c42417a8091c771598e26456e 07-Sep-2009 Daniel Dunbar <daniel@zuster.org> Add -output-prefix option to bugpoint (to change the default output name).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
74382b7c699120fbec5cb5603c9cf4212eb37f06 24-Aug-2009 Chris Lattner <sabre@nondot.org> Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
ca7409664273fed4b473127295af3af0836b3077 18-Aug-2009 Daniel Dunbar <daniel@zuster.org> Change bugpoint to use Triple to make runtime decisions.
- This is cleaner, and makes bugpoint match the host instead of the build
architecture.

- Patch by Sandeep Patel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a7235ea7245028a0723e8ab7fd011386b3900777 31-Jul-2009 Owen Anderson <resistor@mac.com> Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
9e9a0d5fc26878e51a58a8b57900fcbf952c2691 31-Jul-2009 Owen Anderson <resistor@mac.com> Move more code back to 2.5 APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
debcb01b0f0a15f568ca69e8f288fade4bfc7297 30-Jul-2009 Owen Anderson <resistor@mac.com> Move types back to the 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
baf3c404409d5e47b13984a7f95bfbd6d1f2e79e 29-Jul-2009 Owen Anderson <resistor@mac.com> Move ConstantExpr to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
265d82e4c68fa30b7ff1cb650456249f7068bdd6 29-Jul-2009 David Goodwin <david_goodwin@apple.com> Add a bugpoint flag to disable block extraction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
1fd7096407d5e598ed3366a1141548e71273f1c5 28-Jul-2009 Owen Anderson <resistor@mac.com> Change ConstantArray to 2.5 API.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e0d5c17921ddcdfce0fbfd7dd5dd993acb56304c 19-Jul-2009 Chris Lattner <sabre@nondot.org> fix test


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
4285d15703d4282cccb1e311b798917abd06beaf 19-Jul-2009 Chris Lattner <sabre@nondot.org> DisambiguateGlobalSymbols should not mangle intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
ac95cc79ac0b899d566cc29c0f646f39c2fa35c0 16-Jul-2009 Dan Gohman <gohman@apple.com> Convert more tools code from cerr and cout to errs() and outs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
65f57c233cd4499e2e8b52a503201e64edfd6a9e 15-Jul-2009 Dan Gohman <gohman@apple.com> Use errs() instead of std::cerr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
9d5511b7db2c42a2cea0ca00c0e123e64cceadae 15-Jul-2009 Chris Lattner <sabre@nondot.org> eliminate the Mangler::PreserveAsmNames bit, the sole client of this
can do it perfectly well itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
9adc0abad3c3ed40a268ccbcee0c74cb9e1359fe 15-Jul-2009 Owen Anderson <resistor@mac.com> Move EVER MORE stuff over to LLVMContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
b8158acc23f5f0bf235fb1c6a8182a38ec9b00b2 14-Jul-2009 Chris Lattner <sabre@nondot.org> Reapply my previous asmprinter changes now with more testing and two
additional bug fixes:

1. The bug that everyone hit was a problem in the asmprinter where it
would remove $stub but keep the L prefix on a name when emitting the
indirect symbol. This is easy to fix by keeping the name of the stub
and the name of the symbol in a StringMap instead of just keeping a
StringSet and trying to reconstruct it late.

2. There was a problem printing the personality function. The current
logic to print out the personality function from the DWARF information
is a bit of a cesspool right now that duplicates a bunch of other
logic in the asm printer. The short version of it is that it depends
on emitting both the L and _ prefix for symbols (at least on darwin)
and until I can untangle it, it is best to switch the mangler back to
emitting both prefixes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
1f316e321a8f2fa0e193c5444584a67a8aabe9a8 14-Jul-2009 Daniel Dunbar <daniel@zuster.org> Revert r7561{9,8,7,6}, which depend on r75610.

--- Reverse-merging r75619 into '.':
U lib/Target/DarwinTargetAsmInfo.cpp
U lib/CodeGen/AsmPrinter/AsmPrinter.cpp
--- Reverse-merging r75618 into '.':
U lib/CodeGen/ELFWriter.cpp
U lib/CodeGen/MachOCodeEmitter.cpp
U lib/CodeGen/MachOWriter.cpp
--- Reverse-merging r75617 into '.':
U lib/Target/CBackend/CBackend.cpp
--- Reverse-merging r75616 into '.':
U tools/bugpoint/Miscompilation.cpp
U tools/lto/LTOCodeGenerator.cpp
U tools/lto/LTOModule.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
b5851462d08bc4d5c3f8348faac9fd2f6387d078 14-Jul-2009 Chris Lattner <sabre@nondot.org> rename getValueName -> getMangledName


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
0a5372ed3e8cda10d724feda3c1a1c998db05ca0 13-Jul-2009 Owen Anderson <resistor@mac.com> Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
80becf194d56524e8c75618ac57a34520f87a684 10-Jul-2009 David Goodwin <david_goodwin@apple.com> Support remote execute for ARM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
333c40096561218bc3597cf153c0a3895274414c 10-Jul-2009 Owen Anderson <resistor@mac.com> This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e9b11b431308f4766b73cda93e38ec930c912122 08-Jul-2009 Owen Anderson <resistor@mac.com> Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3d29df3e8a203b167d8071ea6f805b21db18a5af 08-Jul-2009 Owen Anderson <resistor@mac.com> Push LLVMContext through GlobalVariables and IRBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8b477ed579794ba6d76915d56b3f448a7dd20120 01-Jul-2009 Owen Anderson <resistor@mac.com> Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.

Patches for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
d50330cd02b00c8e3de40e8544c45701b9891d87 22-Apr-2009 Dan Gohman <gohman@apple.com> Use CloneModule's ValueMap in more places, instead of looking
up functions by name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
70ef449741da8b1ef035e04a55958652a0200ba1 08-Dec-2008 Dan Gohman <gohman@apple.com> Generalize bugpoint's concept of a "safe" backend, and add options
to allow the "safe" backend to be run with a different path, and/or
with different command-line options.

This enables the following use cases:
- bugpoint llc against an llc command from a different build
- bugpoint llc against the same llc with different command-line options
- and more...

Also, document the existing "custom" interpreter options.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
cebf59b4a972a5363ccedc8d8b91437dbe5396b4 14-Jul-2008 Dan Gohman <gohman@apple.com> Reformat this message to fit in 80 cols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
b1dbcd886a4b5597a839f299054b78b33fb2d6df 15-May-2008 Gabor Greif <ggreif@gmail.com> Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
6bc41e8a74d1756da0003641bfebd02a3d6d9586 14-Apr-2008 Owen Anderson <resistor@mac.com> Revert r49614. As Dan pointed out, some of these aren't correct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
386ea355e730a1e92acf84e7a3f2ad95c3d6165b 13-Apr-2008 Owen Anderson <resistor@mac.com> Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2),
which is significantly more efficient.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
051a950000e21935165db56695e35bade668193b 06-Apr-2008 Gabor Greif <ggreif@gmail.com> API changes for class Use size reduction, wave 1.
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
af4fc28b5633d8cd2225e1b61d864f05a0967366 06-Apr-2008 Torok Edwin <edwintorok@gmail.com> -fPIC is required on x86-64 when building shared objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
21c62da287237d39d0d95004881ea4baae3be6da 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attributions from tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
43ad6b3e0d6ada51e9b23aab3e061187f1f5710c 17-Dec-2007 Christopher Lamb <christopher.lamb@gmail.com> Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a3355ffb3d30d19d226bbb75707991c60f236e37 03-Dec-2007 Duncan Sands <baldrick@free.fr> Rather than having special rules like "intrinsics cannot
throw exceptions", just mark intrinsics with the nounwind
attribute. Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
6fa98b13206583e6eb90b8304758b35548914944 14-Nov-2007 Nick Lewycky <nicholas@mxc.ca> Allow the block extractor take to take a list of basic blocks to not extract
from a file containing Function/BasicBlock pairings. This is not safe against
anonymous or abnormally-named Funcs or BBs.

Make bugpoint use this interface to pass the BBs list to the child bugpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
52eec548206d0b135b55ba52dd0e82e978f15ae5 01-Aug-2007 David Greene <greened@obbligato.org> New CallInst interface to address GLIBCXX_DEBUG errors caused by
indexing an empty std::vector.

Updates to all clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8ff70c2635bfd4e02c0140a5dc9ca909fffba35a 04-Jul-2007 Gabor Greif <ggreif@gmail.com> Pretty straightforward replacement of "bytecode" by "bitcode"
performed on tools/ first, in order not to cause lethal damage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
00f59da1dfa697982dad9937d1339d7c0e438ad1 19-Feb-2007 Chris Lattner <sabre@nondot.org> remove use of deprecated apis


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
10ac377f7cbcf722ca9dd46865526f667213af74 13-Feb-2007 Chris Lattner <sabre@nondot.org> eliminate use of vector-related ctors


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
688b0490e22eb67623f5aaa24406209be74efcb2 05-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR411:
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
ef9b9a793949469cdaa4ab6d0173136229dcab7b 05-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 30-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
2db43c864e8372823d961d961ca520ed20edca82 07-Jan-2007 Chris Lattner <sabre@nondot.org> relax type


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
71d2ec9e6d20bd8701471bc6e6db620838ce3539 31-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
Convert signed integer types to signless.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
2803b4cc581af06bf99af5ddc3353836c63d1562 11-Nov-2006 Reid Spencer <rspencer@reidspencer.com> Minor style fixes from review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
dc31a8a70cab3b4c180ac1a482855e31d3fe8e6b 11-Nov-2006 Reid Spencer <rspencer@reidspencer.com> Add a -disable-loop-extraction option to bugpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3ed469ccd7b028a030b550d84b7336d146f5d8fa 02-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
afd39f0cc452026eac4a9dd4d875e571de6e0a35 07-Sep-2006 Chris Lattner <sabre@nondot.org> Change DisambiguateGlobalSymbols to not rename asm globals, which breaks
bugpoint on leopard.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
51c5a286bae5ad27ddc49602f44b7ea7253a4cc9 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Final removal of exceptions from lib/System and adjustment of users to
accommodate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
67ef9e43049c28c8fe2c9f70d2ad163045ee5876 05-May-2006 Chris Lattner <sabre@nondot.org> wrap long line


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3bd5fac76f4fcc229d054ef46d5040de9abaa9f4 14-Dec-2005 Chris Lattner <sabre@nondot.org> Fix printing of the instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
0fccc74103dee95d6baa885963b7337ae5daec7e 06-Dec-2005 Andrew Lenharth <andrewl@lenharth.org> This solves the problem of the CBE renaming symbols that start with . but the assembly side still trying to reference them by their old names. Should be safe untill we hit a language front end that lets you specify such a name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
66c5fd6c537269eaef0f630fa14360dcaff6a295 23-Oct-2005 Jeff Cohen <jeffc@jolt-lang.org> When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
aed98fa8861a28e5f7ba7c0659e106f2a441e9ff 03-Aug-2005 Chris Lattner <sabre@nondot.org> If the user interrupts bugpoint, don't extract loops


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
f9aaae06cd2109082cda2b09ef3f23e0e1cff47b 02-Aug-2005 Chris Lattner <sabre@nondot.org> When the user hits ctrl-c, bugpoint should attempt to stop reduction as
quickly as possible and output what it has so far. If they hit it twice,
bugpoint is killed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
00b16889ab461b7ecef1c91ade101186b7f1fce2 27-Jul-2005 Jeff Cohen <jeffc@jolt-lang.org> Eliminate all remaining tabs and trailing spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a3efca16f2688981672deeb718909cf6acbe474e 12-Jul-2005 Chris Lattner <sabre@nondot.org> Fix PR576.

Instead of emitting a JIT stub that looks like this:

internal void %l1_main_entry_2E_ce_wrapper(int) {
header:
%resolver = call sbyte* %getPointerToNamedFunction( sbyte* getelementptr ([20 x sbyte]* %l1_main_entry_2E_ce_name, int 0, int 0) ) ; <sbyte*> [#uses=1]
%resolverCast = cast sbyte* %resolver to void (int)* ; <void (int)*> [#uses=1]
call void %resolverCast( int %0 )
ret void
}

Emit one that looks like this:

internal void %l1_main_entry_2E_ce_wrapper(int) {
Entry:
%fpcache = load void (int)** %l1_main_entry_2E_ce.fpcache ; <void (int)*> [#uses=2]
%isNull = seteq void (int)* %fpcache, null ; <bool> [#uses=1]
br bool %isNull, label %lookupfp, label %usecache

usecache: ; preds = %lookupfp, %Entry
%fp = phi void (int)* [ %resolverCast, %lookupfp ], [ %fpcache, %Entry ] ; <void (int)*> [#uses=1]
call void %fp( int %0 )
ret void

lookupfp: ; preds = %Entry
%resolver = call sbyte* %getPointerToNamedFunction( sbyte* getelementptr ([20 x sbyte]* %l1_main_entry_2E_ce_name, int 0, int 0) ) ; <sbyte*> [#uses=1]
%resolverCast = cast sbyte* %resolver to void (int)* ; <void (int)*> [#uses=2]
store void (int)* %resolverCast, void (int)** %l1_main_entry_2E_ce.fpcache
br label %usecache
}


This makes the JIT debugger *MUCH* faster on large programs, as
getPointerToNamedFunction takes time linear with the size of the program, and
before we would call it every time a function in the text module was called from
the safe module (ouch!).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a229c5cce75209047db32c6039aa0b0fd481f049 08-Jul-2005 Reid Spencer <rspencer@reidspencer.com> Final Changes For PR495:

This chagne just renames some sys::Path methods to ensure they are not
misused. The Path documentation now divides methods into two dimensions:
Path/Disk and accessor/mutator. Path accessors and mutators only operate
on the Path object itself without making any disk accesses. Disk accessors
and mutators will also access or modify the file system. Because of the
potentially destructive nature of disk mutators, it was decided that all
such methods should end in the work "Disk" to ensure the user recognizes
that the change will occur on the file system. This patch makes that
change. The method name changes are:

makeReadable -> makeReadableOnDisk
makeWriteable -> makeWriteableOnDisk
makeExecutable -> makeExecutableOnDisk
setStatusInfo -> setStatusInfoOnDisk
createDirectory -> createDirectoryOnDisk
createFile -> createFileOnDisk
createTemporaryFile -> createTemporaryFileOnDisk
destroy -> eraseFromDisk
rename -> renamePathOnDisk

These changes pass the Linux Deja Gnu tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
dd04df0ec33a903ee7fc747701bafde622f77d8b 08-Jul-2005 Reid Spencer <rspencer@reidspencer.com> For PR495:
Get rid of the difference between file paths and directory paths. The Path
class now simply stores a path that can refer to either a file or a
directory. This required various changes in the implementation and interface
of the class with the corresponding impact to its users. Doxygen comments were
also updated to reflect these changes. Interface changes are:

appendDirectory -> appendComponent
appendFile -> appendComponent
elideDirectory -> eraseComponent
elideFile -> eraseComponent
elideSuffix -> eraseSuffix
renameFile -> rename
setDirectory -> set
setFile -> set

Changes pass Dejagnu and llvm-test/SingleSource tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
56c418676a308034e5eecf10d3f96ced2d1fab24 08-May-2005 Chris Lattner <sabre@nondot.org> If loopextract breaks the program provide output so that we can repro the
problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
ea3e5e56fdc56e5c2ddafb36eab26676e137dfa0 22-Apr-2005 Jeff Cohen <jeffc@jolt-lang.org> Eliminate tabs and trailing spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3da94aec4d429b2ba0f65fa040c33650cade196b 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
852b4d4bf4aa6b80298a60f76092b80c8bd1efad 15-Mar-2005 Chris Lattner <sabre@nondot.org> Replace more a*'s with arg_*'s, thanks to Gabor Greif!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5a1c58d0094ff16dcd103f3752046d426ad5dd2c 15-Mar-2005 Alkis Evlogimenos <alkis@evlogimenos.com> Use arg_iterator and arg_begin and arg_end functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
da895d63377b421dc50117befb2bec80d2973526 27-Feb-2005 Chris Lattner <sabre@nondot.org> Fix spelling, patch contributed by Gabor Greif!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
59615f0f85e2ac99e012cb81934d002faebd405a 15-Jan-2005 Chris Lattner <sabre@nondot.org> Improve output precision.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5f76760c880e6d61c229d2058c5699b033caeae1 17-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* removeFile() -> sys::Path::destroyFile()
* remove extraneous toString() calls
* convert local variables representing path names from std::string to
sys::Path
* Use sys::Path objects with FileRemove instead of std::string
* Use sys::Path methods for construction of path names


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
97182985d530dbef488696c95a39c14fe56c995b 15-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* Convert use of getUniqueFilename to sys::Path::makeUnique();


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e4874029c37c4b14d0646289f18e5f2a1b03fdc2 13-Dec-2004 Reid Spencer <rspencer@reidspencer.com> LinkModules is now in the Linker class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
fa1af1344910ee975f50ffdddf605c26f80ef016 19-Nov-2004 Chris Lattner <sabre@nondot.org> Fix a bug in the checkin where I adjusted this code to work when
LinkModules nukes the second module argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
90c18c5c69d9c451e5fdca1e4b4b95e8ed13291a 16-Nov-2004 Chris Lattner <sabre@nondot.org> Make this code not depend on LinkModules leaving the second argument unmolested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
605b9e2c5bd1b0c151a0b15d01e6df3aba93d52f 15-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Linker.h has a new home.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
eed80e23751ecc50c1fa5604f67be4b826d5b417 23-Jul-2004 Misha Brukman <brukman+llvm@gmail.com> * Convert "\n" -> '\n'
* Print out another '\n' after printing out program execution status
* Make sure code wraps at 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
518310cb0d136906ff0a99d7a24cb460794de5bf 18-Jul-2004 Reid Spencer <rspencer@reidspencer.com> bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
008248f2c098f7680b5b393d6e3006cd7d974b77 23-Jun-2004 Misha Brukman <brukman+llvm@gmail.com> Linker.h moved to include/llvm/Support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
7507c297d08517dd22a1190bf46a5c6510ab5a0d 12-May-2004 Chris Lattner <sabre@nondot.org> Turn the block extractor on by default now that it basically works, eliminating the option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
68bee938e539d884ee89ce4dfebbad777896960e 12-May-2004 Chris Lattner <sabre@nondot.org> Check to see if all blocks are extractible first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
2290e754061f1393bb96b1808ac33dc03399c939 12-May-2004 Chris Lattner <sabre@nondot.org> Implement the final missing bits for block extractor support. Now bugpoint
can extract basic blocks up to the limit of the block extractor implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5e783ab0b5fc3407ec59f1a598fdb9ef3b96b287 11-May-2004 Chris Lattner <sabre@nondot.org> Implement basic block extraction for the miscompilation debugger. This still needs
two things: the FIXME in ExtractBlocks needs to be implemented, and the basic block
extractor itself needs to have enough bugs fixed for this to be more or less
useful.

Until the time that this is generally useful, it is hidden behind the new bugpoint
-enable-block-extraction option. I hope to get the FIXME done tonight.

Also of note, this patch adds a -extract-bbs option to bugpoint which can be used
to debug the block extractor. (hint hint Misha :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
f4789e6d04c1fddb40092a1193c4a5eb67387acc 23-Apr-2004 Chris Lattner <sabre@nondot.org> Teach bugpoint to be a little bit smarter and avoid repeating work


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
123f8fec94d1f22d876382897231868c62f8eabb 22-Apr-2004 Misha Brukman <brukman+llvm@gmail.com> Add a space before result for readability on the command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
8c194eaa0577a207bb1ea91bf2c2a5e664fce9ee 21-Apr-2004 Misha Brukman <brukman+llvm@gmail.com> Add doxygenified comments to functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
de4803d0af6824a2d5da41fa09b512084c73ce34 19-Apr-2004 Misha Brukman <brukman+llvm@gmail.com> As per Chris, greatly simplify handling of external functions by using the
wrapper idea uniformly: we can use Value::replaceAllUsesWith() instead of
special-casing by class of user.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
dc7fef83dcab053f86119d00478e6b008166fcf5 19-Apr-2004 Misha Brukman <brukman+llvm@gmail.com> Finally implement rewriting global initializers which use external functions
by creating an internal wrapper function with same signature as the external
function, and use it instead of the "real" function.

The wrapper then calls the external function using the same JIT function
resolution API that has been used before for rewriting instructions, since the
wrapper has an explicit call instruction which we can rewrite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
36ee07ff9d26a2c6ebf9faf9ba90923644db29c5 12-Apr-2004 Chris Lattner <sabre@nondot.org> Disambiguate symbols after loop extraction so that we can diagnose a code
generator bug if multiple loops are extracted from a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
2423db0e8577e769ac5ad4e567808e43daf37945 10-Apr-2004 Chris Lattner <sabre@nondot.org> Fix an obvious bug in the refactoring I did a few days ago


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a57d86b436549503a7f96c5266444e022bdbaf55 06-Apr-2004 Chris Lattner <sabre@nondot.org> Merge the code generator miscompilation code into the optimizer miscompilation
code. This "instantly" gives us loop-extractor power to assist with the
debugment of our nasty codegen issues. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
b15825b0a29e527b361b63a6e41aff5fdb8fdd5a 05-Apr-2004 Chris Lattner <sabre@nondot.org> Refactor and genericize code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
02bb481881fe6aaa876f9bf79f38f40f56a35a01 02-Apr-2004 Chris Lattner <sabre@nondot.org> minor formatting change


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5313f23b8c3d22a2028beb731c60fc1a25beb149 02-Apr-2004 Chris Lattner <sabre@nondot.org> Fix two pretty serious bugs:
1. Each time the loop extractor extracted a loop, we would leak a module.
2. When we extracted a loop, we didn't add the new function to the list of
miscompiled functions. Thus if the bug was in a loop nest and we
extracted it, we could actually *LOSE THE BUG*, which is very bad.

With these patches, bugpoint has successfully found a bug for me in a function
with several nested loops, and cut it down to just one of them. :) :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
d3a533d94dae1e57194001af08763eb3ba199c8f 17-Mar-2004 Chris Lattner <sabre@nondot.org> When loop extraction succeeds, make sure to map the function pointers over
to avoid dangling references.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
002dbddccdce9422ed4aa53ad1102bda154237fa 16-Mar-2004 Chris Lattner <sabre@nondot.org> Fix thinko, and PR292


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a1cf1c8c87f10f12343ff6ae75f332390e7205ab 14-Mar-2004 Chris Lattner <sabre@nondot.org> After reducing a miscompiled program down to the functions which are being
miscompiled, try to use the loop extractor to reduce the program down to a
loop nest that is being miscompiled. In practice, the loop extractor appears
to have too many bugs for this to be useful, but hopefully they will be fixed
soon...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
efdc0b505712d1ca4460def27e51c430f033d58d 14-Mar-2004 Chris Lattner <sabre@nondot.org> Refactor and clean up a bunch more code. No major functionality changes.
* Make several methods of bugdriver global functions (ParseInputFile, PrintFunctionList)
* Make PrintFunctionList truncate the output after 10 entries, like the crash debugger
did. This allows code sharing.
* Add a couple of methods to BugDriver that allows us to eliminate some friends
* Improve comments in ExtractFunction.cpp
* Make classes that used to be friends up bugdriver now live in anon namespaces
* Rip a bunch of functionality in the miscompilation tester into a new
TestMergedProgram function for future code sharing.
* Fix a bug in the miscompilation tester induced in my last checkin


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
be21ca54e08339ede5dd4bbb882182d22e274988 14-Mar-2004 Chris Lattner <sabre@nondot.org> Refactor all of the "splitting a module into two pieces" code to avoid
code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs
to print out the final message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
f913f40be8501738fa4bdcae2015dd196dcbfc50 18-Feb-2004 Chris Lattner <sabre@nondot.org> A couple of minor cleanups: don't forward declare private classes, put private
classes in an anon namespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
025262692a6710de29a48e2b3905672cd12d13d2 18-Feb-2004 Chris Lattner <sabre@nondot.org> Add a stub for debugging code generator crashes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
fa76183e8e28985dfd17b1d6291c939dab4cbe1d 14-Jan-2004 Chris Lattner <sabre@nondot.org> finegrainify namespacification


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
de9750def7c5ca6cb789f3bba7c913e237cdf849 07-Dec-2003 Chris Lattner <sabre@nondot.org> Bugpoint had appalingly bad grammar. Fix some of it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
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
/external/llvm/tools/bugpoint/Miscompilation.cpp
943211187d72eb27d4f54de9ac7e5786e72b38e1 20-Oct-2003 Chris Lattner <sabre@nondot.org> fix file headers


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
7c0e022c5c4be4b11e199a53f73bbdd84e34aa80 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added copyright header to all C++ source files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a12c06a9fe4bec90ab420946ee0b7beaed9f7263 18-Oct-2003 Chris Lattner <sabre@nondot.org> If we detect a pass crash during miscompilation testing, immediately enter the
crash debugger


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a64c3fa47e39f74c6e1f8d82249a719d6c696970 18-Oct-2003 Chris Lattner <sabre@nondot.org> Fix bug in my checkin


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
9f71e799c3e6e4cc0c71de82bda81f8753e82942 18-Oct-2003 Chris Lattner <sabre@nondot.org> Another formatting fix


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5ef681c19de9c675a265211f8fb0ae49cc3a3a66 18-Oct-2003 Chris Lattner <sabre@nondot.org> More cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
9c6cfe1bffd37f29a265457b7515839c445b3e6a 18-Oct-2003 Chris Lattner <sabre@nondot.org> Be more helpful if a pass fails while chasing down a miscompilation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a5a96a9ed9d90014769ffc86ca48c486cf753ad5 14-Oct-2003 Chris Lattner <sabre@nondot.org> Eliminate the bugpoint -mode option, by making bugpoint automatically infer the root of all of your problems


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3d9cafa003a114bf9974bc80d5b69b0ed1d29290 07-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> File-related functions moved to FileUtilities.h .


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
e49603d79d220a795bd50684c8b1f503ee40f97f 07-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Re-grouped and alphabetized headers for easier reading and cleaner style.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
0bd75bb92d25591b89f5dee08fb343709d792d5b 07-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5d3f1f01aa3106561a94e77fd60f2fd70c3fb955 04-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Do not attempt to reduce a test case if it is an empty set.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
be6bf5668c386fafbd0a7e1b1305b9ac6ab60ce2 30-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> CodeGeneratorBug.cpp:
* Temporarily externing InputArgv to print it out for the benefit of LLI command
needed to reproduce the result.
* Print out the list of functions currently being tested
* ListReducer now returns a bool if there was a failure, so test for it

ListReducer.h:
* Handle the case where there is no problem by returning true if failure is
found. Also correctly handles the case when there is only 1 pass/function.

Miscompilation.cpp:
* ListReducer now returns a bool if there was a failure, so test for it


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
5073336cd4da5df4ae13a167582d1dc90f32e4e0 24-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> Major addition to bugpoint: ability to debug code generators (LLC and LLI).
The C backend is assumed correct and is used to generate shared objects to be
loaded by the other two code generators.

LLC debugging should be functional now, LLI needs a few more additions to work,
the major one is renaming of external functions to call the JIT lazy function
resolver.

Bugpoint now has a command-line switch -mode with options 'compile' and
'codegen' to debug appropriate portions of tools.

ExecutionDriver.cpp: Added implementations of AbstractInterpreter for LLC and
GCC, broke out common code within other tools, and added ability to generate C
code with CBE individually, without executing the program, and the GCC tool can
generate executables shared objects or executables.

If no reference output is specified to Bugpoint, it will be generated with CBE,
because it is already assumed to be correct for the purposes of debugging using
this method. As a result, many functions now accept as an optional parameter a
shared object to be loaded in, if specified.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
bc0e998c497446f5448425b3cbd7f8f19a458764 14-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> The word `separate' only has one `e'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
3cbacc90475509a842edb91cc56fe73a5bb5ed00 12-May-2003 Chris Lattner <sabre@nondot.org> Print filename correctly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
06943add8b2b764e131979cca064eda9f28826c9 25-Apr-2003 Chris Lattner <sabre@nondot.org> Rename Kept -> Suffix
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
39aebca3a2d1dd389a6d9cdfb51a53f625e244f0 25-Apr-2003 Chris Lattner <sabre@nondot.org> Adjust to match new ListReducer interface
Move function to generic code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
126840f49e8d49156a342e836d4b2adca46dc3ba 24-Apr-2003 Chris Lattner <sabre@nondot.org> Move the ListReducer Class into it's own header file instead of living in Miscompilation.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
a148ccb15888091c42fa986e612a8ae1e448282f 24-Apr-2003 Chris Lattner <sabre@nondot.org> Allow bugpoint to try new an different methods for pruning down lists


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
640f22e66d90439857a97a83896ee68c4f7128c9 24-Apr-2003 Chris Lattner <sabre@nondot.org> Implement support for bugpoint to identify which FUNCTION an optimization
is miscompiling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
eea21dd91c5d79b406a2a73d9c4769e272a34aab 23-Apr-2003 Chris Lattner <sabre@nondot.org> Print where reference output goes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp
4a10645c70199c8d8567fbc46312158c419720ab 24-Dec-2002 Chris Lattner <sabre@nondot.org> New files for miscompilation detection


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/bugpoint/Miscompilation.cpp