Chris Lattner
817a01ffb2
switch bugpoint and liblto to PassManagerBuilder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131821 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22 00:20:07 +00:00
Andrew Trick
dc5948d472
Have Program::Wait return -2 for crashed and timeouts instead of embedding
...
info in the error message. Per Dan's request.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131780 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-21 00:56:46 +00:00
Andrew Trick
1680832a9b
Typo and missing checkin from r131186.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131187 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11 16:44:08 +00:00
Andrew Trick
7c863eb8cc
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
2011-05-11 16:31:24 +00:00
Daniel Dunbar
912225e185
ADT/Triple: Move a variety of clients to using isOSDarwin() and isOSWindows()
...
predicates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129816 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19 21:14:45 +00:00
Michael J. Spencer
56584fcbfd
Fix whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31 13:06:39 +00:00
Michael J. Spencer
c9c08fb3a7
Switch FileRemover from PathV1 to V2.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128630 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31 13:04:19 +00:00
Jay Foad
3ecfc861b4
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
2011-03-30 11:28:46 +00:00
Jay Foad
d8b4fb4aab
(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
2011-03-30 11:19:20 +00:00
Chris Lattner
9992fcad68
fit in 80 cols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 18:59:38 +00:00
Andrew Trick
f73311bb64
Added bugpoint options: -compile-custom and -compile-command=...
...
I've been using this mode to narrow down llc unit tests. Example
custom compile script:
llc "$@"
not pygrep.py 'mul\s+r([0-9]), r\1,' < bugpoint-test-program.s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125096 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-08 18:20:48 +00:00
Andrew Trick
de86cbdc57
whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125095 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-08 18:07:10 +00:00
Devang Patel
3f84a4537d
Disable debug mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123443 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-14 15:55:50 +00:00
Devang Patel
bc8d5f11e7
Little help to debug the bugpoint itself.
...
Patch by Bob Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123390 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-13 19:48:54 +00:00
Michael J. Spencer
1f6efa3996
Merge System into Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29 18:16:10 +00:00
Dan Gohman
e1f2e502b9
Fix some places where error messages were being swallowed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118464 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09 01:13:31 +00:00
Mikhail Glushenkov
d66f2b74f2
Rename FindExecutable to PrependMainExecutablePath.
...
Makes it more clear that it is just a path manipulation function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03 16:14:16 +00:00
Mikhail Glushenkov
544fba1362
80-col violations, trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118173 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03 16:14:07 +00:00
Dan Gohman
cc11df0ee6
Check for (unlikely) errors from FindExecutable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117658 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-29 16:18:26 +00:00
Dan Gohman
62a5ff573b
Fix these error messages to not mention PATH in cases where
...
PATH isn't actually searched, and to not mention the executable
directory when it isn't actually searched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117657 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-29 16:15:23 +00:00
Dan Gohman
e829781093
Delete this obsolete comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117655 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-29 16:03:34 +00:00
Owen Anderson
081c34b725
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
...
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19 17:21:58 +00:00
Rafael Espindola
1ed219a9d2
Be more consistent in using ValueToValueMapTy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116387 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-13 01:36:30 +00:00
Dan Gohman
e4f1a9b8a2
Move tool_output_file into its own file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115973 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-07 20:32:40 +00:00
Michael J. Spencer
3a210e2d30
Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."
...
This reverts commit r113632
Conflicts:
cmake/modules/AddLLVM.cmake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113819 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 23:59:48 +00:00
Michael J. Spencer
4e9c939312
CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113632 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-10 21:14:25 +00:00
Dan Gohman
d4c454317a
Make tool_output_file's raw_ostream instance a member variable instead
...
of a base class.
This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 14:20:41 +00:00
Duncan Sands
75ebbceeed
Straighten out any triple strings passed on the command line before
...
they hit the rest of the system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 01:30:02 +00:00
Chris Lattner
a69e6701a4
Apply "Win32's Hybrid path separator in argv[0] should be accepted to bugpoint",
...
patch by NAKAMURA Takumi!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111929 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24 17:44:07 +00:00
Dan Gohman
f29140106f
Convert tools to use tool_output_file, and introduce error
...
checking to places which previously lacked it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111651 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-20 16:59:15 +00:00
Rafael Espindola
866aa0d742
Use RunPassesOn as in the rest of bugpoint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110682 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 15:46:11 +00:00
Rafael Espindola
ec62d53736
Add a opt-args option that can be used to pass arguments to every opt
...
invocation. Fixes PR7793:
bugpoint -debug test.ll --opt-args -unroll-count=4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110555 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-08 22:14:20 +00:00
Rafael Espindola
8261dfed05
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
2010-08-08 03:55:08 +00:00
Rafael Espindola
6b01837b65
Try to fix cmake build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110528 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-08 00:50:57 +00:00
Rafael Espindola
7f99f74b7f
Run opt instead of bugpoint itself.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110524 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-07 23:03:21 +00:00
Rafael Espindola
3cb96268c4
Move the bugpoint test passes to a plugin in preparation for having bugpoint
...
use opt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110520 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-07 21:48:09 +00:00
Owen Anderson
90c579de5a
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 18:33:48 +00:00
Owen Anderson
1f74590e9d
Revert r110396 to fix buildbots.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 00:23:35 +00:00
Owen Anderson
9ccaf53ada
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
...
ID member as the sole unique type identifier. Clean up APIs related to this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 23:42:04 +00:00
Bob Wilson
b8be03b0e4
Revert bugpoint change due to buildbot breakage.
...
--- Reverse-merging r110333 into '.':
U tools/bugpoint/BugDriver.h
U tools/bugpoint/OptimizerDriver.cpp
U tools/bugpoint/bugpoint.cpp
U tools/bugpoint/BugDriver.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110341 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 16:26:32 +00:00
Rafael Espindola
d02dc8d096
Run opt instead of bugpoint itself.
...
Fixes PR753.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110333 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 15:25:38 +00:00
Rafael Espindola
248d1c65f1
Add const to compileProgram and to the various test functions in CrashDebugger.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110306 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 03:00:22 +00:00
Rafael Espindola
5d8cace94a
Add a Module argument to the remaining runPasses methods and mark getContext
...
const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110300 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 02:16:32 +00:00
Rafael Espindola
ca356afe09
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
2010-08-05 00:29:04 +00:00
Rafael Espindola
13793264e7
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
2010-07-31 14:34:49 +00:00
Rafael Espindola
d720670393
The BlockExtractorPass() constructor was not reading the BlockFile and that was
...
exactly what bugpoint expected it to do.
There was also only one user of
BlockExtractorPass(const std::vector<BasicBlock*> &B), so just remove it and
make BlockExtractorPass read BlockFile.
This fixes bugpoint's block extraction.
Nick, please review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109936 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31 00:32:17 +00:00
Rafael Espindola
10757dd8e1
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
2010-07-30 14:19:00 +00:00
Duncan Sands
80a098583b
Do not pass a copy of the value map, pass a reference to it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109852 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30 05:50:45 +00:00
Rafael Espindola
115a932eb9
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
2010-07-29 14:20:59 +00:00
Jakob Stoklund Olesen
887b703d22
Use the right gcc tool args for IsARMArchitecture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109714 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-29 00:52:16 +00:00