Rafael Espindola
aa5448f520
Be more consistent in using ValueToValueMapTy.
...
llvm-svn: 116387
2010-10-13 01:36:30 +00:00
Rafael Espindola
c90e97f163
Use RunPassesOn as in the rest of bugpoint.
...
llvm-svn: 110682
2010-08-10 15:46:11 +00:00
Rafael Espindola
a2e8c6383e
Most of bugpoint now only needs to know the pass names.
...
llvm-svn: 110534
2010-08-08 03:55:08 +00:00
Rafael Espindola
ca885492ab
Add const to compileProgram and to the various test functions in CrashDebugger.
...
llvm-svn: 110306
2010-08-05 03:00:22 +00:00
Rafael Espindola
0755ad0602
Add a Module argument to the remaining runPasses methods and mark getContext
...
const.
llvm-svn: 110300
2010-08-05 02:16:32 +00:00
Rafael Espindola
e580313f9e
Make EmitProgressBitcode const and add a Module argument to runPasses. Use
...
that argument to simplify runPassesOn.
llvm-svn: 110291
2010-08-05 00:29:04 +00:00
Rafael Espindola
a618c1e4ec
Instead of abusing swapProgramIn, just add a Module argument to
...
EmitProgressBitcode.
llvm-svn: 109602
2010-07-28 18:12:30 +00:00
Owen Anderson
5f218b8612
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.
llvm-svn: 108818
2010-07-20 08:26:15 +00:00
Owen Anderson
cf625d0179
Reapply r108794, a fix for the failing test from last time.
...
llvm-svn: 108813
2010-07-20 06:52:42 +00:00
Daniel Dunbar
3280e3aebf
Revert r108794, "Separate PassInfo into two classes: a constructor-free
...
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.
llvm-svn: 108805
2010-07-20 03:06:07 +00:00
Owen Anderson
3502f9a91b
Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).
...
llvm-svn: 108794
2010-07-20 01:19:58 +00:00
Devang Patel
0c927a80fe
Use ValueMap instead of DenseMap.
...
The ValueMapper used by various cloning utility maps MDNodes also.
llvm-svn: 106706
2010-06-24 00:33:28 +00:00
Dan Gohman
94bc7c650c
Use ->isVoidTy().
...
llvm-svn: 105550
2010-06-07 20:19:26 +00:00
Dan Gohman
a4614e30ec
No need to special-case structs here; structs are first-class now.
...
llvm-svn: 105513
2010-06-05 00:42:29 +00:00
Nick Lewycky
096fd1e0a6
Remove use of exceptions from bugpoint. No deliberate functionality change!
...
llvm-svn: 101013
2010-04-12 05:08:25 +00:00
Duncan Sands
1b33dd3c83
There are two ways of checking for a given type, for example isa<PointerType>(T)
...
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
llvm-svn: 96344
2010-02-16 11:11:14 +00:00
Chris Lattner
3203639c35
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.
llvm-svn: 79869
2009-08-23 22:45:37 +00:00
Owen Anderson
9df206d02d
Push LLVMContexts through the IntegerType APIs.
...
llvm-svn: 78948
2009-08-13 21:58:54 +00:00
Owen Anderson
1dc40e205b
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.
llvm-svn: 77721
2009-07-31 20:28:14 +00:00
Dan Gohman
6abbc537f4
Convert more tools code from cerr and cout to errs() and outs().
...
llvm-svn: 76070
2009-07-16 15:30:09 +00:00
Dan Gohman
60dce4c56b
Use errs() instead of std::cerr.
...
llvm-svn: 75791
2009-07-15 16:35:29 +00:00
Owen Anderson
393d8b0a0c
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.
llvm-svn: 75445
2009-07-13 04:09:18 +00:00
Owen Anderson
81b8dabb53
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.
llvm-svn: 74614
2009-07-01 16:58:40 +00:00
Nick Lewycky
c1dbf95623
Fix the crash debugger to actually bisect globals once it's determined that it
...
can't just eliminate all global initializers.
llvm-svn: 72378
2009-05-25 06:29:56 +00:00
Nick Lewycky
dc75efd40a
Add a bisection step on the list of instructions before doing the linear
...
simplification. It's not clear to me whether this can replace the first of the
linear instruction simplification stages or not, so I left it in.
llvm-svn: 72377
2009-05-25 05:30:00 +00:00
Torok Edwin
c492a2c1bc
Make bugpoint emit a bugpoint-reduced-blocks.bc, because bugpoint itself
...
can crash during instruction simplification (for example if it creates a
broken module).
llvm-svn: 72362
2009-05-24 09:40:47 +00:00
Torok Edwin
65289dbda1
Add -disable-global-remove option to bugpoint.
...
Sometimes when bugpointing a crash the bugpoint-reduced-simplified.bc reproduces
a totally different bug than the original one ("GV doesn't have initializer").
Although its useful to report that bug too, I need a way to reduce the original
bug, hence I introduced -disable-global-remove.
llvm-svn: 72361
2009-05-24 09:31:04 +00:00
Nick Lewycky
a97e687848
CloneModule stores the BasicBlock mapping in ValueMap. There's no need to
...
recompute it. This fixes a O(n^2) in number of blocks when reducing a crash.
llvm-svn: 68422
2009-04-04 09:39:23 +00:00
Dan Gohman
5487f51dbf
Use CloneModule's ValueMap to avoid needing to look up
...
functions by name. This fixes PR718.
llvm-svn: 66239
2009-03-06 02:16:23 +00:00
Dan Gohman
ab9affc0bf
Fix a bugpoint bug on anonymous functions. Instead of looking up
...
functions in the new module by name, use the ValueMap provided by
CloneModule to do the lookups.
llvm-svn: 66216
2009-03-05 23:20:46 +00:00
Matthijs Kooijman
1424ba7e0a
Improve bugpoint output a bit by outputting the actual instructions instead of
...
just it's name, which is often empty. Also remove a newline from the output
that wasn't really needed.
llvm-svn: 54158
2008-07-29 08:55:30 +00:00
Chris Lattner
0378973e09
several multiple-retval fixes for bugpoint.
...
llvm-svn: 50331
2008-04-28 00:04:58 +00:00
Bill Wendling
93e8f5fbc3
Remove tabs. Patch by Mike Stump!
...
llvm-svn: 49317
2008-04-07 05:47:52 +00:00
Gabor Greif
6c6b8a57f3
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.
llvm-svn: 49277
2008-04-06 20:25:17 +00:00
Andrew Lenharth
8d9b6bbf8c
With debug info, there are nameless constant global values. do not crash when we hit one
...
llvm-svn: 48749
2008-03-24 22:16:14 +00:00
Chris Lattner
309aeb140b
remove attributions from tools.
...
llvm-svn: 45421
2007-12-29 20:44:31 +00:00
Gabor Greif
9e76bbf30e
Pretty straightforward replacement of "bytecode" by "bitcode"
...
performed on tools/ first, in order not to cause lethal damage
llvm-svn: 37877
2007-07-04 21:55:50 +00:00
Chris Lattner
ec83593e41
add bitcode support
...
llvm-svn: 36849
2007-05-06 05:47:06 +00:00
Reid Spencer
83803ddedb
For PR411:
...
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)
llvm-svn: 33922
2007-02-05 21:19:13 +00:00
Reid Spencer
6af21b3029
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.
llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Reid Spencer
19af04a142
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
...
confusion with external linkage types.
llvm-svn: 33663
2007-01-30 20:08:39 +00:00
Reid Spencer
cdaf88ff9d
For PR411:
...
Take an incremental step towards type plane elimination. This change
separates types from values in the symbol tables by finally making use
of the TypeSymbolTable class. This yields more natural interfaces for
dealing with types and unclutters the SymbolTable class.
llvm-svn: 32956
2007-01-06 07:24:44 +00:00
Reid Spencer
4bafa71dc1
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.
llvm-svn: 31380
2006-11-02 20:25:50 +00:00
Bill Wendling
dde9793f0c
Forgot a }
...
llvm-svn: 31226
2006-10-27 20:22:04 +00:00
Bill Wendling
b8441e6cce
Re-added the part where it tries to remove all global variables first.
...
llvm-svn: 31225
2006-10-27 20:18:06 +00:00
Bill Wendling
b9780660dd
Fix for PR960. Improves bugpoint so that it removes global variable
...
initializers as well. This is only a first pass. It can be slow because
it clones the module for each pass. An obvious improvement is not to do that.
llvm-svn: 31182
2006-10-25 18:36:14 +00:00
Patrick Jenkins
689b3e1549
This commit adds a new feature called find-bugs. The find-bugs option can be invoked on a .bc file from the command like with -find-bugs and a list of passes you wish to test. This procedure takes the set of optimization passes the user specifies, randomizes the passes, runs the passes on the specified .bc file, compiles the program, and finally runs the program checking its output vs the .bc file with no optimizations. This process repeats until either the user kills bugpoint or an error occurs in the optimizations, program complitation, or the running of the program. If an error occurs, bugpoint attempts to diagnose the error by eliminating passes that are not at fault and code that is not needed.
...
llvm-svn: 29703
2006-08-15 16:40:49 +00:00
Chris Lattner
a9bca01256
Move ToolRunner.(cpp|h) into the bugpoint directory
...
llvm-svn: 28699
2006-06-06 22:30:59 +00:00
Chris Lattner
dbdfef7604
add an assert to get a slightly better msg about this problem
...
llvm-svn: 26812
2006-03-16 23:16:17 +00:00
Andrew Lenharth
89ca36285c
For transforms the behave differently if main goes away, add an option to prevent bugpoint from removing main
...
llvm-svn: 26557
2006-03-05 22:21:36 +00:00