Commit Graph

3240 Commits

Author SHA1 Message Date
Dan Gohman 174f57668f Avoid calling outs() and fouts() when the stream isn't really needed.
llvm-svn: 104873
2010-05-27 19:47:36 +00:00
Duncan Sands e9cd6d069d Apply timeouts and memory limits in more places. In particular, when
bugpoint does "Running the code generator to test for a crash" this
gets you a crash if llc goes into an infinite loop or uses up vast
amounts of memory.

llvm-svn: 104485
2010-05-24 07:49:55 +00:00
Daniel Dunbar 3ff1a06de6 MC: Add an MCLoggingStreamer, for use in debugging integrated-as mismatches.
llvm-svn: 104463
2010-05-23 17:44:06 +00:00
Matt Fleming 638cdb2db1 Currently, createMachOStreamer() is invoked directly in llvm-mc which
isn't ideal if we want to be able to use another object file format.

Add a createObjectStreamer() factory method so that the correct object
file streamer can be instantiated for a given target triple.

llvm-svn: 104318
2010-05-21 12:54:43 +00:00
Daniel Dunbar e85262d651 Remove dead option.
llvm-svn: 104303
2010-05-21 00:27:55 +00:00
Rafael Espindola 0af6889b89 Avoid renaming loadable modules at install time. Now the gold plugin is named
LLVMgold.so both in both the build and install directories.

llvm-svn: 103897
2010-05-16 03:13:23 +00:00
Dan Gohman 8d1bc79327 Use regular PassManager instead of FunctionPassManager in opt, since it
isn't doing lazy streaming. This also fixes a missing doFinalization call.

llvm-svn: 103774
2010-05-14 15:36:54 +00:00
Jakob Stoklund Olesen 3e0ddc000c Fix complete badness in bugpoint's IsARMArchitecture() function.
The revision history for this function is interesting, with multiple layers of
wrongness being introduced one at a time.

This fixes a weird issue where bugpoint -run-llc would suddenly exit 13 half way
through isolating a miscompilation.

llvm-svn: 103721
2010-05-13 17:58:15 +00:00
Rafael Espindola ba3398bb1a Add an also-emit-llvm option to the gold plugin.
llvm-svn: 103714
2010-05-13 13:39:31 +00:00
Jeffrey Yasskin e476fa0b8e Fix PR6951 by fixing Module leaks in bugpoint.
llvm-svn: 103523
2010-05-11 23:25:16 +00:00
Dan Gohman 4cfccb801c Remove the "WantsWholeFile" concept, as it's no longer needed. CBE
and the others use the regular addPassesToEmitFile hook now, and
llc no longer needs a bunch of redundant code to handle the
whole-file case.

llvm-svn: 103492
2010-05-11 19:57:55 +00:00
Sean Callanan d7f09c7851 Extended the edis "IsBranch" property to call
instructions as well.  Added support for checking
this to the llvm-mc tester as well.

llvm-svn: 103454
2010-05-11 01:27:08 +00:00
Bill Wendling a12c1ff25a The getDefaultSubtargetFeatures method of SubtargetFeature did actually return a
string of features for that target. However LTO was using that string to pass
into the "create target machine" stuff. That stuff needed the feature string to
be in a particular form. In particular, it needed the CPU specified first and
then the attributes. If there isn't a CPU specified, it required it to be blank
-- e.g., ",+altivec". Yuck.

Modify the getDefaultSubtargetFeatures method to be a non-static member
function. For all attributes for a specific subtarget, it will add them in like
normal. It will also take a CPU string so that it can satisfy this horrible
syntax.

llvm-svn: 103451
2010-05-11 00:30:02 +00:00
Kalle Raiskila 6be5829925 Add command line option --gcc to bugpoint.
Remove sending duplicate of the --gcc-tool-args parameters to gcc.

llvm-svn: 103397
2010-05-10 07:38:37 +00:00
Chris Lattner b87e3fee0f don't pass -f to llc, it doesn't have it anymore. Patch by Kevin Fan (PR7090)
llvm-svn: 103263
2010-05-07 16:27:04 +00:00
Chris Lattner b903a15807 make -filetype=obj default to emitting its output to foo.obj
when on windows instead of foo.o.  Patch by Nathan Jeffords!

llvm-svn: 103150
2010-05-06 00:54:20 +00:00
Sean Callanan 4cd930f417 Fixed a sign-extension bug in the X86 disassembler
that was causing PC-relative branch targets to be
evaluated incorrectly.  Also added support for
checking operand values to the llvm-mc tester.

llvm-svn: 103128
2010-05-05 22:47:27 +00:00
Duncan Sands 211427bda9 Remove the -enable-sjlj-eh option, which doesn't do anything.
Remove the -enable-eh option which is only used by the JIT,
and replace it with -jit-enable-eh.

llvm-svn: 102865
2010-05-02 15:36:26 +00:00
Nick Lewycky 83e3060f08 The llc -f flag was removed.
llvm-svn: 102670
2010-04-29 23:37:44 +00:00
Dan Gohman 0cc5629f4e llc no longer requires the -f option to overwrite files.
llvm-svn: 102651
2010-04-29 18:46:52 +00:00
Daniel Dunbar c1626e3317 Remove dead option.
llvm-svn: 102621
2010-04-29 16:29:02 +00:00
Bill Wendling 633c48ec1d r98363 deleted a '!' when cleaning up whitespace. This caused globals which are
*not* declarations to *not* be placed in the "preserve" list.
<rdar://problem/7870735>

llvm-svn: 102405
2010-04-27 00:55:25 +00:00
Sean Callanan 75d986935e Fixed edis to tokenize instructions with no
operands correctly.

llvm-svn: 102227
2010-04-24 01:00:16 +00:00
Sean Callanan 85d70594f0 Fixes to edis that mark x86 call targets as
memory operands rather than immediate operands.

llvm-svn: 102217
2010-04-23 22:17:17 +00:00
Sean Callanan 62232d90cf Fixed EDOperand to use the operand type, not the
flags, to determine whether or not the operand is
a memory operand.

llvm-svn: 102158
2010-04-23 01:56:36 +00:00
Mikhail Glushenkov 9cfb7051b6 Support .a files directly (without -l).
llvm-svn: 101789
2010-04-19 17:25:38 +00:00
Dan Gohman 7a0fde90f5 Fix more -Wcast-qual warnings.
llvm-svn: 101656
2010-04-17 17:44:03 +00:00
Chris Lattner 4422d31b84 introduce a new CallGraphSCC class, and pass it around
to CallGraphSCCPass's instead of passing around a
std::vector<CallGraphNode*>.  No functionality change,
but now we have a much tidier interface.

