Commit Graph

2270 Commits

Author SHA1 Message Date
Oscar Fuentes
4588307b06 CMake: llvmc2 is now known as llvmc.
llvm-svn: 60052
2008-11-25 22:18:49 +00:00
Mikhail Glushenkov
89bfeb825b Since the old llvmc was removed, rename llvmc2 to llvmc.
llvm-svn: 60048
2008-11-25 21:38:12 +00:00
Mikhail Glushenkov
4877183f90 docs: Add author info + fix incorrect code example.
llvm-svn: 60046
2008-11-25 21:34:53 +00:00
Mikhail Glushenkov
a1314465ee Small documentation update.
llvm-svn: 60045
2008-11-25 21:34:29 +00:00
Mikhail Glushenkov
3a0ef826d3 Document the plugin priority feature.
llvm-svn: 60044
2008-11-25 21:34:01 +00:00
Andrew Lenharth
54748faa8a ignore the -m elf_i386 directive used in the linux kernel
llvm-svn: 59642
2008-11-19 17:00:08 +00:00
Mikhail Glushenkov
0c4ad9c7cc Support dependencies between plugins by priority-sorting.
llvm-svn: 59449
2008-11-17 17:30:25 +00:00
Mikhail Glushenkov
773924299a 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.

llvm-svn: 59447
2008-11-17 17:29:18 +00:00
Oscar Fuentes
bc0f4b6c9a CMake: Removed some cruft.
llvm-svn: 59376
2008-11-15 20:51:18 +00:00
Oscar Fuentes
d7820a0c15 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.

llvm-svn: 59374
2008-11-15 20:35:25 +00:00
Oscar Fuentes
c036da8d8e CMake: Remove unused tablegenning code from tools/llvmc2/driver.
llvm-svn: 59333
2008-11-14 23:59:50 +00:00
Daniel Dunbar
a830cb14f3 Add Binary flag to raw_fd_ostream constructor.
Document raw_fd_ostream's treatment of "-".

llvm-svn: 59219
2008-11-13 05:01:07 +00:00
Mikhail Glushenkov
bb1a81c8e7 Some cosmetic changes.
llvm-svn: 59096
2008-11-12 00:04:46 +00:00
Devang Patel
b3ecdedbe0 Remove incomplete lto-bugpoint tool. If there is an interest then we can resurrect this tool later on and finish implementation.
llvm-svn: 59071
2008-11-11 19:35:38 +00:00
Oscar Fuentes
eb7ea841e0 CMake: forces rebuild of llvm-config's library dependency info when a
library is added or changed.

llvm-svn: 59051
2008-11-11 17:10:58 +00:00
Oscar Fuentes
7f47a65445 CMake: Corrected detection of `nm'.
llvm-svn: 58941
2008-11-09 20:26:31 +00:00
Oscar Fuentes
bb9c221f2a 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.

llvm-svn: 58939
2008-11-09 18:53:19 +00:00
Daniel Dunbar
a525d7b3f6 Add LLVMC2 tool definitions for Objective-C and Objective-C++.
llvm-svn: 58885
2008-11-08 03:25:47 +00:00
Nick Lewycky
b75c0781c3 Update to add newer bitcodes.
llvm-svn: 58852
2008-11-07 14:52:51 +00:00
Evan Cheng
c0a36d4aef Add command line option -entry-funcion to override entry function (default is main).
llvm-svn: 58779
2008-11-05 23:21:52 +00:00
Devang Patel
bc0cbd20b0 On darwin, 32-bit x86 target is i386-apple-darwin...
llvm-svn: 58731
2008-11-04 23:13:50 +00:00
Nuno Lopes
a5d766c285 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

llvm-svn: 58730
2008-11-04 23:03:58 +00:00
Tanya Lattner
2c01b34040 Revert 58687. This breaks mingw.
llvm-svn: 58719
2008-11-04 21:06:11 +00:00
Nick Lewycky
1fc44bd56f 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!

llvm-svn: 58687
2008-11-04 08:05:21 +00:00
Oscar Fuentes
582a9fcc48 CMakeLists: removed asmprinter component from
tools/llc/CMakeLists.txt.

llvm-svn: 58678
2008-11-04 03:28:37 +00:00
Oscar Fuentes
c2a8e16a50 CMake: Removed some cruft.
llvm-svn: 58358
2008-10-29 02:33:15 +00:00
Nick Lewycky
6288e2288d 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.

llvm-svn: 58221
2008-10-26 23:59:36 +00:00
Oscar Fuentes
1fcfb67930 CMake: If we have clang' under the tools/' subdirectory, add it to
the build.

llvm-svn: 58179
2008-10-26 00:52:09 +00:00
Oscar Fuentes
a96ce230e0 CMake: GetTargetTriple: new module for determining the target
triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.

llvm-svn: 58176
2008-10-26 00:47:52 +00:00
Daniel Dunbar
d1169ccaf2 Move Print*Pass to use raw_ostream.
llvm-svn: 57946
2008-10-22 03:25:22 +00:00
Oscar Fuentes
916a2ebaf8 CMake: `make install' for libraries, executables and header files.
llvm-svn: 57945
2008-10-22 02:56:07 +00:00
Daniel Dunbar
919ce3c16a Privatize PrintModulePass and PrintFunctionPass and add
createPrintModulePass and createPrintFunctionPass.
 - So clients who compile w/o RTTI can use them.

