Mikhail Glushenkov
010887765a
Add a layer of indirection to make plugins more flexible.
...
Use strings instead of TableGen defs in the compilation graph
definition. Makes it easier for the plugins to modify an existing graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59447 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 17:29:18 +00:00
Oscar Fuentes
232ed2d373
CMake: Removed some cruft.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:51:18 +00:00
Oscar Fuentes
2c688da09e
CMake: Recursively invokes cmake using the right directories.
...
LLVM_MAIN_SRC_DIR and LLVM_BINARY_DIR are not the cmake top level
directories when LLVM is embedded on the build of other project.
Fixes PR #3072 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:35:25 +00:00
Oscar Fuentes
2833f59cad
CMake: Remove unused tablegenning code from tools/llvmc2/driver.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59333 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 23:59:50 +00:00
Daniel Dunbar
0d9eb9b491
Add Binary flag to raw_fd_ostream constructor.
...
Document raw_fd_ostream's treatment of "-".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59219 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 05:01:07 +00:00
Mikhail Glushenkov
aa4774caaa
Some cosmetic changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59096 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 00:04:46 +00:00
Devang Patel
17ddcd99dd
Remove incomplete lto-bugpoint tool. If there is an interest then we can resurrect this tool later on and finish implementation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59071 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11 19:35:38 +00:00
Oscar Fuentes
123f4fd42b
CMake: forces rebuild of llvm-config's library dependency info when a
...
library is added or changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59051 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11 17:10:58 +00:00
Oscar Fuentes
63b27a61f8
CMake: Corrected detection of `nm'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09 20:26:31 +00:00
Oscar Fuentes
3ab40ca3d5
CMake: Support for cross-compiling. For now, requires a previously
...
built native tblgen which is passed to cmake in the variable
LLVM_TABLEGEN.
See
http://www.cmake.org/Wiki/CmakeMingw
for a quick example on how to cross-compile with CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58939 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09 18:53:19 +00:00
Daniel Dunbar
77e0c85dcc
Add LLVMC2 tool definitions for Objective-C and Objective-C++.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08 03:25:47 +00:00
Nick Lewycky
82b80d9884
Update to add newer bitcodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58852 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 14:52:51 +00:00
Evan Cheng
ec740e325c
Add command line option -entry-funcion to override entry function (default is main).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58779 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-05 23:21:52 +00:00
Devang Patel
f75e78900c
On darwin, 32-bit x86 target is i386-apple-darwin...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58731 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 23:13:50 +00:00
Nuno Lopes
641397f2ef
fix memory leak in pass manager when adding an analysis pass that already existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list
...
tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58730 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 23:03:58 +00:00
Tanya Lattner
e32d58f637
Revert 58687. This breaks mingw.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58719 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 21:06:11 +00:00
Nick Lewycky
c40b75b55a
Don't "shell out" to resolve paths. Using pure perl makes llvm-config
...
friendlier to non-Unixes that happen to have perl. Patch from Sascha Othman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58687 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 08:05:21 +00:00
Oscar Fuentes
6e1b1253e0
CMakeLists: removed asmprinter component from
...
tools/llc/CMakeLists.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58678 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 03:28:37 +00:00
Oscar Fuentes
980e842153
CMake: Removed some cruft.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29 02:33:15 +00:00
Nick Lewycky
33b1c30b0b
Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code.
...
Note that -check-exit-code was on by default while -append-exit-code is not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58221 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-26 23:59:36 +00:00
Oscar Fuentes
48ed0f59d5
CMake: If we have clang' under the
tools/' subdirectory, add it to
...
the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58179 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-26 00:52:09 +00:00
Oscar Fuentes
579e43a44a
CMake: GetTargetTriple: new module for determining the target
...
triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58176 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-26 00:47:52 +00:00
Daniel Dunbar
3b0da26e20
Move Print*Pass to use raw_ostream.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57946 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 03:25:22 +00:00
Oscar Fuentes
1dc9716121
CMake: `make install' for libraries, executables and header files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 02:56:07 +00:00
Daniel Dunbar
f4db3a51c7
Privatize PrintModulePass and PrintFunctionPass and add
...
createPrintModulePass and createPrintFunctionPass.
- So clients who compile w/o RTTI can use them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57933 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-21 23:33:38 +00:00
Mikhail Glushenkov
cc30d9caa5
Re-apply Makefile changes. Fix build with srcdir != objdir.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57636 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-16 14:02:29 +00:00
Bill Wendling
e90842ca52
Unbreak the build. Please test out the proper fix for this by compiling LLVM
...
with the build directory different from the source directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57583 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 16:20:13 +00:00
Anton Korobeynikov
b2029c98ea
Temporary revert r57567 and unbreak the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57578 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 14:22:06 +00:00
Mikhail Glushenkov
8323748329
llvmc2: Documentation update. Describe recent work on plugins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57568 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:29:13 +00:00
Mikhail Glushenkov
a01ab7f381
llvmc2: Some Makefile fixes and renames.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57567 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:28:50 +00:00
Mikhail Glushenkov
a1e6eb8b73
Use (a slightly modified) llvm.css for llvmc2 docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57566 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:27:44 +00:00
Dan Gohman
b8cab9227a
Fix command-line option printing to print two spaces where needed,
...
instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57521 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 20:25:08 +00:00
Devang Patel
7a76ed6774
Fix build failure.
...
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-10 17:57:50 +00:00
Oscar Fuentes
80533040bc
CMake: Reflected changes on source file structure. New plugin support
...
for llvmc2 incomplete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57076 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04 21:18:50 +00:00
Mikhail Glushenkov
3945b7cfce
Rename llvmc2/core to llvmc2/driver.
...
Makefiles try to remove 'core' by default, so it wasn't a very good name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 21:26:27 +00:00
Mikhail Glushenkov
b6cc085134
Rename llvmc2/src to llvmc2/core.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57000 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 10:27:23 +00:00
Mikhail Glushenkov
c32dece5a8
Fix build breakage when objdir!=srcdir (proper fix).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56999 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 10:26:37 +00:00
Mikhail Glushenkov
9d1b696441
Fix build breakage (again) when srcdir != objdir, other small fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56998 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 09:09:34 +00:00
Bill Wendling
a079e2bdf5
Unbreak the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56988 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 00:26:49 +00:00
Mikhail Glushenkov
597f3f8c5d
Fix build breakage.
...
Forgot to include Makefile.plugins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56970 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 22:41:42 +00:00
Mikhail Glushenkov
e4a5ea3130
Build system tweaks to make it more convenient for the plugin authors.
...
Plugins can be now compiled in with a slight Makefile change.
For example, to compile the new Clang driver, use:
cd $LLVMC2_DIR
make TOOLNAME=ccc2 BUILTIN_PLUGINS=Clang
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 21:15:05 +00:00
Bill Wendling
46f7a5ec1a
Avoid name shadowing with E variable defined in for(). This was giving VC++
...
grief.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56961 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 18:39:11 +00:00
Oscar Fuentes
e1ad087fcb
CMake: Builds all targets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56641 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 04:40:32 +00:00
Oscar Fuentes
5f1f2aef7d
CMake: Lists of source files updated. Removed bogus dependency from
...
lib/VMCore/CMakeLists.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56541 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-24 01:58:12 +00:00
Duncan Sands
3ee8fc9649
Rationalize the names of passes that print information:
...
-callgraph => print-callgraph
-callscc => print-callgraph-sccs
-cfgscc => print-cfg-sccs
-externalfnconstants => print-externalfnconstants
-print => print-function
-print-alias-sets (no change)
-print-callgraph => dot-callgraph
-print-cfg => dot-cfg
-print-cfg-only => dot-cfg-only
-print-dom-info (no change)
-printm => print-module
-printusedtypes => print-used-types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56487 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-23 12:47:39 +00:00
Mikhail Glushenkov
14ef05937f
Convert llvmc2 plugins to use llvm/Support/Registry.h machinery.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56467 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:51:19 +00:00
Mikhail Glushenkov
4a1a77c1c9
Move llvmc2 header files under include/llvm/CompilerDriver
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56466 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:50:40 +00:00
Mikhail Glushenkov
c82ce4a8a7
Plugin support for llvmc2 (a-la opt).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56465 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:49:34 +00:00
Mikhail Glushenkov
9ecd30c4a2
Add a 'Debugging' section to the documentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56464 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:48:48 +00:00
Mikhail Glushenkov
0737651452
Make comments a little bit more clear.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56463 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:48:22 +00:00
Mikhail Glushenkov
11a353a206
Get rid of GlobalLanguageMap. Global state is evil.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56462 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:47:46 +00:00
Mikhail Glushenkov
ac69f91e44
Rename our version of ccc to ccc2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56461 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:47:09 +00:00
Mikhail Glushenkov
d92f2e01fc
Fix some comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56460 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:46:44 +00:00
Mikhail Glushenkov
fdee954623
Add a (forward_as) option property
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56459 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:46:19 +00:00
Mikhail Glushenkov
5ccf28f168
Delete the file llvmc2/doc/LLVMC-Enhancements.rst + some minor language/spelling fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56458 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 20:45:17 +00:00
Oscar Fuentes
1d8e4cfdb7
CMake build system: support for parallel builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56453 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 18:21:51 +00:00
Oscar Fuentes
3d01fc7de8
Initial support for the CMake build system.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 01:08:49 +00:00
Duncan Sands
210fada2c6
Turn on the AddReadAttrs pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56345 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-19 14:34:36 +00:00
Duncan Sands
e65d39a42c
Teach -callgraph to always print the callgraph (as the
...
description says it does), not just when -analyze is
used as well. This means printing to stderr, so adjust
some tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56337 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-19 07:57:09 +00:00
Devang Patel
442b1aa94b
Fix comments, help messages.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56282 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17 16:01:39 +00:00
Devang Patel
d9424edf94
Fix cut-n-pasto.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17 00:01:04 +00:00
Devang Patel
2d7551ced2
Add -O1, -O2 and -O3 that matches llvm-gcc's -O1, -O2 and -O3 respectively.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56255 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16 22:25:14 +00:00
Duncan Sands
38197fed5b
End of the GlobalsModRef experiment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56222 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-15 18:42:38 +00:00
Duncan Sands
0e3b7b2f91
Give GlobalsModRef a whirl in the nightly testers.
...
I placed it just before GVN because that it is the
pass most likely to benefit from it. Some quick
and dirty testing confirms that this is a decent
place for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56144 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12 08:23:37 +00:00
Evan Cheng
70f684fcf9
Allow use of ssh to perform remote execution.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09 06:11:26 +00:00
Devang Patel
ff5d06d797
Backout 55429
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55432 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 20:51:49 +00:00
Devang Patel
9d2968c824
Add facility to create a target.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55429 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 20:00:27 +00:00
Chris Lattner
944fac71e0
Switch the asmprinter (.ll) and all the stuff it requires over to
...
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55263 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-23 22:23:09 +00:00
Dan Gohman
ed3e8b4ed2
Don't silently ignore errors when opening output streams.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55120 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 15:33:45 +00:00
Owen Anderson
cb37188323
Use raw_ostream throughout the AsmPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55092 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-21 00:14:44 +00:00
Anton Korobeynikov
2b11004d56
Link GC metadata printers by default to llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54892 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 14:33:01 +00:00
Anton Korobeynikov
3c3bc48d33
Move X86 assembler printers into separate directory. This allows JIT-only users not to link it in (use 'x86codegen' llvm-config arg for this)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54886 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 13:53:59 +00:00
Owen Anderson
3688f268cb
Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-15 21:31:02 +00:00
Evan Cheng
e1a4eda990
Add -fast command line option to lli. It enables fast codegen path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54524 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-08 08:12:06 +00:00
Matthijs Kooijman
bcbd9c43a1
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54158 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-29 08:55:30 +00:00
Devang Patel
9d76c73d9c
Identify llvm bit-code file that is causing linking failure in LTO mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-24 00:34:11 +00:00
Devang Patel
38bcec13e8
Quit early, if unable to reproduce error using original input files.
...
Quit, if unable to fix error when linker input files are all native object files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53935 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-22 22:20:18 +00:00
Devang Patel
8502112419
Remove temp. files in the end.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53930 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-22 20:03:45 +00:00
Bill Wendling
b6f08eb1e6
Remove more tabs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53905 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-22 09:08:05 +00:00
Devang Patel
6e7775f732
Provide llvm bitcode file to native object file interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53886 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21 23:04:39 +00:00
Nick Kledzik
db6535dd20
tentative definitions are default visibility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53780 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-19 00:58:07 +00:00
Devang Patel
5a7fb69ac2
typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53778 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-18 23:47:27 +00:00
Devang Patel
0597667717
If all linker input files are native object files then lto-bugpoint is not useful.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53777 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-18 23:46:41 +00:00
Devang Patel
8e450f07ad
Start writing lto-bugpoint tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53774 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-18 22:59:45 +00:00
Devang Patel
413907000e
Name string length is end position marker - begin position marker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53697 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 19:49:09 +00:00
Devang Patel
c2aec57c63
Do not forget global definitions from inline asm code block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53693 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 18:06:52 +00:00
Devang Patel
f0d286b77f
LinkOnce definitions have default scope, like weak definitions. Otherwise, the linker may not be able to match LinkOnce definition from one module with an exteranl reference from other module.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53580 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-15 00:00:11 +00:00
Evan Cheng
5f2f218825
Goodbye tail duplication (for good this time).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53574 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 22:29:15 +00:00
Dan Gohman
cebf59b4a9
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
2008-07-14 17:43:27 +00:00
Duncan Sands
56eb133095
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53525 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-13 20:14:38 +00:00
Chris Lattner
3dda08ad5d
Fix PR2231 - opt -internalize -std-compile-opts should run internalize first
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53523 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-13 19:35:21 +00:00
Nick Kledzik
920ae9863b
fix dangling pointer and argv off by one errors. Add support for --disable-inlining
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53249 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 21:14:10 +00:00
Owen Anderson
7220b814ed
Global variables beginning with \01 have special meaning on Darwin, so we need to remove
...
the name prefix when we change them from internal to external. This allows bugpointing
of codegen miscompilations to work more reliably on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53236 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 16:38:42 +00:00
Nick Kledzik
82eec45b00
add _lto_codegen_debug_options so that linker can use it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53213 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-07 23:24:06 +00:00
Devang Patel
a93ae711a9
Provide a hook to set the code generation debug options to investigate lto failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-03 22:53:14 +00:00
Owen Anderson
735e6eabf1
Use ADCE instead of just DCE. ADCE will better clean up after jump threading,
...
for instance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-02 18:42:07 +00:00
Devang Patel
ebd69421a2
Rename new lto2 tool as lto.
...
lto2->lto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52912 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 18:15:01 +00:00
Devang Patel
5eabc9d4f6
Remove old LTO interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 18:04:55 +00:00
Devang Patel
687e03b2fa
Move dominator info printer into tool/opt/GraphPrinters.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52907 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 17:32:58 +00:00
Argyrios Kyrtzidis
ca29dffa16
Since we are using GCC to assemble the program, make sure the assembly syntax is AT&T.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52827 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-27 15:08:59 +00:00
Chris Lattner
c4ab7acc0b
jump threading can introduce allocas, make sure we promote
...
them back to registers!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52729 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 16:54:18 +00:00
Chris Lattner
6c31e87d7c
run mem2reg after the second jump threading pass in llvm-ld.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52728 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 16:51:55 +00:00
Chris Lattner
8e336eb04d
remove some dead options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52726 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 16:44:08 +00:00
Duncan Sands
9954c76f2c
Fix some warnings reported by gcc-4.3. Hopefully
...
this still compiles on windows - I can't test!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52488 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-19 08:47:31 +00:00
Bill Wendling
e424254897
Refactor the way to get a string containing the features of the target.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52470 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-18 21:39:02 +00:00
Bill Wendling
604a818463
If compiling for PPC on an i386 box, the LTO wouldn't get the altivec (and
...
other) feature information. The workaround is inelegant and could be cleaned up
if this information were available some other way (say, in the IR).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52447 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-18 06:35:30 +00:00
Argyrios Kyrtzidis
48cca1fd46
Add an "exe" suffix only if the output file has no suffix at all.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-15 15:20:16 +00:00
Argyrios Kyrtzidis
1662183a83
Make sure all produced executable files have "exe" suffix on Windows.
...
With this more general way, -native and -native-cbe options are handled too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-15 13:48:12 +00:00
Argyrios Kyrtzidis
e2bc1cb711
Make sure that the current executable filename has "exe" suffix on Windows.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52286 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-15 12:07:01 +00:00
Argyrios Kyrtzidis
5b90a7296c
Append "exe" suffix to executable files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-15 12:01:16 +00:00
Matthijs Kooijman
ad6996d74f
Let bugpoint display generated messages on stderr only if no interpreter was
...
found, this ensures that messages like "Found gcc" end up on stdout where they
belong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52235 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-12 13:09:43 +00:00
Matthijs Kooijman
fbea227f41
Add -silence-passes option to bugpoint. This option suppresses output generated
...
when bugpoint is running passes in a child process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52234 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-12 13:02:26 +00:00
Mikhail Glushenkov
856e106d20
Make all help strings start in upper case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51788 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 21:14:10 +00:00
Mikhail Glushenkov
74a0c28fba
Fix the -opt switch and add a test case for it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51784 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 19:56:27 +00:00
Mikhail Glushenkov
18aac1c622
Fix indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51782 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 18:53:09 +00:00
Mikhail Glushenkov
7ef36069c8
Add a --dry-run option to llvmc2. Patch by Holger Schurig.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51781 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 18:48:52 +00:00
Mikhail Glushenkov
7329610dfa
Add a --save-temps option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51760 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:29:17 +00:00
Mikhail Glushenkov
a7d0ae34fb
Add a check for side effect-free options (specified only in the OptionList).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51759 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:28:37 +00:00
Mikhail Glushenkov
0ab8ac318f
Documentation update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51758 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:28:00 +00:00
Mikhail Glushenkov
ed3ba406c7
Show argv[0] in error messages (like gcc).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51755 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:26:35 +00:00
Mikhail Glushenkov
e43228958c
New feature: OptionList.
...
It can be handy to have all information about options gathered in a single place
to provide an overview of all supported options. This patch allows the following:
def Options : OptionList<[
(switch_option "E", (help "Help string")),
(alias_option "quiet", "q")
...
]>;
Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in
this context, so the only properties that are allowed are 'help' and 'required'.
See usage example in examples/Clang.td.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51754 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:26:08 +00:00
Mikhail Glushenkov
270cae3bf8
Documentation update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51753 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:25:24 +00:00
Mikhail Glushenkov
5fe8475e3a
A small optimization: use static char* array instead of StrVector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51752 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:24:49 +00:00
Mikhail Glushenkov
92b8da75a1
Make it possible to test if the '-o' option is provided.
...
The following is now allowed:
(case (not_empty "o"), do_something, ...)
This didn't work previously because "-o" is built-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:24:07 +00:00
Mikhail Glushenkov
6be4ffc7c3
Add support for option aliases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51749 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:22:52 +00:00
Mikhail Glushenkov
fb37f39111
Fix some headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51745 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:20:54 +00:00
Mikhail Glushenkov
2e73e851d8
New tests for the 'case' expression: not_empty, in_language.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:19:52 +00:00
Mikhail Glushenkov
ef4160dff0
-E should print to stdout.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:18:50 +00:00
Mikhail Glushenkov
ffcf3a1a69
Make it possible to have multiple input languages for a single tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51742 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:18:16 +00:00
Mikhail Glushenkov
aa3bb17fcc
Rename StringVector to StrVector (to be consistent with LLVMCConfigurationEmitter.cpp).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51741 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:17:29 +00:00
Mikhail Glushenkov
35bca4116e
Minor error message fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:16:59 +00:00
Mikhail Glushenkov
163dc1eaa8
Documentation and examples improvements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51739 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:16:32 +00:00
Mikhail Glushenkov
37f509a70c
Do not generate empty 'if's for the output_suffix property.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51737 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:15:20 +00:00
Mikhail Glushenkov
cd0858e170
Update documentation, add examples.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51736 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:14:42 +00:00
Mikhail Glushenkov
1e4bab2c02
Rename LLVMC-Tutorial.rst to LLVMC-Reference.rst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51735 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:14:01 +00:00
Mikhail Glushenkov
5c7578de08
Make it possible to change the output file suffix based on command-line options.
...
For instance, the following command:
llvmc2 -E hello.c
now generates a file with the correct suffix (hello.i).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51733 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:13:02 +00:00
Mikhail Glushenkov
08bd2e74dc
Add support for user-provided hooks and environment variable reads to the cmd_line tool property.
...
Used like this: (cmd_line "$CALL(MyHook) --option -o $ENV(VARIABLE) $CALL(AnotherHook)")
Also works with case expressions.
Hook declarations are auto-generated, the definitions should be provided by the user
(just drop a .cpp file in the tools/llvmc2 directory).
Hooks should live in the "hooks" namespace and have type std::string hooks::Hook(void).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51732 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:12:24 +00:00
Mikhail Glushenkov
4eaa389519
Enable the response file ('llvmc @file') support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51731 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:11:45 +00:00
Mikhail Glushenkov
706aecf98e
Update the code to the fact that StringSet now lives in llvm/ADT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51730 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:11:18 +00:00
Mikhail Glushenkov
b5ccfbf0a9
Make it possible to use the generalised 'case' construct in the cmd_line property.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51728 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:10:19 +00:00
Mikhail Glushenkov
e5557f4da4
Add a generalised 'case' construct.
...
Besides assigning edge weights, it will also be used by the cmd_line tool property.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51727 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:08:50 +00:00
Nick Kledzik
baa154330e
remove the StripSymbolsPass. This should not be done by default in libLTO.dylib. The linker will remove the symbol names if needed after LTO is done
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51722 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 00:59:13 +00:00
Anton Korobeynikov
43d1fd449f
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51687 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 17:41:17 +00:00
Owen Anderson
c5b271072e
Re-enable the newly simplified ADCE. This fixes a regression on
...
Dhrystone introduced by its removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51669 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 08:48:21 +00:00
Nick Kledzik
ed185d6e96
use space insted of tabs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51623 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 00:06:14 +00:00
Nick Kledzik
9178a65263
fix infinite recursion if a global's initializer references the global
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51617 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 22:07:08 +00:00
Devang Patel
3b75d20c1a
Add instcombine after global optimizations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51611 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 20:42:44 +00:00
Devang Patel
00481ed5db
Use IPSCCPPass instead of IPConstantPropagationPass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51605 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 20:18:45 +00:00
Owen Anderson
9e2abd3840
Remove ADCE from the optimization pipeline.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51581 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 04:27:27 +00:00
Dan Gohman
ee335e35ac
Add #includes to make some dependencies explicit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51496 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 20:40:06 +00:00
Dale Johannesen
ed1ec3aa6b
Make LTO expect common and weak to be represented differently.
...
Reading .bc files from before that change will no longer work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51457 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 00:15:10 +00:00
Evan Cheng
03dace82f4
Rename -no-lazy to -disable-lazy-compilation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51386 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-21 18:20:21 +00:00
Dale Johannesen
6a6f2dda36
Add CommonLinkage, in a way that preserves the
...
behavior on old .bc files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16 22:46:40 +00:00
Dale Johannesen
7d5633e907
Add CommonLinkage to lto (treated same as weak AFAICT)
...
and llvm-nm (prints as C).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51209 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16 22:44:18 +00:00
Evan Cheng
df0457241d
Re-enable tail duplication pass (now with default threshold down to 1 instruction).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51184 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16 07:57:10 +00:00
Gabor Greif
b1dbcd886a
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
2008-05-15 10:04:30 +00:00
Evan Cheng
38503d4046
Remove tail duplication pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51139 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15 07:43:15 +00:00
Devang Patel
8ffe2e2156
Recover nestedloop regression reported by nightly tester.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 18:04:30 +00:00
Devang Patel
81a1d08cb7
Do not run instruction combiner in middle of loop optimization passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51084 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 00:26:11 +00:00
Mikhail Glushenkov
5c98d824f6
Filter option names to escape symbols not allowed as C++ identifiers.
...
Makes it possible to use options with names like "Wa,".
Also fixes the -Wall option handling as a side-effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50973 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 16:33:06 +00:00
Mikhail Glushenkov
ecb977e64f
Make it possible to choose between different compilation graph definitions at compile-time.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 16:32:24 +00:00
Mikhail Glushenkov
a673037097
Fix some error messages; Make LLVMC pass through the exit code of a failed tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50971 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 16:31:42 +00:00
Owen Anderson
4982babf4a
Re-enable loop deletion by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-10 07:10:24 +00:00
Mikhail Glushenkov
910fd57533
Rename Example.td to Graph.td.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50910 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09 19:11:28 +00:00
Nick Kledzik
6b89d928ed
use doxygen comments for makeBuffer()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50908 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09 18:44:41 +00:00
Mikhail Glushenkov
8e7254cd44
Reapply 50867: A small refactoring (extract method) + some comment fixes.
...
Fixed the build breakage, sorry for that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50895 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09 08:27:26 +00:00
Nick Kledzik
90dcff7190
<rdar://problem/5917641> use getMemBufferCopy if supplied buffer is not already zero terminated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-09 01:09:59 +00:00
Tanya Lattner
0561f78a14
Revertin 50867 since it was breaking the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50871 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 21:54:20 +00:00
Mikhail Glushenkov
194a78f149
Add -E and -S options
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50868 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 20:02:36 +00:00
Mikhail Glushenkov
21607fa63c
A small refactoring (extract method) + some comment fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 20:02:03 +00:00
Mikhail Glushenkov
4561ab5d81
Use Doxygen-style comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50833 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-07 21:50:19 +00:00
Owen Anderson
77a895e599
Disable loop deletion until the release branch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50787 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 23:56:34 +00:00
Mikhail Glushenkov
e0ff9ae91e
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50766 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:18:58 +00:00
Mikhail Glushenkov
29063554d0
Add new edge property combinator: weight.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50765 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:18:20 +00:00
Mikhail Glushenkov
6a6cd729aa
Add a help string for the -c option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50764 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:17:42 +00:00
Mikhail Glushenkov
77ddce97ad
Update documentation to reflect the current state of affairs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50763 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:17:19 +00:00
Mikhail Glushenkov
be86712de8
Some cosmetic changes (change some comments, move code around a bit).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50762 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:16:52 +00:00
Mikhail Glushenkov
4c11a62d69
Refactoring: split the function CompilationGraph::Build() into two parts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50760 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:15:35 +00:00
Mikhail Glushenkov
76b1b24dc8
Use edge weights to choose the right linker based on input language names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50759 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:15:12 +00:00
Mikhail Glushenkov
bb8b58dcf3
Add weights to graph edges. Choose between edges based on their weight.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50757 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:14:24 +00:00
Mikhail Glushenkov
d83038c960
Remove the UnpackValues() function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50756 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:13:45 +00:00
Mikhail Glushenkov
978d498e40
Add a --linker command-line option, make all tests pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50755 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:13:00 +00:00
Mikhail Glushenkov
895820da24
Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50754 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:12:03 +00:00
Mikhail Glushenkov
87416b4cea
Add -x option (like in gcc).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50750 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:10:53 +00:00
Mikhail Glushenkov
35a85e8453
Take object file as input and handle files with the same name correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50749 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:10:20 +00:00
Mikhail Glushenkov
be9d9a153f
Add output redirection, rename namespace llvmcc to namespace llvmc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50746 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:08:59 +00:00
Mikhail Glushenkov
f7bab8c743
Make AutoGenerated.inc depend also on Tools.td and Common.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50745 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:08:12 +00:00
Mikhail Glushenkov
3d688228f6
Utilize topological sort in CompilationGraph::Build().
...
This makes more interesting graph topologies possible. Currently all tests pass,
but more testing is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:07:48 +00:00
Mikhail Glushenkov
0260658079
Add TopologicalSort method to CompilationGraph.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:07:14 +00:00
Mikhail Glushenkov
d7bb87a5a3
Do not require positional arguments when we're only printing out the graph.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50742 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:44:16 +00:00
Mikhail Glushenkov
4f6e3a497e
Make ChooseEdge more generic and use it to choose between different toolchains.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50741 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:28:03 +00:00
Mikhail Glushenkov
bbbc9d4384
Remove unnecessary argument from PassThroughGraph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:27:37 +00:00
Mikhail Glushenkov
c74bfc946d
Add inward edge counters to Nodes; Associate JoinLists with JoinTools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50738 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:26:53 +00:00
Mikhail Glushenkov
97fda6d915
Enhancements for --view-graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50737 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:26:14 +00:00
Mikhail Glushenkov
2ba4c5abab
Split the Build function into two parts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50736 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:25:51 +00:00
Mikhail Glushenkov
d81887841c
Make llvmc return 1 when the compilation fails.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50735 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:25:23 +00:00
Mikhail Glushenkov
b96cb60827
Return const char* instead of std::string in Tool classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50733 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:24:26 +00:00
Mikhail Glushenkov
6591c8938c
Add an ability to choose between different edges based on edge properties.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50732 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:23:50 +00:00
Mikhail Glushenkov
64683edb4d
Add new edge properties: parameter_equals, element_in_list, and.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50730 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:22:47 +00:00
Mikhail Glushenkov
581936a99c
Implemented switch_on edge property.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50729 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 17:22:03 +00:00