Chandler Carruth
800daa7d3d
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.
llvm-svn: 169252
2012-12-04 10:44:52 +00:00
Pedro Artigas
a84c753671
One more step towards making doInitialization and doFinalization useful for
...
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
2012-11-29 17:47:05 +00:00
Owen Anderson
ef8881a314
Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
...
It appears to have broken at least one buildbot.
llvm-svn: 168654
2012-11-27 00:53:24 +00:00
Owen Anderson
4f32762479
Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
...
Patch by Pedro Artigas, with feedback from by Chandler Carruth.
llvm-svn: 168635
2012-11-26 23:54:47 +00:00
Owen Anderson
c7fb54baff
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.
...
Patch by Pedro Artigas.
llvm-svn: 168008
2012-11-15 00:14:15 +00:00
Sylvestre Ledru
b77340e506
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
...
llvm-svn: 164768
2012-09-27 10:14:43 +00:00
Sylvestre Ledru
1c5e7904de
Fix a typo 'iff' => 'if'
...
llvm-svn: 164767
2012-09-27 09:59:43 +00:00
Bill Wendling
82ca4569b9
Add braces to remove silly warning.
...
llvm-svn: 147264
2011-12-25 06:56:22 +00:00
David Blaikie
576aba04f1
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Eli Friedman
038abbd863
A couple misc fixes so that bugpoint doesn't explode reducing code containing landingpads.
...
llvm-svn: 143435
2011-11-01 04:40:56 +00:00
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