llvm-svn: 101558
2010-04-16 22:42:17 +00:00
Nick Lewycky bb2ec7de9c Revert r64616 which worked around http://gcc.gnu.org/PR42757 , we just didn't
know it at the time.

llvm-svn: 101439
2010-04-16 04:32:20 +00:00
Dan Gohman 0977358509 Create an exports file, so that the plugin only exports the onload symbol.
llvm-svn: 101431
2010-04-16 00:43:25 +00:00
Dan Gohman ebb4ae0912 Make things static that don't need to be referenced from outside the file.
llvm-svn: 101430
2010-04-16 00:42:57 +00:00
Dan Gohman ff9ecb2824 Make the export files absolute paths, and change Makefile.rules
to expect them this way, to fix srcdir!=objdir builds.

llvm-svn: 101414
2010-04-15 23:08:00 +00:00
Dan Gohman 473a53f7b1 Generalize the EXPORTED_SYMBOL_FILE concept in the Makefiles to work with
native linking export files, including running sed to prepend underscores
on darwin, and make use of it in libLTO and libEnhancedDisassembly.

Remove the leading underscores from library export files so that they
work with the new EXPORTED_SYMBOL_FILE support.

llvm-svn: 101399
2010-04-15 20:54:25 +00:00
Benjamin Kramer a944a9a902 Simplify ".bc" detection.
llvm-svn: 101365
2010-04-15 11:33:14 +00:00
Daniel Dunbar f43481df34 Remove unnecessary uses of <iostream>.
llvm-svn: 101338
2010-04-15 03:47:24 +00:00
Chris Lattner 2df4fa5bc8 fix a crash on "lli ex" or any other file whose name is exactly two
characters long.