llvm-svn: 57933
2008-10-21 23:33:38 +00:00
Mikhail Glushenkov
6e23483516 Re-apply Makefile changes. Fix build with srcdir != objdir.
llvm-svn: 57636
2008-10-16 14:02:29 +00:00
Bill Wendling
3106c13251 Unbreak the build. Please test out the proper fix for this by compiling LLVM
with the build directory different from the source directory.

llvm-svn: 57583
2008-10-15 16:20:13 +00:00
Anton Korobeynikov
981c5cde30 Temporary revert r57567 and unbreak the build.
llvm-svn: 57578
2008-10-15 14:22:06 +00:00
Mikhail Glushenkov
97de12e4ec llvmc2: Documentation update. Describe recent work on plugins.
llvm-svn: 57568
2008-10-15 09:29:13 +00:00
Mikhail Glushenkov
3f10dec376 llvmc2: Some Makefile fixes and renames.
llvm-svn: 57567
2008-10-15 09:28:50 +00:00
Mikhail Glushenkov
3d1c799d72 Use (a slightly modified) llvm.css for llvmc2 docs.
llvm-svn: 57566
2008-10-15 09:27:44 +00:00
Dan Gohman
9543edc4ef 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.

llvm-svn: 57521
2008-10-14 20:25:08 +00:00
Devang Patel
603ec27196 Fix build failure.
Patch by Erick Tryzelaar.

llvm-svn: 57355
2008-10-10 17:57:50 +00:00
Oscar Fuentes
4bf1c53073 CMake: Reflected changes on source file structure. New plugin support
for llvmc2 incomplete.

llvm-svn: 57076
2008-10-04 21:18:50 +00:00
Mikhail Glushenkov
5a48228794 Rename llvmc2/core to llvmc2/driver.
Makefiles try to remove 'core' by default, so it wasn't a very good name.

llvm-svn: 57031
2008-10-03 21:26:27 +00:00
Mikhail Glushenkov
733e709a06 Rename llvmc2/src to llvmc2/core.
llvm-svn: 57000
2008-10-03 10:27:23 +00:00
Mikhail Glushenkov
b68c72d987 Fix build breakage when objdir!=srcdir (proper fix).
llvm-svn: 56999
2008-10-03 10:26:37 +00:00
Mikhail Glushenkov
e7dbeecd74 Fix build breakage (again) when srcdir != objdir, other small fixes.
llvm-svn: 56998
2008-10-03 09:09:34 +00:00
Bill Wendling
5b82095bcd Unbreak the build.
llvm-svn: 56988
2008-10-03 00:26:49 +00:00
Mikhail Glushenkov
acf37039b0 Fix build breakage.
Forgot to include Makefile.plugins.

