Nick Lewycky
ff1e3db00e
Plug a leak in the non-error case by removing one level of indirection.
...
llvm-svn: 105556
2010-06-07 21:42:19 +00:00
Dan Gohman
96649dea39
Run dead type elimination after dead argument elimination.
...
llvm-svn: 105552
2010-06-07 20:28:37 +00:00
Dan Gohman
94bc7c650c
Use ->isVoidTy().
...
llvm-svn: 105550
2010-06-07 20:19:26 +00:00
Rafael Espindola
b93be14fa0
Misc cleanups to the gold plugin.
...
llvm-svn: 105534
2010-06-07 16:45:22 +00:00
Dan Gohman
a4614e30ec
No need to special-case structs here; structs are first-class now.
...
llvm-svn: 105513
2010-06-05 00:42:29 +00:00
Dan Gohman
b03730d276
No need to special-case structs here; structs are first-class now.
...
llvm-svn: 105442
2010-06-04 00:18:06 +00:00
Rafael Espindola
ee11d1e6a5
Add a emit-llvm option to the plugin and make the path argument to also-emit-llvm optional.
...
llvm-svn: 105414
2010-06-03 21:11:20 +00:00
Nick Lewycky
14c5598c42
Perfer !string.empty() over string != "".
...
llvm-svn: 105397
2010-06-03 17:13:23 +00:00
Nick Lewycky
04d3d4e46f
Whitespace cleanup.
...
llvm-svn: 105395
2010-06-03 17:10:17 +00:00
Rafael Espindola
9d46e81a8b
Don't preserve all symbols in a .so and instead trust gold to know what is
...
needed. The result is that now we are able to drop unnecessary symbol from
shared libraries.
llvm-svn: 105389
2010-06-03 14:45:44 +00:00
Dan Gohman
6163340daf
Eliminate some unnessary Path::exists() calls.
...
llvm-svn: 104888
2010-05-27 20:51:54 +00:00
Dan Gohman
35206e98e6
When handling raw_ostream errors manually, use clear_error() so that
...
raw_ostream doesn't try to do its own error handling.
Also, close the raw_ostream before checking for errors so that any
errors that occur during closing are caught by the manual check.
llvm-svn: 104882
2010-05-27 20:19:47 +00:00
Dan Gohman
d13e45d0ec
Don't special-case stdout in llvm::WriteBitcodeToFile; just consider
...
it to be the caller's responsibility to provide a stream in binary
mode. This fixes a layering violation and avoids an outs() call.
llvm-svn: 104878
2010-05-27 20:06:51 +00:00
Dan Gohman
5dc7fed6ab
Don't create an output stream when output is disabled.
...
llvm-svn: 104875
2010-05-27 19:52:20 +00:00
Dan Gohman
bf0dac1735
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
f2bec8edf6
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
eb23d9ac22
MC: Add an MCLoggingStreamer, for use in debugging integrated-as mismatches.
...
llvm-svn: 104463
2010-05-23 17:44:06 +00:00
Matt Fleming
5d40d53cab
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
8824824171
Remove dead option.
...
llvm-svn: 104303
2010-05-21 00:27:55 +00:00
Rafael Espindola
aa7f3b0561
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
79033132d7
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
ed8dd53c85
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
bc6fabbd3e
Add an also-emit-llvm option to the gold plugin.
...
llvm-svn: 103714
2010-05-13 13:39:31 +00:00
Jeffrey Yasskin
6768d483a0
Fix PR6951 by fixing Module leaks in bugpoint.
...
llvm-svn: 103523
2010-05-11 23:25:16 +00:00
Dan Gohman
5f389dacab
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
e79322802a
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
ed91169004
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
482cc7f93a
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
b064c6f5a3
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
5fc1e951f6
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
7edf493591
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
153ad3b903
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
31e338dba8
The llc -f flag was removed.
...
llvm-svn: 102670
2010-04-29 23:37:44 +00:00
Dan Gohman
c147c83a95
llc no longer requires the -f option to overwrite files.
...
llvm-svn: 102651
2010-04-29 18:46:52 +00:00
Daniel Dunbar
780c6fe8ba
Remove dead option.
...
llvm-svn: 102621
2010-04-29 16:29:02 +00:00
Bill Wendling
8a16d236db
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
0da87c200d
Fixed edis to tokenize instructions with no
...
operands correctly.
llvm-svn: 102227
2010-04-24 01:00:16 +00:00
Sean Callanan
72d3d36188
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
a50d7d5434
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
e652c68942
Support .a files directly (without -l).
...
llvm-svn: 101789
2010-04-19 17:25:38 +00:00
Dan Gohman
b66acedc8a
Fix more -Wcast-qual warnings.
...
llvm-svn: 101656
2010-04-17 17:44:03 +00:00
Chris Lattner
6a038be777
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
e96e382131
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
499f38cfcb
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
792df0f4ca
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
55f814fdc4
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
bfbdc27d54
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
c57e4c744b
Simplify ".bc" detection.
...
llvm-svn: 101365
2010-04-15 11:33:14 +00:00
Daniel Dunbar
3bf3e0e63a
Remove unnecessary uses of <iostream>.
...
llvm-svn: 101338
2010-04-15 03:47:24 +00:00
Chris Lattner
f827b4be59
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