llvm-svn: 101336
2010-04-15 03:32:19 +00:00
Nick Lewycky 80ee5e299c Don't forget cmake!
llvm-svn: 101234
2010-04-14 05:35:20 +00:00
Nick Lewycky c37b45bd2d Remove accidentally committed cruft.
llvm-svn: 101230
2010-04-14 04:46:11 +00:00
Nick Lewycky 7c167954e2 Bugpoint no longer uses exceptions.
llvm-svn: 101228
2010-04-14 04:40:31 +00:00
Douglas Gregor 9078f954bf Unbreak CMake build by improving the EnhancedDisassembly makefile a
bit (we're not trying to build a shared library yet) and generating
the X86GenEDInfo.inc and ARMGenEDInfo.inc files as necessary.

llvm-svn: 101188
2010-04-13 22:47:43 +00:00
Sean Callanan 814e69b171 Fixed a nasty layering violation in the edis source
code.  It used to #include the enhanced disassembly
information for the targets it supported straight
out of lib/Target/{X86,ARM,...} but now it uses a
new interface provided by MCDisassembler, and (so
far) implemented by X86 and ARM.

Also removed hacky #define-controlled initialization
of targets in edis.  If clients only want edis to
initialize a limited set of targets, they can set
--enable-targets on the configure command line.

llvm-svn: 101179
2010-04-13 21:21:57 +00:00
Ted Kremenek 8af6f765f5 Add CMake support for 'edis'.
llvm-svn: 101177
2010-04-13 20:52:50 +00:00
Chris Lattner 6b2b064d7a Make the disassembler respect the assembler dialect when printing instructions,
patch by Marius Wachtler!

llvm-svn: 101160
2010-04-13 18:41:17 +00:00
Sean Callanan d75c8a0813 Build system fix to make llvm-mc properly build
after edis.  Really, there ought to be some
mechanism to ensure that PARALLEL_DIRS get built
after DIRS.

llvm-svn: 101095
2010-04-12 23:55:28 +00:00
Sean Callanan 393c4df342 Build system fixes. llvm-mc depends on
libEnhancedDisassembly, so we now build the
static library in all cases (although the shared
library is only built when requested/possible).

Also, fixed a bug where edis wasn't properly
initializing the targets it uses.

llvm-svn: 101072
2010-04-12 21:55:49 +00:00
Sean Callanan deee643b95 Bug fix: made the enhanced disassembler's link
flags work properly when EDIS_VERSION is defined

llvm-svn: 101063
2010-04-12 20:23:08 +00:00
Sean Callanan 2d03d3a8a7 Second try at integrating the edis tester. This
time I use the LIBS variable, which is not subject
to a %.a -> -l% transformation, to link llvm-mc
against libEnhancedDisassembly.

llvm-mc -edis works the same as llvm-mc
-disassemble, but outputs tokens and operands.

llvm-svn: 101058
2010-04-12 19:43:00 +00:00
Benjamin Kramer 1f336da54f Boolify.
llvm-svn: 101035
2010-04-12 12:22:19 +00:00
Nick Lewycky 6ba630b077 Remove use of exceptions from bugpoint. No deliberate functionality change!
llvm-svn: 101013
2010-04-12 05:08:25 +00:00
Nick Lewycky 3e24f7e632 Remove dead argument and clean whitespace. No functionality change.
llvm-svn: 100954
2010-04-10 23:18:13 +00:00
Sean Callanan a4ae4e7693 Updated the edis build mechanism to allow for builds
that do not build some (or all) of the targets that
edis supports.

llvm-svn: 100910
2010-04-10 00:48:10 +00:00
Chris Lattner 55ddc30f07 revert r100842 which broke several of the build bots.
llvm-svn: 100848
2010-04-09 04:24:20 +00:00
Sean Callanan 844a7febd3 Added a tester for the enhanced disassembler,
integrated into the llvm-mc testing tool.

llvm-svn: 100842
2010-04-09 01:43:16 +00:00
Sean Callanan 48b1804e79 Bugfixes for edis. Code to initialize instruction
state was being executed too lazily, and the LLVM
assembly syntax for the disassembler was not being
written into the proper disassembler state variable.

llvm-svn: 100830
2010-04-09 00:11:15 +00:00
Sean Callanan 03549ee5af Added support for ARM disassembly to edis.
I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.

I will add the test harness for all this stuff in
a separate commit.

llvm-svn: 100735
2010-04-08 00:48:21 +00:00
Chris Lattner 8900ef1931 add .o file writing for inline asm in llc. Here's a silly
demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
<inline asm>:1:2: error: unrecognized instruction
	abc incl    %eax
	^
LLVM ERROR: Error parsing inline asm

Only problem seems to be that the parser finalizes OutStreamer 
at the end of the first inline asm, which isn't what we want.
For example:

$ cat asm.c
int foo(int X) {
 __asm__ ("incl    %0" : "+r" (X));
 return X;
}
$ clang asm.c -S -o - -emit-llvm | llc
...
	subq	$8, %rsp
	movl	%edi, (%rsp)
	movl	%edi, %eax
	## InlineAsm Start
	incl    %eax
	## InlineAsm End
	movl	%eax, (%rsp)
	movl	%eax, 4(%rsp)
	addq	$8, %rsp
	ret
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000	subq	$0x08,%rsp
0000000000000004	movl	%edi,(%rsp)
0000000000000007	movl	%edi,%eax
0000000000000009	incl	%eax
$ 

don't stop at inc!

llvm-svn: 100491
2010-04-05 23:11:24 +00:00
Chris Lattner 3d18e71ae8 tidy #includes.
llvm-svn: 100489
2010-04-05 23:07:18 +00:00
Chris Lattner 0e45d24a4e stringref-ize the MemoryBuffer::get apis. This requires
a co-committed clang patch.

llvm-svn: 100485
2010-04-05 22:42:30 +00:00
Chris Lattner 7012916275 fix an ugly wart in the MCInstPrinter api where the
raw_ostream to print an instruction to had to be specified
at MCInstPrinter construction time instead of being able
to pick at each call to printInstruction.

llvm-svn: 100307
2010-04-04 05:04:31 +00:00
Chris Lattner 9f59b3dd9b remove some extraneous casts
llvm-svn: 100287
2010-04-03 21:03:50 +00:00
Chris Lattner 07d09ed49a Add special case bitcode support for DebugLoc. This avoids
having the bitcode writer materialize mdnodes for all the
debug location tuples when writing out the bc file and 
stores the information in a more compact form.  For example,
the -O0 -g bc file for combine.c in 176.gcc shrinks from
739392 to 512096 bytes.

This concludes my planned short-term debug info work.

llvm-svn: 100261
2010-04-03 02:17:50 +00:00
Mikhail Glushenkov 729bcaded9 Pass -shared to the linker.
llvm-svn: 100260
2010-04-03 02:00:03 +00:00
Chris Lattner ebc6f14766 add a couple missing enum names.
llvm-svn: 100257
2010-04-03 01:05:24 +00:00
Sean Callanan dfc8a75755 Updated the install location for EnhancedDisassembly
on Mac OS X to use @rpath rather than an absolute
path.  Also allowed the version to be set using an
environment variable.

llvm-svn: 100163
2010-04-02 00:53:42 +00:00
Mikhail Glushenkov 5506864ed4 Pass -m32/-m64 to assembler.
llvm-svn: 100064
2010-03-31 23:51:55 +00:00
Dan Gohman 7a4413a312 Fix llvm-ld to clean up its output files in case of an error.
llvm-svn: 99915
2010-03-30 19:56:41 +00:00
Chris Lattner 273f31d08d revert r99719 which is breaking the botz.
llvm-svn: 99721
2010-03-27 18:01:10 +00:00
Dan Gohman ec9e342d04 Make llvm-ld remove its output files in the event of an error.
llvm-svn: 99719
2010-03-27 16:49:51 +00:00
Dan Gohman 99ac24d1e3 No need to check the same condition twice.
llvm-svn: 99716
2010-03-27 16:36:08 +00:00
Daniel Dunbar d821f4ac60 llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need
exactly two passes in that case, and don't ever need to recompute any layout,
so this is a nice baseline for relaxation performance.

llvm-svn: 99563
2010-03-25 22:49:09 +00:00
Dan Gohman 8e404fe769 Trim #includes.
llvm-svn: 99416
2010-03-24 19:56:17 +00:00
Dan Gohman 4634b7d4f6 It's not necessary to call raw_ostream::close explicitly on automatic
raw_ostream variables immediately before they go out of scope.

llvm-svn: 99413
2010-03-24 19:00:02 +00:00
Daniel Dunbar b09b8906cb llvm-mc: Support -filetype=null, for timing purposes.
llvm-svn: 99349
2010-03-23 23:47:12 +00:00
Bill Wendling 703d0b978a Remove if DISABLED not if not DISABLED...
llvm-svn: 99343
2010-03-23 23:09:03 +00:00
Bill Wendling c941619a73 Use "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for
Apple-style builds.

llvm-svn: 99336
2010-03-23 22:15:33 +00:00
Chris Lattner 7d32580e5a make sure to delete the llvm module before calling llvm_shutdown,
this fixes crashes in error cases, PR6683

llvm-svn: 99334
2010-03-23 21:59:43 +00:00
Dan Gohman e5732c63c4 llc doesn't need LinkAllVMCore.
llvm-svn: 99186
2010-03-22 16:59:44 +00:00
Jeffrey Yasskin 38da2b015f Avoid leaking the FunctionPassManager from opt.
llvm-svn: 99180
2010-03-22 15:56:04 +00:00
Jeffrey Yasskin a6eedc3c03 Free all Constants in ~LLVMConstantImpl. We avoid assertion failures
by dropping all references from all constants that can use other
constants before trying to destroy any of them.

I also had to free bugpoint's Module in ~BugDriver().

llvm-svn: 99160
2010-03-22 05:23:37 +00:00
Daniel Dunbar d9d5b315ab llvm-mc: Fix MCInstPrinter memory leaks.
llvm-svn: 99101
2010-03-20 22:36:35 +00:00
Daniel Dunbar c5621ed07a llvm-mc: Fix memory leak of MCAsmInfo.
llvm-svn: 99098
2010-03-20 22:36:25 +00:00
Daniel Dunbar abf6e3657e llvm-mc: Fix target selection for --disassemble to use GetTarget.
llvm-svn: 98973
2010-03-19 18:07:50 +00:00
Chris Lattner 90a7859ebc fix an MCInstPrinter leak that jyasskin pointed out:
createAsmStreamer now takes ownership of the instprinter.

llvm-svn: 98939
2010-03-19 05:48:53 +00:00
Jeffrey Yasskin 71bd0f4eda Bugpoint's default memory limit (100MB) was too low for valgrind, so
this patch raises the default to 800MB when valgrind's active.  800
was chosen semi-arbitrarily.

llvm-svn: 98905
2010-03-19 00:09:28 +00:00
Sean Callanan 8b02a0f769 Changed install_name for libEnhancedDisassembly.dylib on
Mac OS X to match current install location.  This has no
effect on other platforms.

llvm-svn: 98773
2010-03-17 22:01:36 +00:00
Chris Lattner fd381328ff add support for bugpointing the integrated assembler. Something like this
works for me: bugpoint Output/bisort.llvm.bc -run-llc-ia -safe-run-llc

This uses llc with the integrated assembler as the test compiler and llc
without it as the safe compiler.

llvm-svn: 98618
2010-03-16 06:41:47 +00:00
Daniel Dunbar 144873437c llvm-mc: Delete output files on error.
llvm-svn: 98445
2010-03-13 19:31:47 +00:00
Daniel Dunbar 322fec671b llvm-mc: Support -n, useful for comparing -integrated-as output since the
compiler may not lead with the text section.

llvm-svn: 98418
2010-03-13 02:20:57 +00:00
Daniel Dunbar 4689211583 llvm-mc: Support -arch as a simplified form of -triple.
llvm-svn: 98417
2010-03-13 02:20:38 +00:00
Chris Lattner c7b46f9d9c give Mangler access to TargetData.
llvm-svn: 98378
2010-03-12 20:47:28 +00:00
Chris Lattner 2eff505fba make the mangler take an MCContext instead of an MAI.
No functionality change.

llvm-svn: 98363
2010-03-12 18:44:54 +00:00
Chris Lattner ac77bf5d1e remove MAI argument from createAsmStreamer since it
can get it from the context now.

llvm-svn: 98361
2010-03-12 18:28:53 +00:00
Chris Lattner 768ea2add2 change MCContext to always have an MCAsmInfo.
llvm-svn: 98293
2010-03-11 22:53:35 +00:00
Daniel Dunbar c5ddbad237 MC: Provide MCAssembler with a TargetAsmBackend.
llvm-svn: 98222
2010-03-11 01:34:27 +00:00
Duncan Sands 5674c34780 Attempt to fix random build failures seen when doing highly
parallel builds: the gold plugin fails to link because the lto
library is in the middle of being written out by the linker.

llvm-svn: 98054
2010-03-09 09:03:21 +00:00
Mikhail Glushenkov a764083db3 Make it not an error to specify -O* options several times.
As in 'llvmc -O2 -O2 test.c'.

llvm-svn: 97787
2010-03-05 04:46:39 +00:00
Chris Lattner 5ec1b24f8f apparently if gold is around lto needs to be part of DIRS.
llvm-svn: 97780
2010-03-05 02:34:34 +00:00
Chris Lattner 2e89d20ad3 Only build libedis if ENABLE_SHARED is specified, just like liblto.
Don't build any of the dynamic library stuff on cygwin/mingw.

llvm-svn: 97771
2010-03-05 00:59:18 +00:00
Chris Lattner 274c8d8d07 liblto and gold don't need to be built in serial
llvm-svn: 97770
2010-03-05 00:54:45 +00:00
Erick Tryzelaar 444c0955af Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.
We need this so can not bake DESTDIR into the O'Caml symlinks.

llvm-svn: 97743
2010-03-04 20:56:19 +00:00
Dan Gohman 5341a86450 Make llc opt into the addPassesToEmitFile verify pass.
llvm-svn: 97502
2010-03-01 21:45:21 +00:00
Chris Lattner 134a9dc114 don't build edis if the x86 target isn't enabld.
llvm-svn: 97268
2010-02-26 21:26:33 +00:00
Sanjiv Gupta f8bd9413d5 disable-mem2reg and disable-gvn options should not be used by the driver.
llvm-svn: 97236
2010-02-26 18:38:44 +00:00
Jeffrey Yasskin 6b718f73a5 Try r96559 for the third time. This time the shared library is only built if
--enable-shared is passed to configure.

llvm-svn: 97119
2010-02-25 06:34:33 +00:00
Jeffrey Yasskin 15983e57d6 Roll back r96959 again.
llvm-svn: 96981
2010-02-23 20:53:37 +00:00
Jeffrey Yasskin d097117121 Oops. Pass -lgcc _only_ on ARM, not on everything except ARM.
llvm-svn: 96965
2010-02-23 18:40:48 +00:00
Jeffrey Yasskin 3ac46ccdff Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM. This links 3 of
the examples shared to make sure the shared library keeps working.

llvm-svn: 96959
2010-02-23 18:10:07 +00:00
Mikhail Glushenkov 98d0298a0e Fix -mtune forwarding.
llvm-svn: 96944
2010-02-23 14:29:42 +00:00
Mikhail Glushenkov 527bfeeda7 Update mcc16 and the ancient Clang plugin for the 'cmd_line' -> 'command' change.
llvm-svn: 96933
2010-02-23 09:59:30 +00:00
Mikhail Glushenkov cf68f26beb Input files with empty suffixes must be passed to linker.
llvm-svn: 96927
2010-02-23 09:05:21 +00:00
Mikhail Glushenkov 3f8f81e39a Support -Xlinker et al.
llvm-svn: 96926
2010-02-23 09:05:15 +00:00
Mikhail Glushenkov 6e3c5dd8a3 Typo.
llvm-svn: 96924
2010-02-23 09:05:06 +00:00
Mikhail Glushenkov a44e838bcb Correct option forwarding: initial implementation.
Does not work, but the infrastructure changes are in place.

llvm-svn: 96920
2010-02-23 09:04:44 +00:00
Mikhail Glushenkov 04ae7a6e01 Precompiled headers: initial support.
llvm-svn: 96919
2010-02-23 09:04:33 +00:00
Mikhail Glushenkov ebf8fbbb8f New experimental/undocumented feature: 'works_on_empty'.
For now, just enough support to make -filelist work.

llvm-svn: 96918
2010-02-23 09:04:28 +00:00
Mikhail Glushenkov 23cce8188b Support '-install_name'.
llvm-svn: 96917
2010-02-23 09:04:18 +00:00
Daniel Dunbar e67ebdc60a Kill off LLVMGCCARCH and LLVMGCC_VERSION make variables.
llvm-svn: 96909
2010-02-23 07:56:31 +00:00
Daniel Dunbar e7d4f92cfa Kill off LLVMGCC_MAJVERS make variable.
llvm-svn: 96907
2010-02-23 07:56:22 +00:00
Duncan Sands 3d928db087 Uniformize the way these options are printed. Requested by
Russell Wallace.

llvm-svn: 96580
2010-02-18 14:37:52 +00:00
Benjamin Kramer 32c3d30fc9 Avoid a dangling pointer dereference, PassManager::add can delete the Pass.
llvm-svn: 96576
2010-02-18 12:57:05 +00:00
Jeffrey Yasskin c451027db9 Roll back the shared library, r96559. It broke two darwins and arm, mysteriously.
llvm-svn: 96569
2010-02-18 04:43:02 +00:00
Jeffrey Yasskin f750fefaf8 Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add an
--enable-shared configure flag to have the tools linked shared. (2.7svn is just
$(LLVMVersion) so it'll change to "2.7" in the release.)  Always link the
example programs shared to test that the shared library keeps working.

On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is
16M static vs 440K shared.

Two things are less than ideal here:
1) The library doesn't include any version information. Since we expect to break
the ABI with every release, this shouldn't be much of a problem. If we do
release a compatible 2.7.1, we may be able to hack its library to work with
binaries compiled against 2.7.0, or we can just ask them to recompile. I'm
hoping to get a real packaging expert to look at this for the 2.8 release.
2) llvm-config doesn't yet have an option to print link options for the shared
library. I'll add this as a subsequent patch.