llvm-svn: 56970
2008-10-02 22:41:42 +00:00
Mikhail Glushenkov
016196513e 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

llvm-svn: 56967
2008-10-02 21:15:05 +00:00
Bill Wendling
7434efae89 Avoid name shadowing with E variable defined in for(). This was giving VC++
grief.

llvm-svn: 56961
2008-10-02 18:39:11 +00:00
Oscar Fuentes
65859a84d0 CMake: Builds all targets.
llvm-svn: 56641
2008-09-26 04:40:32 +00:00
Oscar Fuentes
4e4ae7ef78 CMake: Lists of source files updated. Removed bogus dependency from
lib/VMCore/CMakeLists.txt

llvm-svn: 56541
2008-09-24 01:58:12 +00:00
Duncan Sands
2c9f6ab06d 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

llvm-svn: 56487
2008-09-23 12:47:39 +00:00
Mikhail Glushenkov
b34f7a3c40 Convert llvmc2 plugins to use llvm/Support/Registry.h machinery.
llvm-svn: 56467
2008-09-22 20:51:19 +00:00
Mikhail Glushenkov
cf04ed88af Move llvmc2 header files under include/llvm/CompilerDriver
llvm-svn: 56466
2008-09-22 20:50:40 +00:00
Mikhail Glushenkov
3895eee874 Plugin support for llvmc2 (a-la opt).
llvm-svn: 56465
2008-09-22 20:49:34 +00:00
Mikhail Glushenkov
9526cb9083 Add a 'Debugging' section to the documentation.
llvm-svn: 56464
2008-09-22 20:48:48 +00:00
Mikhail Glushenkov
e412a69526 Make comments a little bit more clear.
llvm-svn: 56463
2008-09-22 20:48:22 +00:00
Mikhail Glushenkov
72e4c4e976 Get rid of GlobalLanguageMap. Global state is evil.
llvm-svn: 56462
2008-09-22 20:47:46 +00:00
Mikhail Glushenkov
0bc434886d Rename our version of ccc to ccc2
llvm-svn: 56461
2008-09-22 20:47:09 +00:00
Mikhail Glushenkov
efc58306e4 Fix some comments
llvm-svn: 56460
2008-09-22 20:46:44 +00:00
Mikhail Glushenkov
7afbd753b7 Add a (forward_as) option property
llvm-svn: 56459
2008-09-22 20:46:19 +00:00
Mikhail Glushenkov
54297e6546 Delete the file llvmc2/doc/LLVMC-Enhancements.rst + some minor language/spelling fixes.
llvm-svn: 56458
2008-09-22 20:45:17 +00:00
Oscar Fuentes
e51d9c0c3a CMake build system: support for parallel builds.
llvm-svn: 56453
2008-09-22 18:21:51 +00:00
Oscar Fuentes
0f25988689 Initial support for the CMake build system.
llvm-svn: 56419
2008-09-22 01:08:49 +00:00
Duncan Sands
317cef874d Turn on the AddReadAttrs pass.
llvm-svn: 56345
2008-09-19 14:34:36 +00:00
Duncan Sands
aaa27f4261 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.

llvm-svn: 56337
2008-09-19 07:57:09 +00:00
Devang Patel
f08b10b15d Fix comments, help messages.
llvm-svn: 56282
2008-09-17 16:01:39 +00:00
Devang Patel
65b85f3049 Fix cut-n-pasto.
llvm-svn: 56265
2008-09-17 00:01:04 +00:00
Devang Patel
e2702c8994 Add -O1, -O2 and -O3 that matches llvm-gcc's -O1, -O2 and -O3 respectively.
llvm-svn: 56255
2008-09-16 22:25:14 +00:00
Duncan Sands
1f456b0b4a End of the GlobalsModRef experiment.
llvm-svn: 56222
2008-09-15 18:42:38 +00:00
Duncan Sands
05a3e3ea40 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.

