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