llvm-svn: 96559
2010-02-18 02:36:02 +00:00
Duncan Sands 19d0b47b1f There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy().  Convert most instances of the first form to the second form.
Requested by Chris.

llvm-svn: 96344
2010-02-16 11:11:14 +00:00
Mikhail Glushenkov bbbf4977c7 Support some more Darwin-only options.
We really need a conditional compilation mechanism...

llvm-svn: 96129
2010-02-13 22:37:13 +00:00
Mikhail Glushenkov b0afb6cbe4 Support -mfix-and-continue properly.
llvm-svn: 96128
2010-02-13 22:37:00 +00:00
Mikhail Glushenkov 67f061d85c Revert r94752, turns out we don't need to touch these options.
llvm-svn: 96127
2010-02-13 22:36:43 +00:00
Chris Lattner 741580a5bd give MCCodeEmitters access to the current MCContext.
llvm-svn: 96038
2010-02-12 23:12:47 +00:00
Dan Gohman f684e452ca Add support to llvm-extract for extracting multiple functions and/or
multiple global variables at a time.

llvm-svn: 95825
2010-02-10 23:58:53 +00:00
Daniel Dunbar 75c9a4eeae llvm-mc: Remove --show-fixups and always show as part of --show-encoding.
Also, fix a silly memory leak.