llvm-svn: 56144
2008-09-12 08:23:37 +00:00
Evan Cheng
d57bce51ca Allow use of ssh to perform remote execution.
llvm-svn: 55979
2008-09-09 06:11:26 +00:00
Devang Patel
c4040a69b7 Backout 55429
llvm-svn: 55432
2008-08-27 20:51:49 +00:00
Devang Patel
369cc38542 Add facility to create a target.
llvm-svn: 55429
2008-08-27 20:00:27 +00:00
Chris Lattner
fe3155fc62 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.

llvm-svn: 55263
2008-08-23 22:23:09 +00:00
Dan Gohman
e5a492f261 Don't silently ignore errors when opening output streams.
llvm-svn: 55120
2008-08-21 15:33:45 +00:00
Owen Anderson
2c1d54952b Use raw_ostream throughout the AsmPrinter.
llvm-svn: 55092
2008-08-21 00:14:44 +00:00
Anton Korobeynikov
dd94221bda Link GC metadata printers by default to llc
llvm-svn: 54892
2008-08-17 14:33:01 +00:00
Anton Korobeynikov
c2606f65c7 Move X86 assembler printers into separate directory. This allows JIT-only users not to link it in (use 'x86codegen' llvm-config arg for this)
llvm-svn: 54886
2008-08-17 13:53:59 +00:00
Owen Anderson
13498aa150 Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away.
llvm-svn: 54822
2008-08-15 21:31:02 +00:00
Evan Cheng
1cc01afa14 Add -fast command line option to lli. It enables fast codegen path.
llvm-svn: 54524
2008-08-08 08:12:06 +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
Devang Patel
89a4804599 Identify llvm bit-code file that is causing linking failure in LTO mode.
llvm-svn: 53972
2008-07-24 00:34:11 +00:00
Devang Patel
f48125000e 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.

llvm-svn: 53935
2008-07-22 22:20:18 +00:00
Devang Patel
9fe33297d0 Remove temp. files in the end.
llvm-svn: 53930
2008-07-22 20:03:45 +00:00
Bill Wendling
d657157149 Remove more tabs.
llvm-svn: 53905
2008-07-22 09:08:05 +00:00
Devang Patel
0e9a854b14 Provide llvm bitcode file to native object file interface.
llvm-svn: 53886
2008-07-21 23:04:39 +00:00
Nick Kledzik
627baa1eea tentative definitions are default visibility
llvm-svn: 53780
2008-07-19 00:58:07 +00:00
Devang Patel
e40c53a846 typo.
llvm-svn: 53778
2008-07-18 23:47:27 +00:00
Devang Patel
9405778796 If all linker input files are native object files then lto-bugpoint is not useful.
llvm-svn: 53777
2008-07-18 23:46:41 +00:00
Devang Patel
c85cc2183a Start writing lto-bugpoint tool.
llvm-svn: 53774
2008-07-18 22:59:45 +00:00
Devang Patel
8927d00a25 Name string length is end position marker - begin position marker.
llvm-svn: 53697
2008-07-16 19:49:09 +00:00
Devang Patel
e1c10d31ec Do not forget global definitions from inline asm code block.
llvm-svn: 53693
2008-07-16 18:06:52 +00:00
Devang Patel
da53eaaea8 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.
llvm-svn: 53580
2008-07-15 00:00:11 +00:00
Evan Cheng
91029f36ff Goodbye tail duplication (for good this time).
llvm-svn: 53574
2008-07-14 22:29:15 +00:00
Dan Gohman
5115e43548 Reformat this message to fit in 80 cols.
llvm-svn: 53561
2008-07-14 17:43:27 +00:00
Duncan Sands
2513505573 Fix comment.
llvm-svn: 53525
2008-07-13 20:14:38 +00:00
Chris Lattner
540afcff82 Fix PR2231 - opt -internalize -std-compile-opts should run internalize first
llvm-svn: 53523
2008-07-13 19:35:21 +00:00
Nick Kledzik
59b22302bb fix dangling pointer and argv off by one errors. Add support for --disable-inlining
llvm-svn: 53249
2008-07-08 21:14:10 +00:00
Owen Anderson
1aebb33c1d 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.

llvm-svn: 53236
2008-07-08 16:38:42 +00:00