Chris Lattner
ad074cb3f2
lets get crazy and name the header file the exact class name,
...
not a scrunched version of it.
llvm-svn: 112904
2010-09-02 23:09:42 +00:00
Chris Lattner
82570a04df
AsmPrinter has a formatted stream, pass it down through AsmAnnotationWriter
...
llvm-svn: 112903
2010-09-02 23:07:12 +00:00
Mikhail Glushenkov
07457f0ed9
llvmc: .dylib support.
...
llvm-svn: 112818
2010-09-02 14:06:21 +00:00
Nick Lewycky
3e19542ed3
Fix compile errors.
...
llvm-svn: 112808
2010-09-02 05:44:31 +00:00
Dan Gohman
a2233f2801
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.
llvm-svn: 112706
2010-09-01 14:20:41 +00:00
Michael J. Spencer
618d21978d
Cleanup Whitespace.
...
llvm-svn: 112587
2010-08-31 06:36:46 +00:00
Dan Gohman
60bcc102d7
Fix llc to run the verifier once, not twice.
...
llvm-svn: 112532
2010-08-30 21:41:20 +00:00
Chris Lattner
d39d2aad3f
tidy up
...
llvm-svn: 112385
2010-08-28 20:34:35 +00:00
Duncan Sands
3bd97fec8f
Straighten out any triple strings passed on the command line before
...
they hit the rest of the system.
llvm-svn: 112344
2010-08-28 01:30:02 +00:00
Michael J. Spencer
788a6079e1
Fix the msvs 2010 build.
...
The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01
implements parts of C++0x based on the draft standard. An old version of
the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to
compile. This is because the template<class U, class V> pair(U&& x, V&& y)
constructor is selected, even though it later fails to implicitly convert
U and V to frist_type and second_type.
This has been fixed in n3090, but it seems that Microsoft is not going to
update msvc.
llvm-svn: 112257
2010-08-27 02:49:45 +00:00
Devang Patel
7b888fbd91
Fix prototypes.
...
llvm-svn: 112200
2010-08-26 17:47:45 +00:00
Oscar Fuentes
c5c36191fb
Updated CMake library dependencies. Removed unnecessary component name
...
from llvm-link/CMakeLists.txt
llvm-svn: 112153
2010-08-26 02:29:53 +00:00
Dan Gohman
8f292e7a6d
Rewrite ExtractGV, removing a bunch of stuff that didn't fully work,
...
and was over-complicated, and replacing it with a simple implementation.
llvm-svn: 112120
2010-08-26 00:22:55 +00:00
Dan Gohman
bf154593f9
Convert llvm-extract to use lazy loading. This makes it substantially
...
faster on large modules.
llvm-svn: 112110
2010-08-25 23:33:07 +00:00
Dan Gohman
74328ab826
lto_codegen_set_gcc_path was removed.
...
llvm-svn: 112069
2010-08-25 18:37:04 +00:00
Dan Gohman
c894a7f942
Fix a few missing entries in lto.exports.
...
llvm-svn: 112068
2010-08-25 18:22:12 +00:00
Eric Christopher
14747161f2
Apparently this is needed for llvm-link to link.
...
Untested.
llvm-svn: 112029
2010-08-25 06:45:22 +00:00
Bill Wendling
3aeedd1e5a
- Add the LinkerPrivateWeakDefAutoLinkage to the Ada bindings.
...
- Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp.
llvm-svn: 111952
2010-08-24 20:00:52 +00:00
Chris Lattner
5afc1e7b31
Apply "Win32's Hybrid path separator in argv[0] should be accepted to bugpoint",
...
patch by NAKAMURA Takumi!
llvm-svn: 111929
2010-08-24 17:44:07 +00:00
John McCall
5ee026c512
Check in a couple of changes that I apparently never committed:
...
- teach DifferenceEngine to unify successors of calls and invokes
in certain circumstances
- basic blocks actually don't have their own numbering; did that change?
- add llvm-diff to the Makefile and CMake build systems
llvm-svn: 111909
2010-08-24 09:16:51 +00:00
Mikhail Glushenkov
aaed5ea9b7
llvmc: Make syntax more consistent.
...
CompilationGraph and LanguageMap definitions do not use special syntax anymore.
llvm-svn: 111862
2010-08-23 23:21:23 +00:00
Mikhail Glushenkov
0e6cfd7491
llvmc: Do not mention plugins in the code.
...
llvm-svn: 111826
2010-08-23 19:24:00 +00:00
Dan Gohman
8525fe7155
Convert tools to use tool_output_file, and introduce error
...
checking to places which previously lacked it.
llvm-svn: 111651
2010-08-20 16:59:15 +00:00
Mikhail Glushenkov
3eab653285
llvmc: Do not prefix option names with AutoGenerated.
...
Since they now live in the namespace 'autogenerated'.
llvm-svn: 111620
2010-08-20 11:24:51 +00:00
Mikhail Glushenkov
024ec17332
llvmc: Cut global namespace pollution.
...
llvm-svn: 111619
2010-08-20 11:24:44 +00:00
Dan Gohman
4cc73ba337
Use tool_output_file in llvm-extract and llvm-link too.
...
llvm-svn: 111604
2010-08-20 01:12:13 +00:00
Dan Gohman
268b0f4781
Use the new tool_output_file in several tools. This fixes a variety
...
of problems with output files being left behind or output streams
being left unclosed. Fix llvm-mc to respect the -o option in all
modes, rather than hardcoding outs() in some cases.
llvm-svn: 111603
2010-08-20 01:07:01 +00:00
Dan Gohman
d3ee4238a5
Make the SCC printing passes use errs() instead of outs(), as the
...
other printing passes do, and update the documentation accordingly.
llvm-svn: 111601
2010-08-20 01:03:44 +00:00
Dan Gohman
05336d9596
Print chatty verbose messages to errs() instead of outs().
...
llvm-svn: 111599
2010-08-20 01:02:14 +00:00
Dan Gohman
061cb1cac7
Minor cleanups to follow the common convention for pass
...
registration variables.
llvm-svn: 111598
2010-08-20 01:00:03 +00:00
Dan Gohman
12bb5054b3
Minor cleanups to follow the common convention for pass
...
registration variables.
llvm-svn: 111596
2010-08-20 00:56:16 +00:00
Mikhail Glushenkov
b2ca0d19f2
llvmc: Update examples.
...
llvm-svn: 111553
2010-08-19 20:04:19 +00:00
Dan Gohman
7ba6f22b47
Eliminate some redundancy by relying on raw_fd_ostream to handle "-"
...
properly.
llvm-svn: 111373
2010-08-18 17:55:15 +00:00
Dan Gohman
083330a8f2
Allow the -analyze option to follow the -o option, which defaults to
...
standard output, instead of just hardcoding outs().
llvm-svn: 111372
2010-08-18 17:42:59 +00:00
Dan Gohman
b01aed1cb2
Don't translate "-" to outs() manually; raw_ostream does that automatically.
...
llvm-svn: 111371
2010-08-18 17:40:10 +00:00
Dan Gohman
80f9de4bb5
Don't translate "-" to outs() manually; raw_ostream does that
...
automatically.
llvm-svn: 111370
2010-08-18 17:26:50 +00:00
Dan Gohman
6111d7c05b
Don't register stdout to be deleted on a signal.
...
llvm-svn: 111368
2010-08-18 17:21:42 +00:00
Dan Gohman
3d051ff2bc
Remove an unused command-line option.
...
llvm-svn: 111367
2010-08-18 17:20:51 +00:00
Anton Korobeynikov
51b8b1d36c
This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on MingW & Cygwin.
...
Patch by Takumi Nakamura!
llvm-svn: 111268
2010-08-17 19:03:03 +00:00
Oscar Fuentes
5b823e0821
CMake: Improved COMMENT on a custom command
...
llvm-svn: 111111
2010-08-15 22:14:36 +00:00
Mikhail Glushenkov
b1ec90bcf4
Update tests.
...
llvm-svn: 111096
2010-08-15 07:07:24 +00:00
Mikhail Glushenkov
938e976b90
llvmc: remove dynamic plugins.
...
llvm-svn: 111094
2010-08-15 07:07:12 +00:00
Daniel Dunbar
2eca0252c3
llvm-mc: Add -show-inst-operands, for dumping the parsed instruction representation before matching.
...
llvm-svn: 110791
2010-08-11 06:37:09 +00:00
Rafael Espindola
ccab1dddd1
Make it possible to set the cpu used for codegen.
...
llvm-svn: 110759
2010-08-11 00:15:13 +00:00
Daniel Dunbar
a8272596bc
lto: Fix an inverted conditional which prevented the addition of symbols scraped
...
from inline assembly, except in cases where they had already been seen (in which
case they would get added twice).
- I can't see how this ever worked...
llvm-svn: 110757
2010-08-11 00:11:19 +00:00
Daniel Dunbar
4493c7e550
lto: Fix gratuitous memory leaks.
...
llvm-svn: 110756
2010-08-11 00:11:17 +00:00
Daniel Dunbar
919660b2ed
lto: Reduce nesting.
...
llvm-svn: 110752
2010-08-10 23:46:46 +00:00
Daniel Dunbar
5657e7b667
LTOModule.cpp: Fix numerous style issues.
...
llvm-svn: 110751
2010-08-10 23:46:39 +00:00
Rafael Espindola
0045646633
Make it possible to set the flags passed to the assembler.
...
Nick, please review.
llvm-svn: 110705
2010-08-10 18:55:09 +00:00
Rafael Espindola
148c3284ee
Fix silly bug.
...
llvm-svn: 110684
2010-08-10 16:32:15 +00:00
Rafael Espindola
d1e241a4c3
Use RunPassesOn as in the rest of bugpoint.
...
llvm-svn: 110682
2010-08-10 15:46:11 +00:00
Rafael Espindola
4ef89f5200
Make it possible to set the target triple and expose that with an option in the
...
gold plugin.
llvm-svn: 110604
2010-08-09 21:09:46 +00:00
Rafael Espindola
68f8b27bb9
Don't try to build a plugin on windows.
...
llvm-svn: 110573
2010-08-09 14:05:42 +00:00
Michael J. Spencer
4c0895893b
llc: Fix help typo as pointed out by Nick Lewycky.
...
llvm-svn: 110556
2010-08-08 23:26:49 +00:00
Rafael Espindola
fb1f29acf9
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
llvm-svn: 110555
2010-08-08 22:14:20 +00:00
Rafael Espindola
717cd17f6f
s/libLLVMgold/LLVMgold/g
...
llvm-svn: 110552
2010-08-08 21:14:26 +00:00
Rafael Espindola
33e81a8221
Most of bugpoint now only needs to know the pass names.
...
llvm-svn: 110534
2010-08-08 03:55:08 +00:00
Rafael Espindola
414de85274
Try to fix cmake build.
...
llvm-svn: 110528
2010-08-08 00:50:57 +00:00
Rafael Espindola
bbdce49c2a
Run opt instead of bugpoint itself.
...
llvm-svn: 110524
2010-08-07 23:03:21 +00:00
Rafael Espindola
225801cd32
Another missing file :-(
...
llvm-svn: 110522
2010-08-07 21:58:44 +00:00
Rafael Espindola
16db6a5651
Add missing file.
...
llvm-svn: 110521
2010-08-07 21:53:04 +00:00
Rafael Espindola
92a4a833f9
Move the bugpoint test passes to a plugin in preparation for having bugpoint
...
use opt.
llvm-svn: 110520
2010-08-07 21:48:09 +00:00
Michael J. Spencer
4f50b97fd8
llc: Clarify -mc-relax-all description.
...
llvm-svn: 110477
2010-08-06 21:37:45 +00:00
Owen Anderson
a7aed18624
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
llvm-svn: 110460
2010-08-06 18:33:48 +00:00
Owen Anderson
bda59bd247
Revert r110396 to fix buildbots.
...
llvm-svn: 110410
2010-08-06 00:23:35 +00:00
Owen Anderson
755aceb5d0
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.
llvm-svn: 110396
2010-08-05 23:42:04 +00:00
Bob Wilson
824edeb842
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
llvm-svn: 110341
2010-08-05 16:26:32 +00:00
Rafael Espindola
86d7095eac
Run opt instead of bugpoint itself.
...
Fixes PR753.
llvm-svn: 110333
2010-08-05 15:25:38 +00:00
Rafael Espindola
d1c7ef4ab5
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
37302eadca
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
315190b28c
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
Daniel Dunbar
40842fa2ee
build: Don't pass -avoid-version or -no-undefined on Darwin, they don't do
...
anything.
llvm-svn: 109957
2010-07-31 21:32:56 +00:00
Michael J. Spencer
f695f8f9ed
llc: Add -mc-relax-all.
...
llvm-svn: 109954
2010-07-31 19:57:02 +00:00
Rafael Espindola
e490460fc8
Add const to some methods and change TestMergedProgram to return the merged
...
module and take a const BugDriver.
llvm-svn: 109951
2010-07-31 14:34:49 +00:00
Rafael Espindola
40f18838b7
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.
llvm-svn: 109936
2010-07-31 00:32:17 +00:00
Rafael Espindola
c89b1ef0a9
Add a Program argument to diffProgram to avoid a use of swapProgramIn.
...
llvm-svn: 109859
2010-07-30 14:19:00 +00:00
Duncan Sands
6263d492b5
Do not pass a copy of the value map, pass a reference to it.
...
llvm-svn: 109852
2010-07-30 05:50:45 +00:00
John McCall
9ad943ef28
Transcribe IRC to svn. Also don't print basic block names twice if they match.
...
llvm-svn: 109787
2010-07-29 18:20:13 +00:00
John McCall
61483f0e1f
Make the header self-contained and follow #include guidelines.
...
llvm-svn: 109774
2010-07-29 18:08:23 +00:00
John McCall
58c5088d48
Switch to using the LLVM CommandLine library so that our help
...
message is properly contaminated with nonsense about timing passes
that doesn't apply at all to this utility. :)
llvm-svn: 109769
2010-07-29 17:55:00 +00:00
Benjamin Kramer
a3e0ddb564
Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of the TargetAsmBackend and the MCCodeEmitter.
...
llvm-svn: 109767
2010-07-29 17:48:06 +00:00
Rafael Espindola
07035e6a00
Make the test while reducing blocks functional. This avoids accessing freed
...
memory when one of the original BB is destroyed.
llvm-svn: 109747
2010-07-29 14:20:59 +00:00
John McCall
eaeede9a06
Centralize the logic to permanently unify two instructions and make sure
...
it establishes a context and does a complaining diff. Also make sure we
unify the prelude and postlude of a diff after a block-diff call.
llvm-svn: 109744
2010-07-29 09:20:34 +00:00
John McCall
8489de298e
Diagnose non-structural differences in the case where blocks were
...
structurally identical.
llvm-svn: 109743
2010-07-29 09:04:45 +00:00
John McCall
0ed6b1326c
When unifying instructions during a block diff, actually complain about
...
any differences we see. This should only happen if there are "non-structural"
differences between the instructions, i.e. differences which wouldn't cause
diff to return true.
llvm-svn: 109742
2010-07-29 08:59:27 +00:00
John McCall
d293c4e6e0
Somehow I was getting reasonable results for the test cases I was interested
...
in despite not ever incrementing any path costs, so that the only nonzero costs
arose from the all-left path in the first column. Anyway. Perform the diff
starting from the beginning of the block to avoid capturing (say) loads of
allocas.
Vastly improves diff results on code that hasn't been mem2reg'ed.
llvm-svn: 109741
2010-07-29 08:53:59 +00:00
John McCall
10c91bfa66
Cache the result of errs() and implement formatted logging.
...
llvm-svn: 109740
2010-07-29 08:14:41 +00:00
John McCall
5e6a16d71f
Add the llvm-diff tool, which performs a relatively naive structural
...
diff of a function. There's a lot of cruft in the current version, and
it's pretty far from perfect, but it's usable.
Currently only capable of comparing functions. Currently ignores metadata.
Currently ignores most attributes of functions and instructions.
Patches welcome.
llvm-svn: 109739
2010-07-29 07:53:27 +00:00
Jakob Stoklund Olesen
1222249aab
Use the right gcc tool args for IsARMArchitecture.
...
llvm-svn: 109714
2010-07-29 00:52:16 +00:00
Gabor Greif
62f0aac99d
simplify by using CallSite constructors; virtually eliminates CallSite::get from the tree
...
llvm-svn: 109687
2010-07-28 22:50:26 +00:00
Rafael Espindola
594994a34c
Instead of abusing swapProgramIn, just add a Module argument to
...
EmitProgressBitcode.
llvm-svn: 109602
2010-07-28 18:12:30 +00:00
Rafael Espindola
235457ca7f
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.
llvm-svn: 109387
2010-07-26 00:07:51 +00:00
Rafael Espindola
74cc8b270f
Revert unintended white space change.
...
llvm-svn: 109364
2010-07-24 23:05:45 +00:00
Rafael Espindola
f8203a3a6d
Fix a trivial use after free.
...
llvm-svn: 109363
2010-07-24 23:02:11 +00:00
Mikhail Glushenkov
1e5d7c6e82
Get rid of exceptions in llvmc.
...
llvmc can be now compiled with llvm-gcc on Windows.
llvm-svn: 109215
2010-07-23 03:42:55 +00:00
Chris Lattner
14caa59b14
there is now no reason to link in TARGETS_TO_BUILD since we list
...
arm explicitly. X86 and ARM are the only two targets that support
disassembly, so our explicit list is enough. These other targets
weren't getting pulled in anyway though, since there were no
references to their symbols.
llvm-svn: 108934
2010-07-20 21:26:27 +00:00
Chris Lattner
75217e8cb7
fix edis to only try to link in the x86 parts if the x86 backend is
...
enabled. Add direct ARM support.
llvm-svn: 108933
2010-07-20 21:23:57 +00:00
Douglas Gregor
5d69a3d518
Fix edis makefile
...
llvm-svn: 108931
2010-07-20 21:21:27 +00:00
Chris Lattner
9289f93153
fix DISABLE_EDIS
...
llvm-svn: 108925
2010-07-20 20:55:57 +00:00
Chris Lattner
03b7884b88
this logic is handled by tools/makefile.
...
llvm-svn: 108919
2010-07-20 20:33:59 +00:00