llvm-svn: 95752
2010-02-10 01:41:14 +00:00
Daniel Dunbar 9a0a46163d llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.
llvm-svn: 95710
2010-02-09 23:00:14 +00:00
Jakob Stoklund Olesen 924b4ca59b Oops.
llvm-svn: 95670
2010-02-09 17:24:21 +00:00
Jakob Stoklund Olesen bd9e50fc91 clang test suite
llvm-svn: 95667
2010-02-09 17:20:03 +00:00
Sean Callanan e7a1b988bf Updated the enhanced disassembly library to produce
whitespace tokens in the right places.

llvm-svn: 95645
2010-02-09 01:50:54 +00:00
Sean Callanan 12f1a3ec0c Fixed a problem where the enhanced disassembly
library was reporting inaccurate token IDs.

llvm-svn: 95639
2010-02-09 01:00:18 +00:00
Sean Callanan cb956d93b8 Added header file declarations and .exports entries
for the new APIs offered by the enhanced disassembler
for inspecting operands.

llvm-svn: 95606
2010-02-08 23:34:25 +00:00
Sanjiv Gupta bb3f887a85 Fixed build error for redefinition.
llvm-svn: 95532
2010-02-08 06:08:32 +00:00
Sanjiv Gupta b67dc69a78 Add uppercase and lowercase part defines in driver.
Use a temp dir with a unique name in the current dir itself.
Use forward_value instead of unpack_values.

llvm-svn: 95530
2010-02-08 05:56:37 +00:00
Jeffrey Yasskin 31faefff92 Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp.
llc.cpp also defined these flags, meaning that when I linked all of LLVM's
libraries into a single shared library, llc crashed on startup with duplicate
flag definitions.  This patch passes them through the EngineBuilder into
JIT::selectTarget().

llvm-svn: 95390
2010-02-05 16:19:36 +00:00
Torok Edwin 372c7d5f93 New flag for GenLibDeps, and llvm-config-perobjincl.
This allows to show the explicit files that need to be built/linked to get an
LLVM component.

llvm-svn: 95300
2010-02-04 09:31:35 +00:00
Sean Callanan 9eb8d6fb43 Filled in a few new APIs for the enhanced
disassembly library that provide access to
instruction information, and fixed ambiguous
wording in the comments for the header.

llvm-svn: 95274
2010-02-04 01:43:08 +00:00
Daniel Dunbar e3ee332fe0 llvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly
output.

llvm-svn: 95227
2010-02-03 18:18:30 +00:00
Chris Lattner edcf065a29 change addPassesToEmitFile to return true on failure instead of its input,
add -filetype=null for performance testing and remove -filetype=dynlib,
which isn't planned to be implemented.

llvm-svn: 95202
2010-02-03 05:55:08 +00:00
Sean Callanan 6a6f9cc634 Fixed the disassembler so it accepts multiple
instructions on a single line.  Also made it a
bit more forgiving when it reports errors.

llvm-svn: 95197
2010-02-03 03:46:41 +00:00
Chris Lattner 8856a67e41 Hook up -filetype=obj through the MachO streamer. Here's a demo:
$ cat t.ll 
@g = global i32 42
$ llc t.ll -o t.o -filetype=obj
$ nm t.o
00000000 D _g

There is still a ton of work left.  Instructions are not being encoded
yet apparently.

llvm-svn: 95162
2010-02-02 23:57:42 +00:00
Chris Lattner 919b97436e Remove a bunch of stuff around the edges of the ELF writer.
Now the only use of the ELF writer is the JIT, which won't be
easy to fix in the short term. :( :(

llvm-svn: 95148
2010-02-02 22:31:11 +00:00
Chris Lattner f0cb12acf2 eliminate FileModel::Model, just use CodeGenFileType. The client
of the code generator shouldn't care what object format a target
uses.

llvm-svn: 95124
2010-02-02 21:06:45 +00:00
Sean Callanan 0205452f38 ...and fixed the Makefile.
llvm-svn: 95119
2010-02-02 20:20:30 +00:00
Sean Callanan 2e66266d68 Renamed the ed directory to edis, as suggested
yesterday.  This eliminates possible confusion
about what exactly in this directory; the name
is still short, though.

llvm-svn: 95118
2010-02-02 20:11:23 +00:00
Chris Lattner 03dc0f7077 eliminate all forms of addPassesToEmitMachineCode except
the one used by the JIT.  Remove all forms of
addPassesToEmitFileFinish except the one used by the static
code generator.  Inline the remaining version of
addPassesToEmitFileFinish into its only caller.

llvm-svn: 95109
2010-02-02 19:14:27 +00:00
Chris Lattner 57992e2da6 remove dead code, we're requesting TargetMachine::AssemblyFile here.
llvm-svn: 95105
2010-02-02 19:03:39 +00:00
Sean Callanan 339975e5d5 Removed an unnecessary class from the EDDisassembler
implementation.  Also made sure that the register maps
were created during disassembler initialization.

llvm-svn: 95051
2010-02-02 02:18:20 +00:00
Sean Callanan 10b9639b74 Changed to Chris Lattner's suggested approach, which
merely stubs out the blocks-based disassembly functions
if the library wasn't built with blocks, which allows a
constant .exports file and also properly deals with
situations in which the compiler used to build a client
is different from the compiler used to build the library.

llvm-svn: 95034
2010-02-02 00:04:46 +00:00
Nate Begeman 0b810279c8 Kill the Mach-O writer, and temporarily make filetype=obj an error.
The MCStreamer based assemblers will take over for this functionality.

llvm-svn: 95033
2010-02-01 23:56:58 +00:00
Sean Callanan 0972067c93 Fix for builds with separate source and build
directories (like, oh, say, any multistage build)

llvm-svn: 95028
2010-02-01 23:27:57 +00:00
Sean Callanan 23bd0193d4 Updated to use the proper .exports file for the
target platform, depending on whether the target
supports the blocks API or not

llvm-svn: 95024
2010-02-01 23:01:38 +00:00
Sean Callanan 47cbefac94 Rollback on including blocks functionality in .exports
because some platforms don't support blocks and then
break because the symbols aren't present

llvm-svn: 95011
2010-02-01 21:57:50 +00:00
Sean Callanan bc7bd4bf40 Whoops, left some debugging code in that broke
a buildbot.  Removed.

llvm-svn: 94975
2010-02-01 09:02:24 +00:00
Sean Callanan 328f60f08c Added the enhanced disassembly library's implementation and
fleshed out the .exports file.  I still have to fix several
details of operand parsing, but the basic functionality is
there and usable.

llvm-svn: 94974
2010-02-01 08:49:35 +00:00
Sean Callanan fd86e790cc Removed symbols from .exports that are not yet in
the library.

llvm-svn: 94844
2010-01-29 21:21:44 +00:00
Sean Callanan 2444ed4fea Added a bare-bones Makefile to build the enhanced disassembly
library as a static and a shared library.  Added dependencies
so the target-specific enhanced disassembly info tables are
built before the library.

llvm-svn: 94780
2010-01-29 01:30:01 +00:00
Mikhail Glushenkov 04f442c515 Support some more options...
llvm-svn: 94752
2010-01-28 18:19:36 +00:00
Benjamin Kramer 29063eac23 Replace strcpy with memcpy when we have the length around anyway.
llvm-svn: 94746
2010-01-28 18:04:38 +00:00
Jeffrey Yasskin 091217be6f Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods.  The bindings to
other languages still use the ModuleProvider concept.  It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.

llvm-svn: 94686
2010-01-27 20:34:15 +00:00
Mikhail Glushenkov 8e66b8eb20 Support -arch.
llvm-svn: 94546
2010-01-26 14:55:44 +00:00
Mikhail Glushenkov c9c6456a85 Support for -iquote.
llvm-svn: 94545
2010-01-26 14:55:30 +00:00
Chris Lattner 823aed16f9 make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
llvm-svn: 94378
2010-01-24 20:43:08 +00:00
Chris Lattner dec86d7337 mark some libraries that currently require RTTI.
llvm-svn: 94377
2010-01-24 20:22:08 +00:00
Chris Lattner 0522eb2160 pass "-fasm-verbose" into createAsmStreamer.
llvm-svn: 94165
2010-01-22 07:06:15 +00:00
Chris Lattner 7ba0661f27 Stop building RTTI information for *most* llvm libraries. Notable
missing ones are libsupport, libsystem and libvmcore.  libvmcore is
currently blocked on bugpoint, which uses EH.  Once it stops using
EH, we can switch it off.

This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.

llvm-svn: 94164
2010-01-22 06:49:46 +00:00
Chris Lattner c7a8eaf614 elimiante the dynamic_cast's from opt.
llvm-svn: 94160
2010-01-22 06:03:06 +00:00
Chris Lattner 5517958641 simplify code.
llvm-svn: 94159
2010-01-22 05:54:03 +00:00
Chris Lattner 5b0e01c54e move some files out of the llvm-mc tool into the MCParser library so
other tools can link it.

llvm-svn: 94131
2010-01-22 01:58:08 +00:00
Chris Lattner 00646cfbd4 create a new MCParser library and move some stuff into it.
llvm-svn: 94129
2010-01-22 01:44:57 +00:00
Chris Lattner 6401c883c4 remove some confused code that used strtoull
llvm-svn: 94128
2010-01-22 01:17:12 +00:00
Sean Callanan 7a77eae2f3 Moved handling of inclusion from the AsmLexer to
the AsmParser, breaking AsmLexer's dependence on
SourceMgr.

llvm-svn: 94054
2010-01-21 00:19:58 +00:00
Sean Callanan 177934e021 Changed the AsmParser to handle error messages itself
rather than passing them off to the AsmLexer to handle.
This means the AsmLexer no longer requires a SourceMgr
to do error handling.

llvm-svn: 94047
2010-01-20 23:19:55 +00:00
Sean Callanan 1a0eeb6e06 Promoted the reference to the SourceMgr from AsmLexer
into AsmParser, in preparation for making AsmLexer
independent of the SourceMgr

llvm-svn: 94043
2010-01-20 22:45:23 +00:00
Sean Callanan 70855e42e6 Modified MCAsmLexer to return error information upward
rather than printing it locally, reducing its dependence
on SourceMgr.

llvm-svn: 94041
2010-01-20 22:18:24 +00:00
Chris Lattner 38caaf14c1 give createAsmStreamer an 'isLittleEndian' argument.
llvm-svn: 93986
2010-01-20 06:39:07 +00:00
Sean Callanan 936b0d3144 Promoted the getTok() method to MCAsmParser so that
the two token accessor functions are declared consistently.
Modified the clients of MCAsmParser to reflect this change.

llvm-svn: 93916
2010-01-19 21:44:56 +00:00
Sean Callanan 686ed8d248 Added a Lex function to the AsmParser, to allow handling
of include directives to occur within the parser itself.
This will break the lexer's dependency on a SourceMgr as
input.

llvm-svn: 93899
2010-01-19 20:22:31 +00:00
Chris Lattner c35681b298 Generalize mcasmstreamer data emission APIs to take an address space
identifier.  There is no way to work around it.

llvm-svn: 93896
2010-01-19 19:46:13 +00:00
Chris Lattner 0c65fd4902 add a "MCStreamer::EmitFill" method, and move the default implementation
(which just iteratively emits bytes) to MCStreamer.

llvm-svn: 93888
2010-01-19 18:45:47 +00:00
Chris Lattner ab9cd3e132 fix parsing .comm directives on systems which do not represent alignments
as a power of 2.  This fixes MC/AsmParser/directive_comm.s

llvm-svn: 93867
2010-01-19 06:22:22 +00:00
Eli Friedman eb0c52f194 Make opt -O3 act more like clang -O3 etc., by making the inlining thresholds
match.

llvm-svn: 93798
2010-01-18 22:38:31 +00:00
Chris Lattner 6b4f73ea94 make llvm-config more portable to windows versions of perl,
patch by Michael Beck!

llvm-svn: 93793
2010-01-18 22:27:43 +00:00
Chris Lattner b4ffc894e6 now that mangler is in libtarget, it can use MCAsmInfo instead of clients
having to pass various fields from it in.  Simplify.

llvm-svn: 93686
2010-01-17 18:22:35 +00:00
Dan Gohman 915ad96b40 Don't create a (empty) output file, and don't warn about bitcode output
to a console, when --analyze is used.

Similarly, avoid creating an empty output file when --disable-output is used.

Print a warning when the -o option appears with either --analyze or
--disable-output, to indicate that the option is being ignored.

llvm-svn: 93685
2010-01-17 17:47:24 +00:00
Chris Lattner f62e3ee8c5 move the mangler into libtarget from vmcore.
llvm-svn: 93664
2010-01-16 21:57:06 +00:00
Chris Lattner 6a941f0b85 remove obsolete comment.
llvm-svn: 93661
2010-01-16 21:34:51 +00:00
Chris Lattner dc2cb5afad bugpoint doesn't need the mangler at all. DisambiguateGlobalSymbols
dates to a time when two different LLVM values could have the same
name but different types.  Simplify it to just assign names to unnamed
things and let the core symtab resolve duplicates.

llvm-svn: 93660
2010-01-16 21:34:01 +00:00
Chris Lattner 2ce863be1c remove calls to dead methods.
llvm-svn: 93657
2010-01-16 21:20:34 +00:00
Chris Lattner 46d3a102da remove use of getMangledName.
llvm-svn: 93655
2010-01-16 20:56:05 +00:00
Chris Lattner 9787fd0468 switch liblto to use the new getNameWithPrefix() method instead of getMangledName.
llvm-svn: 93643
2010-01-16 18:12:14 +00:00
Chris Lattner e17df0b7f0 fix a bug in range information for $42, eliminate an
unneeded argument from ParseExpression.

llvm-svn: 93536
2010-01-15 19:39:23 +00:00
Chris Lattner 528d00b913 extend MCAsmParser::ParseExpression and ParseParenExpression
to return range information for subexpressions.  Use this to
provide range info for several new X86Operands.

llvm-svn: 93534
2010-01-15 19:28:38 +00:00
Nate Begeman d232150b83 Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available.
Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer

Further refactoring to completely remove MachOWriter and drive the object file
writer with the AsmPrinter MCInst/MCSection logic is forthcoming.

llvm-svn: 93527
2010-01-15 18:51:18 +00:00
Chris Lattner 14bf521792 add virtual methods to get the start/end of a MCParsedAsmOperand,
the default implementation returns "unknown".

llvm-svn: 93470
2010-01-14 22:29:57 +00:00
Chris Lattner f29c0b6880 Split the TargetAsmParser "ParseInstruction" interface in half:
the new ParseInstruction method just parses and returns a list of
target operands.  A new MatchInstruction interface is used to
turn the operand list into an MCInst.

This requires new/deleting all the operands, but it also gives 
targets the ability to use polymorphic operands if they want to. 

llvm-svn: 93469
2010-01-14 22:21:20 +00:00
Chris Lattner 77fd677111 prune #includes in TargetAsmParser.h
Pass in SMLoc of instr opcode into ParseInstruction.
Make AsmToken be a class, not a struct.

llvm-svn: 93457
2010-01-14 21:32:45 +00:00
Benjamin Kramer c6fe3c3273 Reimplement getToken and SplitString as "StringRef helper functions"
- getToken is modeled after StringRef::split but it can split on multiple
  separator chars and skips leading seperators.
- SplitString is a StringRef::split variant for more than 2 elements with the
  same behaviour as getToken.

llvm-svn: 93161
2010-01-11 18:03:24 +00:00
David Greene ed8a1def24 Enable debug buffering.
llvm-svn: 92667
2010-01-05 01:30:32 +00:00
David Greene 6e55be681e Enable debug buffering.
llvm-svn: 92666
2010-01-05 01:30:21 +00:00
Mikhail Glushenkov 65f12ea72e Forward -O0 to llvm-gcc.
llvm-svn: 92414
2010-01-02 08:27:23 +00:00
Mikhail Glushenkov 8181d150c0 Apparently, it is OK for -MT to be specified several times.
llvm-svn: 92413
2010-01-02 08:27:10 +00:00
Mikhail Glushenkov 8a52b77523 Minor simplifactions.
llvm-svn: 92393
2010-01-01 04:41:10 +00:00
Mikhail Glushenkov 8711c8dbcf Minor simplifications.
llvm-svn: 92390
2010-01-01 03:50:51 +00:00
Bill Wendling ae606a1d1d Mark some debug variables as 'unused' to quiet compiler and analyzer.
llvm-svn: 92183
2009-12-28 01:34:57 +00:00
Douglas Gregor 66ffa50e6d Fix another -Wmismatched-tags warning
llvm-svn: 92017
2009-12-23 18:27:13 +00:00
Douglas Gregor 35ac67ff8e Fix struct/class mismatch for LTOModule and LTOCodeGenerator, detected by Clang
llvm-svn: 92004
2009-12-23 17:05:07 +00:00
Mikhail Glushenkov 0cb2a55c76 Make it easier to regenerate docs when srcdir != objdir.
llvm-svn: 92000
2009-12-23 12:50:03 +00:00
Mikhail Glushenkov f48a0c43b6 Allow (set_option SwitchOption, true).
llvm-svn: 91997
2009-12-23 12:49:30 +00:00
Chris Lattner b257d24f62 rename HexDisassembler -> Disassembler, it works on any input
integer encoding (0123, 0b10101, 42, etc).

llvm-svn: 91934
2009-12-22 22:50:29 +00:00
Chris Lattner e3437b33f5 just discard the debug output from the disassembler.
llvm-svn: 91933
2009-12-22 22:47:43 +00:00
Chris Lattner 778f92ab02 specify what is invalid about it
llvm-svn: 91901
2009-12-22 07:03:21 +00:00
Chris Lattner 502f0f11e0 reject invalid input with a caret, e.g.:
simple-tests.txt:16:1: error: invalid instruction
0xff 0xff
^

llvm-svn: 91898
2009-12-22 06:58:29 +00:00
Chris Lattner dd0c01b5de various cleanups, make the disassemble reject lines with too much
data on them, for example:

	addb	%al, (%rax)
simple-tests.txt:11:5: error: excess data detected in input
0 0 0 0 0 
    ^

llvm-svn: 91896
2009-12-22 06:56:51 +00:00
Chris Lattner 8879918722 If you thought that it didn't make sense for the disassembler
to not produce caret diagnostics, you were right!

llvm-svn: 91895
2009-12-22 06:45:48 +00:00
Chris Lattner dc9845b79a rewrite the file parser for the disassembler, implementing support for
comments.  Also, check in a simple testcase for the disassembler,
including a test for r91864

llvm-svn: 91894
2009-12-22 06:37:58 +00:00
Chris Lattner 72cbaa2ecb don't crash on blank lines, rename some variables.
llvm-svn: 91892
2009-12-22 06:24:00 +00:00
Sanjiv Gupta bdef02be69 Adding a bunch of options to the mcc16 driver.
llvm-svn: 91776
2009-12-19 13:13:29 +00:00
Mikhail Glushenkov 1fe2678a06 Add a 'set_option' action for use in OptionPreprocessor.
llvm-svn: 91594
2009-12-17 07:49:16 +00:00
Chandler Carruth 187220e3f5 Update CMake build to include HexDisassembler.cpp.
llvm-svn: 91589
2009-12-17 06:35:17 +00:00
Sean Callanan 7e64550747 Test harness for the LLVM disassembler. When invoked
with -disassemble, llvm-mc now accepts lines of the
form
0x00 0x00
and passes the resulting bytes to the disassembler for
the chosen (or default) target, printing the result.

llvm-svn: 91579
2009-12-17 01:49:59 +00:00
Mikhail Glushenkov 096fc103fb Validate the generated C++ code in llvmc tests.
Checks that the code generated by 'tblgen --emit-llvmc' can be actually
compiled. Also fixes two bugs found in this way:

- forward_transformed_value didn't work with non-list arguments
- cl::ZeroOrOne is now called cl::Optional

llvm-svn: 91404
2009-12-15 03:04:52 +00:00
Mikhail Glushenkov 53ec77972e Small documentation update.
llvm-svn: 91401
2009-12-15 03:03:37 +00:00
Chris Lattner 4b2a6e200f when opt crashes, print its command line arguments as a pretty stack trace.
Somehow opt was missed when this was added.

llvm-svn: 90912
2009-12-09 00:41:28 +00:00
Mikhail Glushenkov 550694d18a Documentation update.
llvm-svn: 90775
2009-12-07 18:26:11 +00:00
Mikhail Glushenkov 67c106664b Deprecate 'unpack_values'.
Use 'forward_values' + 'comma_separated' instead.

llvm-svn: 90774
2009-12-07 18:25:54 +00:00
Mikhail Glushenkov e69994f04f Pass '-msse' and friends to llc as '-mattr=+/-'.
llvm-svn: 90771
2009-12-07 17:03:21 +00:00
Mikhail Glushenkov c563ce3e62 Forward -m32/-m64 to the linker.
llvm-svn: 90548
2009-12-04 06:38:45 +00:00
Mikhail Glushenkov 2b86846b65 Support -march/-mtune/-mcpu.
llvm-svn: 90547
2009-12-04 06:38:28 +00:00
Mikhail Glushenkov 35c5591286 Add relocation model options.
llvm-svn: 90222
2009-12-01 09:47:11 +00:00
Mikhail Glushenkov b5f718f063 Typo.
llvm-svn: 90221
2009-12-01 09:19:09 +00:00
Mikhail Glushenkov ed163ed103 Forward -save-temps to llvm-gcc.
llvm-svn: 90214
2009-12-01 06:51:30 +00:00
Mikhail Glushenkov 3a438a9336 Support -[weak_]framework and -F in llvmc.
llvm-svn: 90210
2009-12-01 05:59:55 +00:00
Tobias Grosser dd7f2e797f Remove ShortNames from getNodeLabel in DOTGraphTraits
llvm-svn: 90134
2009-11-30 12:38:47 +00:00
Tobias Grosser 90d334032a Instantiate DefaultDOTGraphTraits
llvm-svn: 90133
2009-11-30 12:38:13 +00:00
Viktor Kutuzov 8981b3abe5 Rollback changes r89516: Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods.
llvm-svn: 89893
2009-11-25 22:44:18 +00:00
Daniel Dunbar e8b8ccefcb Add the rest of the build system logic for optional target disassemblers
llvm-svn: 89841
2009-11-25 04:46:58 +00:00
Viktor Kutuzov 7dcca8f7fc Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods.
llvm-svn: 89516
2009-11-21 00:00:02 +00:00
Mikhail Glushenkov 3faece9462 Make example/Hello compile again.
llvm-svn: 89363
2009-11-19 17:29:25 +00:00
Viktor Kutuzov c3e2b6bcf5 Added getDefaultSubtargetFeatures method to SubtargetFeatures class which returns a correct feature string for given triple.
llvm-svn: 89236
2009-11-18 20:20:05 +00:00
Viktor Kutuzov dafdd883bc Added getArchNameForAssembler method to the Triple class for which returns OS and Vendor independent target assembler arch.
llvm-svn: 89122
2009-11-17 18:48:27 +00:00
Duncan Sands 3246fe0b6b Make bugpoint pass -load arguments to LLI. This lets one use bugpoint with
programs that depend on native shared libraries.  Patch by Timo Lindfors.

llvm-svn: 89087
2009-11-17 10:20:22 +00:00
Benjamin Kramer 68e4945c03 Add compare_lower and equals_lower methods to StringRef. Switch all users of
StringsEqualNoCase (from StringExtras.h) to it.

llvm-svn: 87020
2009-11-12 20:36:59 +00:00
Daniel Dunbar c0fd8a4360 Stop running get_target_triple more than we need to.
llvm-svn: 86418
2009-11-07 23:52:20 +00:00
Kenneth Uildriks 90fedc6ef9 Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test
llvm-svn: 85900
2009-11-03 15:29:06 +00:00
Nick Lewycky e0856c5f40 Line this up as well.
llvm-svn: 85748
2009-11-01 22:08:51 +00:00
Nick Lewycky b244909ad4 Fix whitespace.
llvm-svn: 85747
2009-11-01 22:07:54 +00:00