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
Douglas Gregor
291f6145b8
Reverting 85714, 85715, 85716, which are breaking the build
...
llvm-svn: 85717
2009-11-01 16:42:53 +00:00
Dan Gohman
576ac96367
Remove the #include of Pass.h from PassManager.h. This breaks a significant
...
#include dependency, as frontends commonly pull in PassManager.h.
llvm-svn: 85714
2009-11-01 15:20:19 +00:00
Viktor Kutuzov
fd7ddd9c69
Fix to pass options from Gold plugin to LTO codegen
...
llvm-svn: 85419
2009-10-28 18:55:55 +00:00
Jeffrey Yasskin
aa8814a877
Revert the API changes from r85295 to make it easier for people to build
...
against both 2.6 and HEAD. The default is still changed to eager jitting.
llvm-svn: 85330
2009-10-27 22:39:42 +00:00
Jeffrey Yasskin
4567db45b8
Change the JIT to compile eagerly by default as agreed in
...
http://llvm.org/PR5184 , and beef up the comments to describe what both options
do and the risks of lazy compilation in the presence of threads.
llvm-svn: 85295
2009-10-27 20:30:28 +00:00
Chandler Carruth
56869f22c4
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
...
direct inclusion edge from System to Support.
llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Mikhail Glushenkov
a51c491f03
Document OptionPreprocessor.
...
llvm-svn: 85030
2009-10-25 01:44:11 +00:00
Duncan Sands
f34a264c60
Include config.h in order to have HAVE_STDINT_H be defined.
...
In the latest binutils the plugin-api.h needs this - without
it the LLVM gold plugin fails to compile.
llvm-svn: 84861
2009-10-22 16:03:32 +00:00
Chris Lattner
7a0d49da1b
llvm-ld doesn't throw.
...
llvm-svn: 84819
2009-10-22 00:52:28 +00:00
Chris Lattner
e6be8ce419
this doesn't use EH either.
...
llvm-svn: 84818
2009-10-22 00:50:24 +00:00
Chris Lattner
cc81526176
nothing opt uses can throw, remove the try block and -fexceptions when
...
building opt.
llvm-svn: 84816
2009-10-22 00:46:41 +00:00
Chris Lattner
cfa1911788
Add some command line options for twiddling the default data layout
...
used by opt when a module doesn't specify one. Patch from Kenneth Uildriks!
llvm-svn: 84814
2009-10-22 00:44:10 +00:00
Sanjiv Gupta
d6e77d004a
Added more options to mcc16 driver.
...
llvm-svn: 84752
2009-10-21 10:38:59 +00:00
Mikhail Glushenkov
93f1948caa
Clarify documentation on multi_val options.
...
llvm-svn: 84729
2009-10-21 02:13:52 +00:00
Jeffrey Yasskin
08fa03c740
Delete the MacOSJITEventListener per echristo's request. It was disabled by
...
default and didn't work anyway.
llvm-svn: 84720
2009-10-21 00:43:48 +00:00
Mikhail Glushenkov
867f67301b
First draft of the OptionPreprocessor.
...
More to follow...
llvm-svn: 84352
2009-10-17 20:09:29 +00:00
Mikhail Glushenkov
4500d416aa
-O[0-3] options should be also forwarded to opt and llc.
...
This will require implementing OptionPreprocessor to forbid invalid invocations
such as 'llvmc -O1 -O2'.
llvm-svn: 84349
2009-10-17 20:07:49 +00:00
Daniel Dunbar
2bdc1a5c86
llvm-as: Simplify, and don't create empty output files with -disable-output.
...
llvm-svn: 84304
2009-10-17 03:28:28 +00:00
Evan Cheng
5a28638560
Add a CodeGenOpt::Less level to match -O1. It'll be used by clients which do not want post-regalloc scheduling.
...
llvm-svn: 84272
2009-10-16 21:02:20 +00:00
Daniel Dunbar
c3bd60e393
MC: Remove unneeded context argument to MCExpr::Evaluate*.
...
llvm-svn: 84233
2009-10-16 01:57:52 +00:00
Daniel Dunbar
5f339244fb
MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute
...
variables and symbols invalid.
llvm-svn: 84232
2009-10-16 01:57:39 +00:00
Daniel Dunbar
d20cda028a
MC: When parsing a variable reference, substitute absolute variables immediately
...
since they are allowed to be redefined.
llvm-svn: 84230
2009-10-16 01:34:54 +00:00
Duncan Sands
6f2ffcef20
There seems to be no reason for opt's -S option to be hidden.
...
Make it visible.
llvm-svn: 84127
2009-10-14 20:01:39 +00:00
Nick Lewycky
f8dd676a50
Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!
...
llvm-svn: 83813
2009-10-11 23:10:09 +00:00
Mikhail Glushenkov
28bca602a4
Slight rewording.
...
llvm-svn: 83620
2009-10-09 05:45:38 +00:00
Mikhail Glushenkov
8f30148560
Use llvm-as only for compiling .ll -> .bc.
...
llc can compile .ll files directly these days.
llvm-svn: 83618
2009-10-09 05:45:01 +00:00
Mikhail Glushenkov
bb8386af53
Unbreak the build.
...
Forgot about the need to reconfigure after modifying Base.td.in....
llvm-svn: 83529
2009-10-08 06:03:38 +00:00
Mikhail Glushenkov
35aadbc05c
Make the Base plugin understand -MF and -MT.
...
llvm-svn: 83525
2009-10-08 04:40:28 +00:00
Duncan Sands
9ed7b16bf3
Introduce and use convenience methods for getting pointer types
...
where the element is of a basic builtin type. For example, to get
an i8* use getInt8PtrTy.
llvm-svn: 83379
2009-10-06 15:40:36 +00:00
Chris Lattner
cb08fb7b83
remove llvm-db: it is completely broken and if anyone wants to do a debugger,
...
they should not base it on llvm-db (which not following almost any "best practices").
llvm-svn: 83288
2009-10-05 02:29:51 +00:00
Oscar Fuentes
cfd4ec0226
CMake: remove .so file extension from library names when building
...
dependency info.
Patch by Peter Collingbourne!
llvm-svn: 83275
2009-10-04 06:24:57 +00:00
Mikhail Glushenkov
efc9763468
Add a way to query the number of input files.
...
llvm-svn: 82957
2009-09-28 01:16:42 +00:00
Mikhail Glushenkov
b7787297f5
Document the 'not' combinator.
...
llvm-svn: 82956
2009-09-28 01:16:07 +00:00
Chris Lattner
351a7ef01a
add a new DirectiveMap stringmap, which allows more efficient dispatching
...
to directive handlers and allows for easier extensibility.
I only switched a few over for now.
llvm-svn: 82926
2009-09-27 21:16:52 +00:00
Chris Lattner
10a1cfd0f9
avoid copying MCAsmInfo by value, add an (extremely low prio) fixme.
...
llvm-svn: 82911
2009-09-27 19:38:39 +00:00
Daniel Dunbar
e813b22b13
Make llvm-bcanalyzer percentages more readable.
...
llvm-svn: 82772
2009-09-25 16:04:21 +00:00
Daniel Dunbar
75359a7c2f
Strip trailing whitespace.
...
llvm-svn: 82771
2009-09-25 16:03:57 +00:00
Duncan Sands
3cf0cdee4c
Print INST_INBOUNDS_GEP rather than UnknownCode30.
...
Likewise for constant inbounds GEP.
llvm-svn: 82763
2009-09-25 12:28:37 +00:00
Gabor Greif
98dd936bc9
pretty mechanical changes to match coding guidelines (blessed by sabre on IRC)
...
llvm-svn: 82603
2009-09-23 02:46:12 +00:00
Daniel Dunbar
a249c42e8c
Fix llvm-config --src-root and --obj-root for CMake builds.
...
llvm-svn: 82529
2009-09-22 06:09:31 +00:00
Daniel Dunbar
af890eb82f
llvm-config: Remove unused variables.
...
llvm-svn: 82528
2009-09-22 06:09:22 +00:00
Chris Lattner
4479034537
Add an intel syntax MCInstPrinter implementation. You can now
...
transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1"
llvm-svn: 82385
2009-09-20 07:17:49 +00:00
Nick Lewycky
1303c0ab86
Remove the default value for ConstantStruct::get's isPacked parameter and
...
update the code which was broken by this.
llvm-svn: 82327
2009-09-19 20:30:26 +00:00
Devang Patel
af206b8c88
Write and read metadata attachments.
...
llvm-svn: 82259
2009-09-18 19:26:43 +00:00
Dan Gohman
e8d0150398
Now that llc can read .ll files directly, teach it to recognize .ll as
...
an extension, so that the default output filename for foo.ll is foo.s,
not foo.ll.s
llvm-svn: 82071
2009-09-16 19:18:41 +00:00
Kevin Enderby
ecd879a2d5
Fixed some problems with the logic of parsing line comments by adding
...
isAtStartOfComment and using that instead in two places where a loop
to check if the char was in MAI.getCommentString().
llvm-svn: 82059
2009-09-16 18:08:00 +00:00
Xerxes Ranby
a0f1088134
Make cmake generated llvm-config output correct JIT backend for non X86 targets.
...
llvm-svn: 82049
2009-09-16 14:36:35 +00:00
Chris Lattner
c6a889d0b6
use an accessor to simplify code.
...
llvm-svn: 81997
2009-09-16 04:12:47 +00:00
Dan Gohman
2b09de986c
Give llvm-link a -S option.
...
llvm-svn: 81859
2009-09-15 15:35:07 +00:00
Dan Gohman
972c9c5e0a
Don't bother using a PassManager just to print a Module.
...
llvm-svn: 81858
2009-09-15 15:33:42 +00:00
Chris Lattner
11b2fc9ea4
Change MCAsmStreamer to take an MCInstPrinter instead of a
...
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.
llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.
llvm-svn: 81754
2009-09-14 03:02:37 +00:00
Dan Gohman
3d2c91403c
Convert llvm-link to IRReader.
...
llvm-svn: 81632
2009-09-12 21:55:12 +00:00
Douglas Gregor
7241795049
De-bork CMake build. llvm-extract depends on asmparser
...
llvm-svn: 81574
2009-09-11 21:26:24 +00:00
Dan Gohman
e592923603
Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
...
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.
Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.
While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.
llvm-svn: 81568
2009-09-11 20:46:33 +00:00
Kevin Enderby
ce4bec8e0c
Added the ParseInstruction() hook for target specific assembler directives so
...
that things like .word can be parsed as target specific. Moved parsing .word
out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes
for other targets that support the .word directive.
llvm-svn: 81461
2009-09-10 20:51:44 +00:00
Mikhail Glushenkov
d5107d1333
Allow llvmc to take .bc files as input.
...
llvm-svn: 81452
2009-09-10 17:04:32 +00:00
Nuno Lopes
bc56152196
fix leakage of Module
...
llvm-svn: 81445
2009-09-10 14:56:31 +00:00
Daniel Dunbar
a944234a1e
MC: Give target specific parsers access to the MCStreamer.
...
llvm-svn: 81416
2009-09-10 00:59:15 +00:00
Daniel Dunbar
a53337f731
Add -output-prefix option to bugpoint (to change the default output name).
...
llvm-svn: 81154
2009-09-07 19:26:11 +00:00
Benjamin Kramer
63951ada31
Fix an integer truncation noticed by MSVC.
...
llvm-svn: 81109
2009-09-06 09:35:10 +00:00
Daniel Dunbar
6b3153bb53
opt: Add -S option to print output as LLVM assembly.
...
llvm-svn: 81082
2009-09-05 11:34:53 +00:00
Kevin Enderby
9c0f7fc746
Added AsmToken enum constants to MCAsmLexer.h for '[', ']', '{', and '}' in
...
preparation of supporting other targets. Then changed the lexer to parse these
as tokens.
llvm-svn: 81050
2009-09-04 22:40:31 +00:00
Kevin Enderby
f92f9909c4
Added the AsmToken::Hash enum constant to MCAsmLexer.h in preparation of
...
supporting other targets. Changed the code to pass MCAsmInfo to the parser
and the lexer. Then changed the lexer to use CommentString from MCAsmInfo
instead of a literal '#' character.
llvm-svn: 81046
2009-09-04 21:45:34 +00:00
Kevin Enderby
7d91218c75
Removed the non-target independent AsmToken::Register enum constant
...
from MCAsmLexer.h in preparation of supporting other targets. Changed the
X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking
for AsmToken::Percent when parsing in places that used AsmToken::Register.
Then changed X86ATTAsmParser::ParseRegister to parse out registers as an
AsmToken::Percent followed by an AsmToken::Identifier.
llvm-svn: 80929
2009-09-03 17:15:07 +00:00
Dan Gohman
728a81ab18
Make bugpoint use ParseIRFile instead of doing the same thing manually.
...
llvm-svn: 80927
2009-09-03 16:32:58 +00:00
Dan Gohman
0054b460ff
Use IRReader.h in opt, to support reading of LLVM Assembly files directly.
...
llvm-svn: 80922
2009-09-03 16:00:08 +00:00
Chris Lattner
41bf56de79
TAI -> MAI
...
llvm-svn: 80899
2009-09-03 06:13:54 +00:00
Daniel Dunbar
76628def06
Tweak comment.
...
llvm-svn: 80891
2009-09-03 05:47:22 +00:00
Douglas Gregor
ef7c1fd909
Unbreak my CMake build. Say you'll link again.
...
llvm-svn: 80842
2009-09-02 22:45:31 +00:00
Dan Gohman
c76bfb777e
Switch llc from ParseBitcodeFile to ParseIRFile. This lets llc
...
transparently read either LLVM Assembly or LLVM Bitcode files.
llvm-svn: 80829
2009-09-02 19:35:19 +00:00
Daniel Dunbar
897ffadd2d
llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.
...
llvm-svn: 80578
2009-08-31 08:09:28 +00:00
Daniel Dunbar
b7b2097aac
llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').
...
llvm-svn: 80577
2009-08-31 08:09:09 +00:00
Daniel Dunbar
b12b33051d
llvm-mc: Remove MCAsmParser::Parse[Paren]RelocatableExpression.
...
llvm-svn: 80576
2009-08-31 08:08:50 +00:00
Daniel Dunbar
7c82d56930
llvm-mc: Add MCAsmParser::Parse[Paren]Expression forms which return an MCExpr.
...
llvm-svn: 80574
2009-08-31 08:08:17 +00:00
Daniel Dunbar
940cda2590
llvm-mc: Add MCAsmParser::getContext.
...
llvm-svn: 80571
2009-08-31 08:07:44 +00:00
Daniel Dunbar
f363645da2
llvm-mc: Switch MCExpr construction to using static member functions, and taking the MCContext (which now owns all MCExprs).
...
llvm-svn: 80569
2009-08-31 08:07:22 +00:00
Daniel Dunbar
115e4d6d7b
llvm-mc: Move AsmExpr into MC lib (as MCExpr).
...
llvm-svn: 80567
2009-08-31 08:06:59 +00:00
Chris Lattner
edcbfe8529
only print the override triple if it exists!
...
llvm-svn: 80534
2009-08-31 03:22:35 +00:00
Chris Lattner
305b115a87
Fix some nasty callgraph dangling pointer problems in
...
argpromotion and structretpromote. Basically, when replacing
a function, they used the 'changeFunction' api which changes
the entry in the function map (and steals/reuses the callgraph
node).
This has some interesting effects: first, the problem is that it doesn't
update the "callee" edges in any callees of the function in the call graph.
Second, this covers for a major problem in all the CGSCC pass stuff, which
is that it is completely broken when functions are deleted if they *don't*
reuse a CGN. (there is a cute little fixme about this though :).
This patch changes the protocol that CGSCC passes must obey: now the CGSCC
pass manager copies the SCC and preincrements its iterator to avoid passes
invalidating it. This allows CGSCC passes to mutate the current SCC. However
multiple passes may be run on that SCC, so if passes do this, they are now
required to *update* the SCC to be current when they return.
Other less interesting parts of this patch are that it makes passes update
the CG more directly, eliminates changeFunction, and requires clients of
replaceCallSite to specify the new callee CGN if they are changing it.
llvm-svn: 80527
2009-08-31 00:19:58 +00:00
Daniel Dunbar
6a715dccdf
llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.
...
- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).
llvm-svn: 80484
2009-08-30 06:17:16 +00:00
Andreas Neustifter
5155fc1b69
Since all std::cout is gone, also remove iostream include.
...
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085620.html )
llvm-svn: 80349
2009-08-28 06:48:25 +00:00
Daniel Dunbar
96abad185d
llvm-mc: Emit .lcomm as .zerofill.
...
llvm-svn: 80343
2009-08-28 05:48:46 +00:00
Daniel Dunbar
e48a69b2a3
llvm-mc: Unique zero fill sections.
...
llvm-svn: 80342
2009-08-28 05:48:29 +00:00
Daniel Dunbar
8d38b8d20c
Revert r80305, I forgot a dependent change.
...
--- Reverse-merging r80305 into '.':
U tools/llvm-mc/AsmParser.cpp
llvm-svn: 80309
2009-08-27 23:58:10 +00:00
Daniel Dunbar
ba33ff294e
llvm-mc: Unique sections in .zerofill.
...
llvm-svn: 80305
2009-08-27 23:45:06 +00:00
Benjamin Kramer
53fd9f392d
Inverse logic to increase portability.
...
llvm-svn: 80240
2009-08-27 12:02:34 +00:00
Sanjiv Gupta
99c20d1459
To make mcc16 run correctly on mac.
...
llvm-svn: 80239
2009-08-27 11:54:38 +00:00
Daniel Dunbar
c7c5f9fa86
llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
...
- No relocations yet, of course.
llvm-svn: 80235
2009-08-27 08:17:51 +00:00
Daniel Dunbar
d18dd1d5f8
llvm-mc: Only show instruction encodings with --show-encoding.
...
llvm-svn: 80230
2009-08-27 07:56:39 +00:00
Daniel Dunbar
81cb753298
llvm-mc: Tweak MCCodeEmitter skeleton.
...
llvm-svn: 80193
2009-08-27 01:34:22 +00:00
Daniel Dunbar
65105174a6
Sketch TargetRegistry support for MCCodeEmitter abstract interface.
...
- Of course, nothing actually can provide this interface yet.
llvm-svn: 80188
2009-08-27 00:51:57 +00:00
Daniel Dunbar
4d7b2e3307
llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
...
sections, etc.
- The quick and dirty way, just clone the TargetLoweringObjectFile
code. Eventually this should be shared... somehow.
llvm-svn: 80168
2009-08-26 22:49:51 +00:00
Daniel Dunbar
e73b267301
llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
...
- I moved section creation back into AsmParser. I think policy decisions like
this should be pushed higher, not lower, when possible (in addition the
assembler has flags which change this behavior, for example).
llvm-svn: 80162
2009-08-26 22:13:22 +00:00
Daniel Dunbar
90398bd222
llvm-mc: Make MCValue take const MCSymbol*s.
...
llvm-svn: 80078
2009-08-26 09:16:46 +00:00
Daniel Dunbar
18f3c9b994
llvm-mc: Make non-sensical max bytes to .align an error.
...
Also, warn about overflow in alignment values.
llvm-svn: 80077
2009-08-26 09:16:34 +00:00
Andreas Neustifter
5f4e42ef9c
Changed std::cout to outs(), retaining formating.
...
llvm-svn: 80076
2009-08-26 09:05:21 +00:00
Daniel Dunbar
4cf325e090
EXIT STAGE LEFT: gccas, gccld
...
llvm-svn: 80023
2009-08-25 20:21:09 +00:00
Dan Gohman
896ef2be35
Delete some unnecessary flushes.
...
llvm-svn: 80013
2009-08-25 17:48:17 +00:00
Dan Gohman
61a8796ddb
Make LLVM command-line tools overwrite their output files without -f.
...
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".
Add a -f option to llvm-extract and llvm-link, for consistency.
Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.
Update Makefiles and documentation accordingly.
llvm-svn: 79990
2009-08-25 15:34:52 +00:00
Duncan Sands
54dd438394
Fix the build when using gcc-4.4 on linux. Header needed
...
for stderr and fprintf.
llvm-svn: 79909
2009-08-24 10:59:01 +00:00
Chris Lattner
c143023bac
remove the last *stream> #include from a public header.
...
llvm-svn: 79892
2009-08-24 04:14:03 +00:00
Dan Gohman
2ebc96ae95
These flushes were only needed when the code was transitioning between
...
std::cout and outs().
llvm-svn: 79891
2009-08-24 04:13:48 +00:00
Chris Lattner
06fa176862
prune the #includes in raw_ostream.h by moving a
...
member out of line. ftostr is not particularly speedy,
so that method is presumably not perf sensitive.
llvm-svn: 79885
2009-08-24 03:52:50 +00:00
Chris Lattner
c521f54198
Prune #includes from llvm/Linker.h and llvm/System/Path.h,
...
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869
2009-08-23 22:45:37 +00:00
Chris Lattner
b9f25f9e19
eliminate the ostream version of CheckBitcodeOutputToConsole,
...
change the raw_ostream one to take the raw_ostream byref instead
of byptr. Prune #includes, eliminate a use of Streams.h
llvm-svn: 79863
2009-08-23 21:36:09 +00:00
Chris Lattner
6973395cc7
eliminate the std::ostream forms of the bitcode writing APIs.
...
llvm-svn: 79840
2009-08-23 07:49:08 +00:00
Chris Lattner
d04d9102ab
use raw_fd_ostream instead of fstream with graphwriter,
...
flush the right stream in opt.cpp.
llvm-svn: 79837
2009-08-23 07:31:22 +00:00
Chris Lattner
1362602eb2
Change Pass::print to take a raw ostream instead of std::ostream,
...
update all code that this affects.
llvm-svn: 79830
2009-08-23 06:03:38 +00:00
Chris Lattner
3924bb5792
remove the std::ostream version of module and type printing.
...
llvm-svn: 79823
2009-08-23 04:52:46 +00:00
Chris Lattner
b25de3ff60
eliminate the "Value" printing methods that print to a std::ostream.
...
This required converting a bunch of stuff off DOUT and other cleanups.
llvm-svn: 79819
2009-08-23 04:37:46 +00:00
Chris Lattner
abd1736998
simplify output file selection, fixing two FIXMEs about binary output
...
llvm-svn: 79808
2009-08-23 02:56:05 +00:00
Chris Lattner
9e6f1f160a
Change raw_fd_ostream to take flags as an optional bitmask
...
instead of as two bools. Use this to add a F_Append flag
which has the obvious behavior.
Other unrelated changes conflated into this patch:
1. REmove EH stuff from llvm-dis and llvm-as, the try blocks
are dead.
2. Simplify the filename inference code in llvm-as/llvm-dis,
because raw_fd_ostream does the right thing with '-'.
3. Switch machine verifier to use raw_ostream instead of ostream
(Which is the thing that needed append in the first place).
llvm-svn: 79807
2009-08-23 02:51:22 +00:00
Chris Lattner
7b26fce23e
Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.
...
llvm-svn: 79763
2009-08-22 20:48:53 +00:00
Daniel Dunbar
6860ac7375
llvm-mc: Clean up some handling of symbol/section association to be more correct
...
(external was really undefined and there wasn't an explicit representation for
absolute symbols).
- This still needs some cleanup to how the absolute "pseudo" section is dealt
with, but I haven't figured out the nicest approach yet.
llvm-svn: 79733
2009-08-22 07:22:36 +00:00
Eric Christopher
c8f625b1eb
Make unit-at-a-time on by default to match the behavior of llvm-gcc.
...
llvm-svn: 79698
2009-08-21 23:30:30 +00:00
Daniel Dunbar
67dfb1de23
llvm-mc: Improve handling of implicit alignment for magic section directives
...
(e.g., .objc_message_refs).
- Just emit a .align when we see the directive; this isn't exactly what 'as'
does but in practice it should be ok, at least for now. See FIXME.
llvm-svn: 79697
2009-08-21 23:30:15 +00:00
Eric Christopher
e64061f675
Kill trailing whitespace.
...
llvm-svn: 79696
2009-08-21 23:29:40 +00:00
Daniel Dunbar
4abcccb965
llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
...
count is given (this matches 'as').
llvm-svn: 79683
2009-08-21 23:01:53 +00:00
Daniel Dunbar
8e5edd81bb
llvm-mc: Accept .fill size of 8.
...
llvm-svn: 79635
2009-08-21 15:43:35 +00:00
Daniel Dunbar
3016db39dd
llvm-mc: Start MCAssembler and MCMachOStreamer.
...
- Together these form the (Mach-O) back end of the assembler.
- MCAssembler is the actual assembler backend, which is designed to have a
reasonable API. This will eventually grow to support multiple object file
implementations, but for now its Mach-O/i386 only.
- MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
e.g. converting the various directives into fragments, managing state like
the current section, and so on.
- llvm-mc will use the new backend via '-filetype=obj', which may eventually
be, but is not yet, since I hear that people like assemblers which actually
assemble.
- The only thing that works at the moment is changing sections. For the time
being I have a Python Mach-O dumping tool in test/scripts so this stuff can
be easily tested, eventually I expect to replace this with a real LLVM tool.
- More doxyments to come.
I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.
llvm-svn: 79612
2009-08-21 09:11:24 +00:00
Daniel Dunbar
9df5f33818
llvm-mc: Various section parsing fixes.
...
- Add missing flags for various Objective-C sections.
- Fix names for [non_]lazy_symbol_pointer (these are misspelled in the manual).
- .symbol_stub does not have the self modifying code flag set (this appears to
be wrong in the manual?).
- Add implicit alignment values; not yet used.
Also, call MCStreamer::Finish at the end of a successful parse.
llvm-svn: 79611
2009-08-21 08:34:18 +00:00
Daniel Dunbar
ad8b653f93
Don't install llvm-mc by default.
...
llvm-svn: 79604
2009-08-21 07:28:33 +00:00
Daniel Dunbar
5c947db79c
Fix a commento.
...
llvm-svn: 79427
2009-08-19 16:25:53 +00:00
Benjamin Kramer
47f6943a95
Proper MSVC build fix (and remove my hack again). Patch by Yonggang Luo.
...
llvm-svn: 79418
2009-08-19 12:38:51 +00:00
Benjamin Kramer
9d908589d3
Add a hack to unbreak MSVC builds. str(n)casecmp are POSIX functions and aren't available on windows (mingw defines them though).
...
llvm-svn: 79417
2009-08-19 12:16:17 +00:00
Nick Lewycky
e6e82b8480
Include valgrind in the steps to reproduce if valgrind was used to reproduce
...
the problem.
llvm-svn: 79322
2009-08-18 06:08:01 +00:00
Chris Lattner
dd1db9cc81
"-" should write to stdout, not stderr.
...
llvm-svn: 79310
2009-08-18 04:03:24 +00:00
Daniel Dunbar
8575a60d33
Change bugpoint to use Triple to make runtime decisions.
...
- This is cleaner, and makes bugpoint match the host instead of the build
architecture.
- Patch by Sandeep Patel!
llvm-svn: 79309
2009-08-18 03:35:57 +00:00
Anton Korobeynikov
90e17e787f
The attached patches attempt to fix cross builds. For example, if you
...
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.
Patch by Sandeep Patel!
llvm-svn: 79296
2009-08-18 00:40:33 +00:00
Chris Lattner
a61e93d4b5
give MCAsmStreamer a TargetAsmInfo.
...
llvm-svn: 79222
2009-08-17 04:23:44 +00:00
Oscar Fuentes
91bd6c922d
CMake: Discriminate MINGW, MSYS, CYGWIN: does not try to build llvm-config under mingw without msys.
...
llvm-svn: 79202
2009-08-16 20:50:41 +00:00
Daniel Dunbar
ef668c169b
llvm-mc: Support escaped characters in string literals (for .ascii and .asciz)
...
llvm-svn: 79010
2009-08-14 18:19:52 +00:00
Oscar Fuentes
1ea4b3a4b5
CMake: Automatic regeneration of the library dependencies file.
...
It doesn't stop or reconfigure the build, though, so the user will see
a broken build that magically succeeds at the next attempt. It is
technically possible to halt the build with a helpful message, and
even to automatically restart the build using the new dependencies as
it we did when llvm-config was used by cmake for learning
dependencies. This is left on the TODO list.
llvm-svn: 79004
2009-08-14 16:59:41 +00:00
Oscar Fuentes
5444cb13ab
CMake: propagate to the parent scope LLVM_COMMON_DEPENDS. This is
...
necessary for the changes being effective on the successive targets
llvm-svn: 78989
2009-08-14 04:29:33 +00:00
Daniel Dunbar
80d484e7cc
Update llvm-mc / MCAsmStreamer to print the instruction using the actual target
...
specific printer (this only works on x86, for now).
- This makes it possible to do some correctness checking of the parsing and
matching, since we can compare the results of 'as' on the original input, to
those of 'as' on the output from llvm-mc.
- In theory, we could now have an easy ATT -> Intel syntax converter. :)
llvm-svn: 78986
2009-08-14 03:48:55 +00:00
Daniel Dunbar
cbf4faf48d
llvm-mc: Move MCAsmToken::getLoc() into MC library where it belongs.
...
llvm-svn: 78980
2009-08-14 02:18:40 +00:00
Oscar Fuentes
9082c71057
CMake: build llvm-config before the other tools.
...
llvm-svn: 78975
2009-08-14 01:55:05 +00:00
Owen Anderson
55f1c09e31
Push LLVMContexts through the IntegerType APIs.
...
llvm-svn: 78948
2009-08-13 21:58:54 +00:00
Dan Gohman
6dd7cb5dfe
Simplify this code so that it doesn't depend on raw_ostream being copyable.
...
llvm-svn: 78915
2009-08-13 16:51:51 +00:00
Daniel Dunbar
7ee9649097
Update llvm-prof for ProfileInfo API changes.
...
- Patch by Erick Tryzelaar
llvm-svn: 78880
2009-08-13 01:55:43 +00:00
Dan Gohman
1432ef864e
This void is implicit in C++.
...
llvm-svn: 78848
2009-08-12 22:10:57 +00:00
Oscar Fuentes
06eef1c2fe
CMake: Localized dependency on Perl.
...
llvm-svn: 78788
2009-08-12 04:16:19 +00:00
Oscar Fuentes
c1341ea9de
CMake: Re-enabled build of llvm-config. Removed recursive invocation
...
of cmake.
llvm-svn: 78768
2009-08-12 01:36:27 +00:00
Daniel Dunbar
7f8a9ebc8d
llvm-mc: Fix a crash on invalid due to a typo in relocatable expression
...
evaluation.
llvm-svn: 78692
2009-08-11 17:47:52 +00:00
Benjamin Kramer
78c3bcb582
Make LLVMContext and LLVMContextImpl classes instead of structs.
...
llvm-svn: 78690
2009-08-11 17:45:13 +00:00
Benjamin Kramer
6d78d69586
Silence MSVC warning.
...
llvm-svn: 78660
2009-08-11 11:01:19 +00:00
Daniel Dunbar
ba95a7cd8d
llvm-mc: Accept .word as a synonym for .short
...
llvm-svn: 78641
2009-08-11 04:44:00 +00:00
Daniel Dunbar
cd4eee5443
llvm-mc: Honor -o option (and add -f).
...
llvm-svn: 78640
2009-08-11 04:34:48 +00:00
Daniel Dunbar
a4b069ce00
llvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these
...
yet (I'm not even sure what they do).
llvm-svn: 78639
2009-08-11 04:24:50 +00:00
Daniel Dunbar
9af747b421
llvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','
...
(and outputting a diagnostic pointing at the wrong place), all of which lead to
much confusion.
llvm-svn: 78637
2009-08-11 03:42:33 +00:00
Jim Grosbach
693e36a3e8
SjLj based exception handling unwinding support. This patch is nasty, brutish
...
and short. Well, it's kinda short. Definitely nasty and brutish.
The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.
Built on Darwin and verified no llvm-core "make check" regressions.
llvm-svn: 78625
2009-08-11 00:09:57 +00:00
Chris Lattner
6c20391d38
split MachO section handling stuff out to its out .h/.cpp file.
...
llvm-svn: 78576
2009-08-10 18:15:01 +00:00
Chris Lattner
97189e5d04
add a fixme
...
llvm-svn: 78575
2009-08-10 18:05:55 +00:00
Chris Lattner
7b01bf6125
fix some warnings for the MSVC build, by Yonggang Luo!
...
llvm-svn: 78571
2009-08-10 17:35:42 +00:00
Chris Lattner
cb307a27bf
Make the big switch: Change MCSectionMachO to represent a section *semantically*
...
instead of syntactically as a string. This means that it keeps track of the
segment, section, flags, etc directly and asmprints them in the right format.
This also includes parsing and validation support for llvm-mc and
"attribute(section)", so we should now start getting errors about invalid
section attributes from the compiler instead of the assembler on darwin.
Still todo:
1) Uniquing of darwin mcsections
2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h]
3) there are a few FIXMEs, for example what is the syntax to get the
S_GB_ZEROFILL segment type?
llvm-svn: 78547
2009-08-10 01:39:42 +00:00
Chris Lattner
591105c540
sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
...
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)
llvm-svn: 78517
2009-08-08 23:39:42 +00:00
Chris Lattner
089b7de20d
switch this to create coff sections for now, it doesn't really matter for
...
llvm-mc's purpose yet and we'll want to switch to creating semantic sections
at some point.
llvm-svn: 78509
2009-08-08 22:38:48 +00:00
Daniel Dunbar
2f140834cf
Some ProfileInfo cleanups.
...
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78485
2009-08-08 18:59:03 +00:00
Daniel Dunbar
3b5008e23a
More ProfileInfo improvements.
...
- Part of optimal static profiling patch sequence by Andreas Neustifter.
- Store edge, block, and function information separately for each functions
(instead of in one giant map).
- Return frequencies as double instead of int, and use a sentinel value for
missing information.
llvm-svn: 78477
2009-08-08 17:43:09 +00:00
Benjamin Kramer
7641cf8e4d
Always initialize AsmConds.
...
llvm-svn: 78463
2009-08-08 11:26:50 +00:00
Kevin Enderby
d9f952948e
Added Mac OS X assembler style conditional assembly. I may come back and see if
...
I can clean this up a bit more and do way with the TheCondState and just use
the top element on the TheCondStack if not empty. Also may tweak the code
around ParseConditionalAssemblyDirectives() to simplify the AsmParser code.
llvm-svn: 78423
2009-08-07 22:46:00 +00:00
Daniel Dunbar
86ec7bae4f
MSVC warning fixes; patch by Stein Roger!
...
llvm-svn: 78405
2009-08-07 20:50:09 +00:00
Sanjiv Gupta
bdaaacad9a
llvm-ld has a new option called -b to specify the name of bitcode output file, use that.
...
llvm-svn: 78282
2009-08-06 04:09:26 +00:00
Owen Anderson
03cb69fbd1
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.
...
llvm-svn: 78258
2009-08-05 23:16:16 +00:00
Daniel Dunbar
4f6f6d080f
Make block and function count available via ProfileInfo.
...
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78247
2009-08-05 21:51:16 +00:00
Dan Gohman
198f5e84c6
Use (void *)(intptr_t) to cast function addresses to void*
...
for use with sys::Path::GetMainExecutable, to avoid warnings
with -pedantic.
llvm-svn: 78245
2009-08-05 21:03:39 +00:00
Dan Gohman
46ffffa750
Fix FindExecutable to use sys::Path::GetMainExecutable instead of
...
just argv[0]. And remove the code for searching the current
working directory and for searching PATH; the point of FindExecutable
is not to find whatever version of the executable can be found by
searching around, but to find an executable that accompanies the
current executable.
Update the tools to use sys::Program::FindProgramByName when they
want PATH searching.
llvm-svn: 78240
2009-08-05 20:21:17 +00:00
Daniel Dunbar
b6fec38426
Remove unnecessary ProfileInfoLoader methods.
...
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78199
2009-08-05 15:55:56 +00:00
Anton Korobeynikov
0c3f8d5f53
Pass user only if it's non-empty. Patch by Sandeep.
...
llvm-svn: 78184
2009-08-05 09:32:53 +00:00
Anton Korobeynikov
7cbff91e62
Add save-temps option to bugpoint to keep temporary stuff.
...
Patch by Sandeep Patel
llvm-svn: 78183
2009-08-05 09:32:10 +00:00
Dan Gohman
b880939834
lli doesn't need <iostream> anymore.
...
llvm-svn: 78133
2009-08-05 00:28:59 +00:00
Owen Anderson
afd0c4cd56
Factor some of the constants+context related code out into a separate header, to make LLVMContextImpl.h
...
not hideous. Also, fix some MSVC compile errors.
llvm-svn: 78115
2009-08-04 22:41:48 +00:00
Daniel Dunbar
ad9a6c4855
No really, it's unused.
...
llvm-svn: 78047
2009-08-04 04:08:40 +00:00
Daniel Dunbar
c0deed3263
Provide target data from the module if the target machine doesn't have any.
...
llvm-svn: 77973
2009-08-03 17:34:19 +00:00
Nick Lewycky
129bb4165f
Remove the GCC path from libLTO. This has been superceded by setAssemblerPath.
...
llvm-svn: 77960
2009-08-03 07:16:42 +00:00
Daniel Dunbar
719d235520
Remove now unused arguments from TargetRegistry::lookupTarget.
...
llvm-svn: 77950
2009-08-03 04:20:57 +00:00
Daniel Dunbar
0f16ea5c30
Pass target triple string in to TargetMachine constructor.
...
This is not just a matter of passing in the target triple from the module;
currently backends are making decisions based on the build and host
architecture. The goal is to migrate to making these decisions based off of the
triple (in conjunction with the feature string). Thus most clients pass in the
target triple, or the host triple if that is empty.
This has one important change in the way behavior of the JIT and llc.
For the JIT, it was previously selecting the Target based on the host
(naturally), but it was setting the target machine features based on the triple
from the module. Now it is setting the target machine features based on the
triple of the host.
For LLC, -march was previously only used to select the target, the target
machine features were initialized from the module's triple (which may have been
empty). Now the target triple is taken from the module, or the host's triple is
used if that is empty. Then the triple is adjusted to match -march.
The take away is that -march for llc is now used in conjunction with the host
triple to initialize the subtarget. If users want more deterministic behavior
from llc, they should use -mtriple, or set the triple in the input module.
llvm-svn: 77946
2009-08-03 04:03:51 +00:00
Chris Lattner
73d577c933
Make SectionKind::get() private.
...
llvm-svn: 77835
2009-08-02 00:02:44 +00:00
Chris Lattner
a61c05adc0
update for API change.
...
llvm-svn: 77804
2009-08-01 21:14:30 +00:00
Chris Lattner
95bad379a9
All MCSections are now required to have a SectionKind.
...
llvm-svn: 77787
2009-08-01 18:25:49 +00:00
Daniel Dunbar
c54ecb384d
llvm-mc: More quoted identifier support.
...
llvm-svn: 77761
2009-08-01 00:48:30 +00:00
Daniel Dunbar
9ee33ca28e
llvm-mc: Support quoted identifiers.
...
- Uses MCAsmToken::getIdentifier which returns the (sub)string representing the
meaningfull contents a string or identifier token.
- Directives aren't done yet.
llvm-svn: 77739
2009-07-31 21:55:09 +00:00
Owen Anderson
5a1acd9912
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
...
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
2009-07-31 20:28:14 +00:00
Chris Lattner
4b21d044a4
fix some more issues where we expected GetSection to do "get or create"
...
llvm-svn: 77700
2009-07-31 18:27:48 +00:00
Chris Lattner
0f5a6fc38b
fix a bunch of failing tests now that MCContext::GetSection doesn't create sections.
...
llvm-svn: 77689
2009-07-31 17:47:16 +00:00
Owen Anderson
b292b8ce70
Move more code back to 2.5 APIs.
...
llvm-svn: 77635
2009-07-30 23:03:37 +00:00
Devang Patel
5ac2f49516
Handle NamedMDNode.
...
llvm-svn: 77633
2009-07-30 23:03:19 +00:00
Owen Anderson
4056ca9568
Move types back to the 2.5 API.
...
llvm-svn: 77516
2009-07-29 22:17:13 +00:00
Owen Anderson
487375e9a2
Move ConstantExpr to 2.5 API.
...
llvm-svn: 77494
2009-07-29 18:55:55 +00:00
David Goodwin
2c04ff6402
Add a bugpoint flag to disable block extraction.
...
llvm-svn: 77389
2009-07-28 23:08:36 +00:00
Daniel Dunbar
fdbad74423
Update CMakeLists
...
llvm-svn: 77385
2009-07-28 22:46:39 +00:00
Daniel Dunbar
e1fdb0e8ce
Move X86 instruction parsing into X86/AsmParser.
...
llvm-svn: 77384
2009-07-28 22:40:46 +00:00
Daniel Dunbar
c43267a472
Make expression parsing and error/warning reporting available through the
...
generic MCAsmParser interface.
llvm-svn: 77381
2009-07-28 22:22:31 +00:00
Daniel Dunbar
f59ee96a16
Provide generic MCAsmParser when constructing target specific parsers.
...
llvm-svn: 77362
2009-07-28 20:47:52 +00:00
Owen Anderson
c2c7932c64
Change ConstantArray to 2.5 API.
...
llvm-svn: 77347
2009-07-28 18:32:17 +00:00
Daniel Dunbar
d806996191
Switch X86 assembly parser to using the generic lexer interface.
...
llvm-svn: 77341
2009-07-28 18:17:26 +00:00
Daniel Dunbar
6d1e79dded
Expose Tokens to target specific assembly parsers.
...
llvm-svn: 77337
2009-07-28 17:58:44 +00:00
Daniel Dunbar
bc79816f28
Switch AsmLexer::Lex to returning a reference to the current token.
...
llvm-svn: 77328
2009-07-28 16:56:42 +00:00
Daniel Dunbar
ee4465cf82
Drop some AsmLexer methods in favor of their AsmToken equivalents.
...
llvm-svn: 77323
2009-07-28 16:38:40 +00:00
Daniel Dunbar
f2dcd77253
llvm-mc: Sink token enum into AsmToken.
...
llvm-svn: 77322
2009-07-28 16:08:33 +00:00
Nick Lewycky
1b329eb2bf
Remove memory corruption bug. string.c_str() was returning a temporary that was
...
dead before we used it.
llvm-svn: 77304
2009-07-28 06:53:50 +00:00
Daniel Dunbar
8368f4e8a4
llvm-mc: Factor AsmToken class out of AsmLexer.
...
llvm-svn: 77292
2009-07-28 03:00:54 +00:00
Daniel Dunbar
5cf338ad60
llvm-mc: Stop uniqueing string tokens, nothing actually uses this.
...
llvm-svn: 77287
2009-07-28 00:58:50 +00:00
Dan Gohman
a30c0a1b3e
Pass true to the Internalize parameter of createStandardLTOPasses,
...
to match llvm-ld's default behavior.
llvm-svn: 77273
2009-07-27 23:23:47 +00:00
Daniel Dunbar
eb6bb32bef
llvm-mc: Implement .abort fully in the front end
...
llvm-svn: 77272
2009-07-27 23:20:52 +00:00
Owen Anderson
45308b578b
Move ConstantStruct back to 2.5 API.
...
llvm-svn: 77266
2009-07-27 22:29:26 +00:00
Daniel Dunbar
52d03b252e
llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.
...
- My DFS traversal of LLVM is, at least for now, nearly complete! :)
llvm-svn: 77258
2009-07-27 21:49:56 +00:00
Nick Lewycky
fd6a2498ab
Fix libLTO:
...
* Call InitializeAllTargets on every path where we might query the
TargetRegistry. This fixes PR4604.
* flush the formatted_raw_ostream& or else not all of the assembly will make
it to the .s file. (It doesn't do this in its destructor?!)
* Due to a reversed conditional, libLTO was reporting many symbols as both
defined and undefined, including two definitions of the same symbol name
in its symbol list.
llvm-svn: 77170
2009-07-26 22:16:39 +00:00
Daniel Dunbar
6115b39ffd
Remove Value::getName{Start,End}, the last of the old Name APIs.
...
llvm-svn: 77152
2009-07-26 09:48:23 +00:00
Daniel Dunbar
ee01b242e8
Factor commonality in triple match routines into helper template for registering
...
classes, and migrate existing targets over.
llvm-svn: 77126
2009-07-26 05:03:33 +00:00
Daniel Dunbar
47d679151b
Add TargetRegistry::lookupTarget.
...
- This is a simplified mechanism which just looks up a target based on the
target triple, with a few additional flags.
- Remove getClosestStaticTargetForModule, the moral equivalent is now:
lookupTarget(Mod->getTargetTriple, true, false, ...);
- This no longer does the fuzzy matching with target data (based on endianness
and pointer width) that getClosestStaticTargetForModule was doing, but this
was deemed unnecessary.
llvm-svn: 77111
2009-07-26 02:12:58 +00:00
Daniel Dunbar
d786b51ea4
Remove Value::setName(const char*, unsigned).
...
llvm-svn: 77100
2009-07-26 00:34:27 +00:00
Daniel Dunbar
67395e7c2c
One more getName -> getNameStr
...
llvm-svn: 77027
2009-07-25 00:43:31 +00:00
Owen Anderson
edb4a70325
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
...
llvm-svn: 77011
2009-07-24 23:12:02 +00:00
Daniel Dunbar
12368685d8
Switch to getNameStr().
...
llvm-svn: 76962
2009-07-24 08:24:36 +00:00
Reid Kleckner
4b3a356493
Re-committing r76828 with the JIT memory manager changes now that the build
...
bots like the BumpPtrAllocator changes.
llvm-svn: 76902
2009-07-23 21:46:56 +00:00
Daniel Dunbar
5bf72e20eb
Convert StringMap to using StringRef for its APIs.
...
- Yay for '-'s and simplifications!
- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.
- NIFC.
llvm-svn: 76888
2009-07-23 18:17:34 +00:00
Reid Kleckner
921673225c
Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.
...
llvm-svn: 76838
2009-07-23 01:40:54 +00:00
Devang Patel
e059ba6ed2
Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.
...
llvm-svn: 76834
2009-07-23 01:07:34 +00:00
Reid Kleckner
1a722d9b73
Make the JIT code emitter properly retry and ask for more memory when it runs
...
out of memory, and also make the default memory manager allocate more memory
when it runs out.
Also, switch function stubs and global data over to using the BumpPtrAllocator.
This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB
of memory, and instead allocates in 512K slabs. I suspect this size could go
lower, especially on embedded platforms, now that more slabs can be allocated.
llvm-svn: 76828
2009-07-23 00:49:59 +00:00
Daniel Dunbar
5899dda08c
Switch some clients to Value::getName(), and other getName() user
...
simplification.
- NFC
llvm-svn: 76789
2009-07-22 21:33:09 +00:00
Sanjiv Gupta
5200f046d5
Added -b option to override the default bitcode output file name.
...
llvm-svn: 76768
2009-07-22 18:41:45 +00:00
Devang Patel
7428d8acec
Introduce MetadataBase, a base class for MDString and MDNode.
...
Derive MDString directly from MetadataBase.
Introduce new bitcode block to hold metadata.
llvm-svn: 76759
2009-07-22 17:43:22 +00:00
Owen Anderson
47db941fd3
Get rid of the Pass+Context magic.
...
llvm-svn: 76702
2009-07-22 00:24:57 +00:00
Evan Cheng
c9ec735aa8
80 col violation.
...
llvm-svn: 76629
2009-07-21 19:25:09 +00:00
Daniel Dunbar
5899e340f3
Simplify / normalize some uses of Value::getName.
...
llvm-svn: 76553
2009-07-21 08:54:24 +00:00
Kevin Enderby
ee5513582d
Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as
...
the parsing of the .dump and .load should be done in the assembly parser and
not have any need for an MCStreamer API. Changed the code for now so these
just produce an error saying these specific directives are not yet implemented
since they are likely no longer used and may never need to be implemented.
llvm-svn: 76462
2009-07-20 20:25:37 +00:00
Daniel Dunbar
2b11c7de4a
Add MCAsmLexer interface.
...
- This provides the AsmLexer interface to the target specific assembly parsers.
llvm-svn: 76460
2009-07-20 20:01:54 +00:00
Daniel Dunbar
3c2a893ac7
Add MCAsmParser interface.
...
- This provides the AsmParser interface to the target specific assembly
parsers.
llvm-svn: 76453
2009-07-20 18:55:04 +00:00
David Goodwin
47ca461c82
For remote execution, must cd to the executable directory since the exe expects to find a dylib in the CWD ('.').
...
llvm-svn: 76432
2009-07-20 17:15:03 +00:00
Daniel Dunbar
7369951bfe
Add -std-{compile,link}-opts to bugpoint.
...
- Sheesh.
llvm-svn: 76402
2009-07-20 07:01:01 +00:00
Bill Wendling
a3c6f6bffa
Add plumbing for the `linker_private' linkage type. This type is meant for
...
"private" symbols which the assember shouldn't strip, but which the linker may
remove after evaluation. This is mostly useful for Objective-C metadata.
This is plumbing, so we don't have a use of it yet. More to come, etc.
llvm-svn: 76385
2009-07-20 01:03:30 +00:00
Chris Lattner
14d021f538
fix test
...
llvm-svn: 76378
2009-07-19 20:19:25 +00:00
Chris Lattner
7e8aaad1a0
DisambiguateGlobalSymbols should not mangle intrinsics.
...
llvm-svn: 76377
2009-07-19 20:19:04 +00:00
Viktor Kutuzov
858702541d
Require a remote command to exit with the exit status of the test program or with 255 if an error occurred.
...
llvm-svn: 76323
2009-07-18 18:39:24 +00:00
Daniel Dunbar
a78d809abc
Switch lli back to using allocate-gvs-with-code behavior.
...
- Otherwise we get two regressions in llvm-test for applications which run out
of space.
- Once the JIT memory manager is improved, this can be switched back.
llvm-svn: 76291
2009-07-18 08:07:13 +00:00
Reid Kleckner
fc8a2d5a83
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
...
Also a test commit.
llvm-svn: 76276
2009-07-18 00:42:18 +00:00
Daniel Dunbar
7b1a4c18ea
llvm-mc: Default -triple to LLVM_HOSTTRIPLE.
...
llvm-svn: 76260
2009-07-17 22:51:20 +00:00
Daniel Dunbar
8c6bad2f66
llvm-mc: Add -triple, and start fetching the target asm printer.
...
llvm-svn: 76257
2009-07-17 22:38:58 +00:00
Daniel Dunbar
36d5769ab0
Reenable asmparser dependency generation, now with improved Perl foo.
...
llvm-svn: 76243
2009-07-17 21:26:27 +00:00
Daniel Dunbar
6b35d3c9de
Disable llvm-config magic for AsmParser, it is isn't right & is breaking the build.
...
llvm-svn: 76242
2009-07-17 21:22:20 +00:00
Daniel Dunbar
71475775b9
Sketch support for target specific assembly parser.
...
- Not fully enabled yet, need a configure regeneration.
llvm-svn: 76230
2009-07-17 20:42:00 +00:00
Bob Wilson
46f079e33f
Fix a crash in SROA. The FunctionPass::doInitialization method was never
...
being called so that Context was never initialized. I'm not sure if this
is the right fix but at least it keeps opt from crashing.
llvm-svn: 76220
2009-07-17 19:05:13 +00:00
Daniel Dunbar
41f9a3afdb
opt: Add -std-link-opts argument, matches llvm-ld's optimizations.
...
llvm-svn: 76199
2009-07-17 18:09:39 +00:00
Kevin Enderby
dd27e5e10a
Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a generic
...
EmitAssemblerFlag API which takes a value from the added AssemblerFlag
enumerated constants.
llvm-svn: 76087
2009-07-16 17:56:39 +00:00
Kevin Enderby
7bef8bc320
Clean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoad
...
so it is defined with a lifetime that is as short as possible.
llvm-svn: 76082
2009-07-16 17:17:46 +00:00
Dan Gohman
ee05152cfa
Convert more tools code from cerr and cout to errs() and outs().
...
llvm-svn: 76070
2009-07-16 15:30:09 +00:00
Chris Lattner
693fbb8fee
implement .include in the lexer/parser instead of passing it into the streamer.
...
llvm-svn: 75896
2009-07-16 06:14:39 +00:00
Daniel Dunbar
4580638808
Kill off last uses of TargetMachineRegistry class.
...
llvm-svn: 75892
2009-07-16 02:41:19 +00:00
Daniel Dunbar
d3706458df
Switch llc and createJIT to use simpler command line parsing for -march.
...
llvm-svn: 75890
2009-07-16 02:23:53 +00:00
Daniel Dunbar
3d92d936b9
Make sure targets are initialized before we do anything, even command line
...
processing.
llvm-svn: 75888
2009-07-16 02:04:54 +00:00
Dan Gohman
2b30e8be44
Fix this comment to mention outs() rather than cout.
...
llvm-svn: 75858
2009-07-15 23:33:14 +00:00
Owen Anderson
19251ec836
To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now.
...
This will let us to hardwire stuff to the global context in the short term while the API is sorted out.
llvm-svn: 75846
2009-07-15 22:16:10 +00:00
Daniel Dunbar
e833810a5e
Reapply TargetRegistry refactoring commits.
...
--- Reverse-merging r75799 into '.':
U test/Analysis/PointerTracking
U include/llvm/Target/TargetMachineRegistry.h
U include/llvm/Target/TargetMachine.h
U include/llvm/Target/TargetRegistry.h
U include/llvm/Target/TargetSelect.h
U tools/lto/LTOCodeGenerator.cpp
U tools/lto/LTOModule.cpp
U tools/llc/llc.cpp
U lib/Target/PowerPC/PPCTargetMachine.h
U lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
U lib/Target/PowerPC/PPCTargetMachine.cpp
U lib/Target/PowerPC/PPC.h
U lib/Target/ARM/ARMTargetMachine.cpp
U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
U lib/Target/ARM/ARMTargetMachine.h
U lib/Target/ARM/ARM.h
U lib/Target/XCore/XCoreTargetMachine.cpp
U lib/Target/XCore/XCoreTargetMachine.h
U lib/Target/PIC16/PIC16TargetMachine.cpp
U lib/Target/PIC16/PIC16TargetMachine.h
U lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
U lib/Target/Alpha/AlphaTargetMachine.cpp
U lib/Target/Alpha/AlphaTargetMachine.h
U lib/Target/X86/X86TargetMachine.h
U lib/Target/X86/X86.h
U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
U lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h
U lib/Target/X86/X86TargetMachine.cpp
U lib/Target/MSP430/MSP430TargetMachine.cpp
U lib/Target/MSP430/MSP430TargetMachine.h
U lib/Target/CppBackend/CPPTargetMachine.h
U lib/Target/CppBackend/CPPBackend.cpp
U lib/Target/CBackend/CTargetMachine.h
U lib/Target/CBackend/CBackend.cpp
U lib/Target/TargetMachine.cpp
U lib/Target/IA64/IA64TargetMachine.cpp
U lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
U lib/Target/IA64/IA64TargetMachine.h
U lib/Target/IA64/IA64.h
U lib/Target/MSIL/MSILWriter.cpp
U lib/Target/CellSPU/SPUTargetMachine.h
U lib/Target/CellSPU/SPU.h
U lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
U lib/Target/CellSPU/SPUTargetMachine.cpp
U lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
U lib/Target/Mips/MipsTargetMachine.cpp
U lib/Target/Mips/MipsTargetMachine.h
U lib/Target/Mips/Mips.h
U lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
U lib/Target/Sparc/SparcTargetMachine.cpp
U lib/Target/Sparc/SparcTargetMachine.h
U lib/ExecutionEngine/JIT/TargetSelect.cpp
U lib/Support/TargetRegistry.cpp
llvm-svn: 75820
2009-07-15 20:24:03 +00:00
Dan Gohman
607818a2c1
Add a Force option to raw_fd_ostream to specify whether opening
...
an existing file is considered an error. Convert several tools
to use raw_fd_ostream instead of std::ostream, and to use this
new option instead of doing a manual check.
llvm-svn: 75801
2009-07-15 17:29:42 +00:00
Stuart Hastings
338191cd67
Revert 75762, 75763, 75766..75769, 75772..75775, 75778, 75780, 75782 to repair broken LLVM-GCC build.
...
Will revert 75770 in the llvm-gcc trunk.
llvm-svn: 75799
2009-07-15 17:27:11 +00:00
Dan Gohman
d8db376071
Use errs() instead of std::cerr.
...
llvm-svn: 75791
2009-07-15 16:35:29 +00:00
Kevin Enderby
09ea5709a2
Added llvm-mc support for parsing the .dump and .load directives.
...
llvm-svn: 75786
2009-07-15 15:30:11 +00:00
Daniel Dunbar
5eb9700578
Migrate llc and the JIT to using the TargetRegistry for lookups.
...
- They still use the TargetMachineRegistry to populate the contents of the
-march option (via the listener interface). We can't just populate it in the
option parser because we can't expect the TargetRegistry to be populated yet
(we no longer rely on static constructors).
- There are a couple ways to finish killing off TargetMachineRegistry, but I
haven't figured out the cleanest one yet...
llvm-svn: 75773
2009-07-15 11:36:15 +00:00
Daniel Dunbar
a8d73996ce
Switch some obvious clients to using the new TargetRegistry.
...
llvm-svn: 75767
2009-07-15 10:05:03 +00:00
Daniel Dunbar
2179d73133
Teach Makefiles & CMake to link in the <TARGET>Info library when linking the
...
TARGET component.
- Also, updated some CMake library dependencies, it is still missing some
though. :(
llvm-svn: 75755
2009-07-15 07:43:34 +00:00
Chris Lattner
c35b5bac32
eliminate the Mangler::PreserveAsmNames bit, the sole client of this
...
can do it perfectly well itself.
llvm-svn: 75743
2009-07-15 04:50:47 +00:00
Evan Cheng
d1c4705577
control reaches end of non-void function.
...
llvm-svn: 75714
2009-07-14 23:55:32 +00:00
Kevin Enderby
d1ea5393c9
Added llvm-mc support for parsing the .include directive.
...
llvm-svn: 75711
2009-07-14 23:21:55 +00:00
Owen Anderson
b6b2530000
Move EVER MORE stuff over to LLVMContext.
...
llvm-svn: 75703
2009-07-14 23:09:55 +00:00
Kevin Enderby
cbe475dfe8
Added llvm-mc support for parsing the .lsym directive.
...
llvm-svn: 75685
2009-07-14 21:35:03 +00:00
David Greene
a31f96cf2b
Have asm printers use formatted_raw_ostream directly to avoid a
...
dynamic_cast<>.
llvm-svn: 75670
2009-07-14 20:18:05 +00:00
Viktor Kutuzov
1518de130e
Fix for bugpoint -remote-client
...
llvm-svn: 75665
2009-07-14 19:10:55 +00:00
Chris Lattner
8c9a96b966
Reapply my previous asmprinter changes now with more testing and two
...
additional bug fixes:
1. The bug that everyone hit was a problem in the asmprinter where it
would remove $stub but keep the L prefix on a name when emitting the
indirect symbol. This is easy to fix by keeping the name of the stub
and the name of the symbol in a StringMap instead of just keeping a
StringSet and trying to reconstruct it late.
2. There was a problem printing the personality function. The current
logic to print out the personality function from the DWARF information
is a bit of a cesspool right now that duplicates a bunch of other
logic in the asm printer. The short version of it is that it depends
on emitting both the L and _ prefix for symbols (at least on darwin)
and until I can untangle it, it is best to switch the mangler back to
emitting both prefixes.
llvm-svn: 75646
2009-07-14 18:17:16 +00:00
Kevin Enderby
4c21caa656
Added llvm-mc support for parsing the .desc directive.
...
llvm-svn: 75645
2009-07-14 18:17:10 +00:00
Daniel Dunbar
eb3e4271e8
Revert r7561{9,8,7,6}, which depend on r75610.
...
--- Reverse-merging r75619 into '.':
U lib/Target/DarwinTargetAsmInfo.cpp
U lib/CodeGen/AsmPrinter/AsmPrinter.cpp
--- Reverse-merging r75618 into '.':
U lib/CodeGen/ELFWriter.cpp
U lib/CodeGen/MachOCodeEmitter.cpp
U lib/CodeGen/MachOWriter.cpp
--- Reverse-merging r75617 into '.':
U lib/Target/CBackend/CBackend.cpp
--- Reverse-merging r75616 into '.':
U tools/bugpoint/Miscompilation.cpp
U tools/lto/LTOCodeGenerator.cpp
U tools/lto/LTOModule.cpp
llvm-svn: 75638
2009-07-14 16:25:11 +00:00
Daniel Dunbar
277e11b116
Move main llvm-prof functionality into a ModulePass.
...
- To support using the ProfileInfo analysis results instead of accessing the
ProfileInfoLoader directly.
- Based on (part of) a patch by Andreas Neustifter.
- No functionality change.
llvm-svn: 75625
2009-07-14 07:41:11 +00:00
Chris Lattner
0639a72834
rename getValueName -> getMangledName
...
llvm-svn: 75616
2009-07-14 06:19:07 +00:00
Kevin Enderby
56523ceba1
Added llvm-mc support for parsing the .abort directive.
...
llvm-svn: 75545
2009-07-13 23:15:14 +00:00
Dan Gohman
e2d31aa132
#include "llvm/Assembly/Writer.h" to get the declaration for WriteAsOperand.
...
llvm-svn: 75542
2009-07-13 22:56:37 +00:00
Owen Anderson
b258410a1b
Fix the build.
...
llvm-svn: 75536
2009-07-13 22:40:32 +00:00
Owen Anderson
e4dcecd006
As Chris pointed out, this doesn't actually need an LLVMContext to operate.
...
llvm-svn: 75508
2009-07-13 21:27:19 +00:00
Kevin Enderby
c9d93ef2c6
add llvm-mc support for parsing the .subsections_via_symbols directive.
...
llvm-svn: 75500
2009-07-13 21:03:15 +00:00
Sanjiv Gupta
63bdb56274
Added a fixme for platform specific GetDirSeparator().
...
llvm-svn: 75461
2009-07-13 10:58:55 +00:00
Sanjiv Gupta
ed5db9dd30
allow mcc16 users to specify --save-temps even though it is hidden by mcc16.
...
link libstd.so with llvm-ld by default with all the programs user is trying to build.
llvm-svn: 75460
2009-07-13 10:56:29 +00:00
Owen Anderson
53a52215b5
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
...
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
2009-07-13 04:09:18 +00:00
Daniel Dunbar
65553d4505
Match declaration to definition.
...
llvm-svn: 75440
2009-07-12 23:50:34 +00:00
Chris Lattner
a797d376de
silence vc++ warning.
...
llvm-svn: 75394
2009-07-11 22:32:37 +00:00
Daniel Dunbar
9dc326fbaa
Fix unused function warning.
...
llvm-svn: 75386
2009-07-11 21:24:52 +00:00
Mikhail Glushenkov
bee767fa26
Update documentation.
...
llvm-svn: 75375
2009-07-11 19:27:40 +00:00
Sanjiv Gupta
594006524b
Erase the temp dir before starting.
...
llvm-svn: 75367
2009-07-11 17:35:46 +00:00
Chris Lattner
07cadaf113
add support for .zerofill, patch by Kevin Enderby!
...
llvm-svn: 75301
2009-07-10 22:20:30 +00:00
David Goodwin
73f4e3f442
Support remote execute for ARM.
...
llvm-svn: 75292
2009-07-10 21:39:28 +00:00
Jeffrey Yasskin
bf3d6ba557
Add a --with-oprofile flag to configure, which uses OProfile's agent
...
library to tell it the addresses of JITted functions. For a
particular program, this changes the opreport -l output from:
samples % image name symbol name
48182 98.9729 anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000) anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000)
11 0.0226 libstdc++.so.6.0.9 /usr/lib/libstdc++.so.6.0.9
to:
samples % image name symbol name
24565 60.7308 19814.jo fib_left
15365 37.9861 19814.jo fib_right
22 0.0544 ld-2.7.so do_lookup_x
llvm-svn: 75279
2009-07-10 21:08:20 +00:00
Sanjiv Gupta
62609a4131
Link std.lib (.bc code) with llvm-ld.
...
Link devices.lib (processor specific variables) with mplink.
llvm-svn: 75263
2009-07-10 19:04:05 +00:00
Owen Anderson
1e5f00e7a7
This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!?
...
llvm-svn: 75200
2009-07-09 23:48:35 +00:00
Mikhail Glushenkov
7ab20c7cf9
Documentation update.
...
llvm-svn: 75166
2009-07-09 19:39:16 +00:00
Mikhail Glushenkov
163f93e434
We don't need to set SaveTemps here.
...
'--temp-dir' always overrides 'save-temps'.
llvm-svn: 75165
2009-07-09 19:38:32 +00:00
Mikhail Glushenkov
353b8cc112
Adjust comment.
...
llvm-svn: 75164
2009-07-09 19:37:58 +00:00
Sanjiv Gupta
f3b8609c6f
By default -t is always on for mcc16 and it uses ./tmp-objs as the temp directory.
...
llvm-svn: 75155
2009-07-09 18:09:26 +00:00
Chris Lattner
28ad7547d2
add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!
...
llvm-svn: 75148
2009-07-09 17:25:12 +00:00
Sanjiv Gupta
c378299f79
Added few more options to individual tools.
...
llvm-svn: 75120
2009-07-09 08:20:25 +00:00
Sanjiv Gupta
772924295d
Return dir separator as per platform.
...
llvm-svn: 75119
2009-07-09 08:17:55 +00:00
Nick Lewycky
0661b93de9
Don't create undefined symbols for aliases.
...
llvm-svn: 75111
2009-07-09 06:03:04 +00:00
Owen Anderson
b17f32945f
Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.
...
llvm-svn: 75025
2009-07-08 19:03:57 +00:00
Owen Anderson
5948fdf68b
Push LLVMContext through GlobalVariables and IRBuilder.
...
llvm-svn: 74985
2009-07-08 01:26:06 +00:00
Jeffrey Yasskin
90b081ac15
Fix http://llvm.org/PR4481 : Make llvm-config print the right include paths when
...
srcdir!=objdir.
llvm-svn: 74956
2009-07-07 22:15:37 +00:00
Chris Lattner
a1e11f530e
Implement parsing support for the .comm directive. Patch by
...
Kevin Enderby!
llvm-svn: 74944
2009-07-07 20:30:46 +00:00
Chris Lattner
f840ed7ed4
Fix lli to print an error and exit when EE returns null but no string. Patch
...
by Eric Rannaud!
llvm-svn: 74930
2009-07-07 18:31:09 +00:00
Mikhail Glushenkov
2512c2a1f6
Documentation update.
...
llvm-svn: 74913
2009-07-07 16:43:49 +00:00
Mikhail Glushenkov
244821fbe5
Show how to modify built-in options.
...
Sanjiv complained about the need to maintain local changes to
lib/CompilerDriver.
llvm-svn: 74912
2009-07-07 16:39:33 +00:00
Mikhail Glushenkov
f4cc0cddbc
Documentation update.
...
llvm-svn: 74907
2009-07-07 16:09:29 +00:00
Bruno Cardoso Lopes
5661ea68e7
Add the Object Code Emitter class. Original patch by Aaron Gray, I did some
...
cleanup, removed some #includes and moved Object Code Emitter out-of-line.
llvm-svn: 74813
2009-07-06 05:09:34 +00:00
Mikhail Glushenkov
29d06ea46c
LLVMC doesn't need ENABLE_PIC to build now.
...
llvm-svn: 74783
2009-07-04 03:54:54 +00:00
Duncan Sands
31554aba47
Add newline at end of file.
...
llvm-svn: 74774
2009-07-03 15:38:01 +00:00
Torok Edwin
f011f28767
Fix typo: intepreter->interpreter.
...
llvm-svn: 74770
2009-07-03 12:11:32 +00:00
Chris Lattner
a76611a535
switch the .ll parser into SMDiagnostic.
...
llvm-svn: 74734
2009-07-02 22:46:18 +00:00
Chris Lattner
73f3611be9
implement error recovery in the llvm-mc parser. Feel the power!
...
llvm-svn: 74728
2009-07-02 21:53:43 +00:00
Sanjiv Gupta
6c41ac5b38
Prefix bin dir to executables.
...
llvm-svn: 74713
2009-07-02 17:51:09 +00:00
Sanjiv Gupta
2b65d1aac1
Fixed handling of -c option.wq
...
llvm-svn: 74711
2009-07-02 17:35:38 +00:00
Daniel Dunbar
0224b65f0a
llvm-mc/x86: Fix various nit-picky bugs in displacement parsing.
...
- Test case to follow.
llvm-svn: 74687
2009-07-02 02:26:39 +00:00
Daniel Dunbar
9bff6531fd
llvm-mc/x86: Fix bug in disambiguation of displacement operand, introduced by me
...
(I think).
- We weren't properly parsing the leading parenthesized expression in something
like 'push (4)(%eax)'.
- Added ParseParenRelocatableExpression to support this. I suspect we should
just use lookahead, though.
- Test case to follow.
llvm-svn: 74685
2009-07-02 02:09:07 +00:00
Daniel Dunbar
36a2007059
llvm-mc/x86: Factor out ParseX86Register.
...
llvm-svn: 74684
2009-07-02 01:58:24 +00:00
Daniel Dunbar
142f104b29
llvm-mc/x86: Rename X86Operand::ScaleReg to IndexReg and make order consistent
...
with syntax.
llvm-svn: 74679
2009-07-02 00:51:52 +00:00
Owen Anderson
0ff993839c
Maintain the old LTO API, by using the global context.
...
llvm-svn: 74678
2009-07-02 00:31:14 +00:00
Dan Gohman
43f33dd550
Fix a bunch of other places that used operator[] to test whether
...
a key is present in a std::map or DenseMap to use find instead.
llvm-svn: 74676
2009-07-02 00:17:47 +00:00
John Mosby
f4f2f14f57
fix ld error with -no-undefined switch, which is undefined on darwin8
...
llvm-svn: 74674
2009-07-02 00:10:23 +00:00
Owen Anderson
2a15443aa8
Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the
...
moment, that I will need to make far-reaching changes.
llvm-svn: 74655
2009-07-01 23:13:44 +00:00
Owen Anderson
1cf085d558
Hold the LLVMContext by reference rather than by pointer.
...
llvm-svn: 74640
2009-07-01 21:22:36 +00:00
Jeffrey Yasskin
1a93330ffa
Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes the
...
Windows variant, strerror_s, but I couldn't test that.
I'll update configure and config.h.in in a subsequent patch.
llvm-svn: 74621
2009-07-01 18:11:20 +00:00
Owen Anderson
6773d388aa
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
...
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614
2009-07-01 16:58:40 +00:00
Sanjiv Gupta
8ff5a6c262
Executables will be at InstallDir/bin directory. Std header files will be at InstallDir/include, libs will be at InstallDir/lib. Define hooks for these and use them in the options for various tools.
...
llvm-svn: 74611
2009-07-01 16:10:29 +00:00
Daniel Dunbar
b442e04259
llvm-mc: Add some more doxyments.
...
llvm-svn: 74607
2009-07-01 15:14:50 +00:00
Daniel Dunbar
9c4809a887
llvm-mc: Fill in the rest of tokens for 'as-lex' mode.
...
llvm-svn: 74598
2009-07-01 06:56:54 +00:00
Daniel Dunbar
0d5fc9a5b0
Rename MCValue::isConstant to isAbsolute.
...
llvm-svn: 74596
2009-07-01 06:48:00 +00:00
Chris Lattner
e4dfc89615
add some of the new tokens, others are still missing.
...
llvm-svn: 74595
2009-07-01 06:36:49 +00:00
Daniel Dunbar
fc35841077
llvm-mc: Emit parsed instructions to the MCStreamer.
...
llvm-svn: 74594
2009-07-01 06:35:48 +00:00
Daniel Dunbar
d0a08e0430
llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.
...
llvm-svn: 74573
2009-06-30 23:38:38 +00:00
Daniel Dunbar
cfcdf5c1ac
llvm-mc: Accept relocatable expressions when parsing displacements and
...
immediates.
llvm-svn: 74568
2009-06-30 23:02:44 +00:00
Daniel Dunbar
8561b6aea0
llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form are
...
allowed to be undefined when the expression is seen, we cannot enforce the
same-section requirement until the entire assembly file has been seen.
llvm-svn: 74565
2009-06-30 22:49:27 +00:00
Daniel Dunbar
3971273aa2
Suppress may-be-used-uninitialized warning.
...
llvm-svn: 74529
2009-06-30 16:02:47 +00:00
Douglas Gregor
16f652876f
Fix CMake build
...
llvm-svn: 74527
2009-06-30 14:37:26 +00:00
Daniel Dunbar
75630b355a
llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.
...
llvm-svn: 74498
2009-06-30 02:10:03 +00:00
Daniel Dunbar
19f847fa68
llvm-mc: Rewrite binary subtraction for relocatable expressions, we can't always
...
legally negate an MCValue.
llvm-svn: 74497
2009-06-30 02:08:27 +00:00
Daniel Dunbar
bd4bf3d4f7
llvm-mc: Evaluation for relocatable expressions.
...
llvm-svn: 74496
2009-06-30 01:49:52 +00:00
Daniel Dunbar
c9dc78ae40
Normalize SourceMgr messages.
...
- Don't print "Parsing" in front of every message.
- Take additional "type" argument which is prepended to the message (with ": ")
if given.
- Update clients to print errors (warnings) as:
<filename>:<line number>: error(warning): ...
llvm-svn: 74489
2009-06-30 00:49:23 +00:00
Daniel Dunbar
a5508c893a
llvm-mc: Parse symbol attribute directives.
...
llvm-svn: 74487
2009-06-30 00:33:19 +00:00
Mikhail Glushenkov
8a4d713e48
Clang is now production quality (at least for C).
...
llvm-svn: 74484
2009-06-30 00:16:22 +00:00
Mikhail Glushenkov
3fcdada6b4
Add a way to access argv[0] in hooks.
...
llvm-svn: 74483
2009-06-30 00:16:00 +00:00
Daniel Dunbar
cc566a714b
llvm-mc: Parse .{,b,p2}align{,w,l} directives.
...
llvm-svn: 74478
2009-06-29 23:46:59 +00:00
Daniel Dunbar
ae7ac01059
llvm-mc: Diagnose misuse (mix) of defined symbols and labels.
...
- For example, we diagnose errors on:
--
a:
a = 10
--
- For now we reject code like:
--
.long a
a = 10
--
which "as" accepts (on Darwin).
llvm-svn: 74476
2009-06-29 23:43:14 +00:00
Daniel Dunbar
5992b4a211
llvm-mc: Recognize C++ style comments.
...
llvm-svn: 74463
2009-06-29 22:00:57 +00:00
Daniel Dunbar
6b22f9ca45
llvm-mc: Recognize C++ style comments.
...
llvm-svn: 74462
2009-06-29 21:58:22 +00:00
Daniel Dunbar
231898baf5
Fix uninitialized variable warning.
...
llvm-svn: 74457
2009-06-29 21:14:21 +00:00
Daniel Dunbar
fdbbc52cfd
Don't build LLVMC when configured with --disable-pic (it needs requires shared
...
module support to build).
llvm-svn: 74456
2009-06-29 21:12:26 +00:00
Daniel Dunbar
84bfd7b184
MC: Improve expression parsing and implement evaluation of absolute expressions
...
(missed files).
llvm-svn: 74450
2009-06-29 20:40:36 +00:00
Daniel Dunbar
7e8d6c7215
MC: Improve expression parsing and implement evaluation of absolute expressions.
...
llvm-svn: 74448
2009-06-29 20:37:27 +00:00
Evan Cheng
d6460965a5
Indentation.
...
llvm-svn: 74281
2009-06-26 06:57:16 +00:00
Daniel Dunbar
4a5a561a24
MC: Parse .org directives.
...
llvm-svn: 74218
2009-06-25 22:44:51 +00:00
Daniel Dunbar
2d2ee150eb
MC: Parse .set and assignments.
...
llvm-svn: 74208
2009-06-25 21:56:11 +00:00
Mikhail Glushenkov
d1d21a1ce9
Update documentation.
...
llvm-svn: 74191
2009-06-25 18:20:44 +00:00
Jeffrey Yasskin
0b08f3d7cc
Add a JITEventListener interface that gets called back when a new function is
...
emitted or the machine code for a function is freed. Chris mentioned that we
may also want a notification when a stub is emitted, but that'll be a future
change. I intend to use this to tell oprofile where functions are emitted and
what lines correspond to what addresses.
llvm-svn: 74157
2009-06-25 02:04:04 +00:00
Mikhail Glushenkov
73da626340
Remove duplication.
...
Factor out common preprocessor-related bits to Makefile.rules.
llvm-svn: 74153
2009-06-25 01:07:00 +00:00
Daniel Dunbar
a10e519e04
Basic .s parsing for .asci[iz], .fill, .space, {.byte, .short, ... }
...
- Includes some DG tests in test/MC/AsmParser, which are rather primitive since
we don't have a -verify mode yet.
llvm-svn: 74139
2009-06-24 23:30:00 +00:00
Owen Anderson
b70adf2b92
Get rid of the global CFGOnly flag by threading a ShortNames parameters through the GraphViz rendering code.
...
Update other uses in the codebase for this change.
llvm-svn: 74084
2009-06-24 17:37:09 +00:00
Chris Lattner
3912036c25
remove dead makefile flags.
...
llvm-svn: 74065
2009-06-24 05:29:56 +00:00
Chris Lattner
f7ebca4db6
implement a bunch of synonyms for section switching.
...
llvm-svn: 74062
2009-06-24 05:13:15 +00:00
Chris Lattner
bedf6c2995
add support for parsing and emitting .section directives. We can now parse
...
things like:
.section __TEXT,__cstring,cstring_literals
llvm-svn: 74058
2009-06-24 04:43:34 +00:00
Chris Lattner
3f5738d599
add trivial support for passing label definitions through the MCStreamer.
...
This is suboptimal in several aspects, see the commented out assertion.
I need to talk to Daniel about this.
llvm-svn: 74057
2009-06-24 04:31:49 +00:00
Chris Lattner
92ffdd15f8
create an MCStreamer and provide it to AsmParser.
...
llvm-svn: 74039
2009-06-24 00:52:40 +00:00
Chris Lattner
4c501fc196
make the lexer unique strings it lexes instead of passing them back as
...
std::strings.
llvm-svn: 74036
2009-06-24 00:33:19 +00:00
Daniel Dunbar
ca29e4d7f4
Start flushing out MCContext.
...
- Lives inside new library lib/MC (LLVMMC.a)
llvm-svn: 74013
2009-06-23 22:01:43 +00:00
Mikhail Glushenkov
8b4e03898c
Temporary copy-pasto to make examples compile.
...
llvm-svn: 74001
2009-06-23 20:47:24 +00:00
Mikhail Glushenkov
248c414024
Make llvmc work again.
...
Chris recently broke llvmc with his Makefile changes (r75379). That patch made
the global change .o -> .a, which caused built-in llvmc plugins to stop working
since plugin initialization in llvmc is based on static variables not referenced
from the main executable. This patch implements auto-generated forced references
to the plugin libraries.
llvm-svn: 74000
2009-06-23 20:46:48 +00:00
Chris Lattner
3417d71ff4
refactor a bunch of X86 specific stuff out to its own file.
...
llvm-svn: 73982
2009-06-23 18:41:30 +00:00
Douglas Gregor
e324ceeced
CMake: remove support for llvm-config-generated dependencies in the build
...
llvm-svn: 73979
2009-06-23 18:30:17 +00:00
Chris Lattner
f97d8bbe73
implement a trivial binary expression parser, we can now parse all of 176.gcc.llc.s
...
llvm-svn: 73950
2009-06-23 05:57:07 +00:00
Chris Lattner
9ec76a0b79
get a definition of strull on windows, thanks to Howard Su.
...
llvm-svn: 73929
2009-06-23 00:24:36 +00:00
Bob Wilson
b8b636d145
Recognize and handle ARM v7 target triples for Darwin.
...
llvm-svn: 73889
2009-06-22 18:01:28 +00:00
Duncan Sands
376c6f16de
Include cstdio to get EOF, needed with gcc-4.4.
...
llvm-svn: 73879
2009-06-22 06:59:32 +00:00
Chris Lattner
1d1fe918de
process memory operands with a parenthesized expression for a displacement,
...
like "(4+5)(%eax)".
llvm-svn: 73878
2009-06-22 06:35:58 +00:00
Chris Lattner
7fdbce7a60
Implement full support for parsing primary expressions. We can now parse
...
all of health and voronoi (ignoring directives). We only get 409 lines into
176.gcc though because we don't have binary operators yet:
Parsing 176.gcc.llc.s:409: unexpected token in operand list
movsbl _arityvec+1(,%edi,8), %eax
^
llvm-svn: 73877
2009-06-22 06:32:03 +00:00
Chris Lattner
a7b51ed5e6
implement parser support for '*' operands, as in "call *%eax".
...
llvm-svn: 73876
2009-06-22 06:02:13 +00:00
Chris Lattner
78db36271c
implement memory operand parsing.
...
llvm-svn: 73875
2009-06-22 05:51:26 +00:00
Chris Lattner
e5074c46b2
start implementing some simple operand parsing.
...
llvm-svn: 73867
2009-06-22 01:29:09 +00:00
Chris Lattner
2adc9e739c
rename SourceMgr::PrintError to PrintMessage.
...
llvm-svn: 73861
2009-06-21 21:22:11 +00:00
Chris Lattner
36e0212c16
set up the top-level parsing loop.
...
llvm-svn: 73860
2009-06-21 20:54:55 +00:00
Chris Lattner
b013345338
stub out parser for asm files. Change invariant on lexer to always
...
print its error message when it returns an asmtok::Error token.
Compute a proper error code for llvm-mc in 'lex' mode. Add new
-as-lex option to enable lexing mode (vs parsing mode).
llvm-svn: 73859
2009-06-21 20:16:42 +00:00
Chris Lattner
419a97491a
add string literals.
...
llvm-svn: 73858
2009-06-21 19:56:35 +00:00
Chris Lattner
99f0b60f45
hopefully fix the build on linux.
...
llvm-svn: 73857
2009-06-21 19:43:50 +00:00
Chris Lattner
d0765617d2
implement enough of a lexer to get through Olden/health/Output/health.llc.s
...
without errors.
llvm-svn: 73855
2009-06-21 19:21:25 +00:00
Chris Lattner
d485848229
oh yeah, cmake needs to be told explicitly about new files :)
...
llvm-svn: 73849
2009-06-21 07:19:34 +00:00
Chris Lattner
c8dfbcbb31
some baby steps.
...
llvm-svn: 73848
2009-06-21 07:19:10 +00:00
Chris Lattner
d70e15b46f
start wiring up support for asm parsing.
...
llvm-svn: 73846
2009-06-21 05:22:37 +00:00
Chris Lattner
2cce7d5988
fix build problem pointed out by John Thompson!
...
llvm-svn: 73739
2009-06-18 23:46:04 +00:00
Chris Lattner
c7ab953177
fix file header
...
llvm-svn: 73733
2009-06-18 23:05:21 +00:00
Chris Lattner
8dd8a52533
Add a skeleton driver for new machine code level fun. llvm-mc is meant
...
to be a test driver of other components in the system, which will develop
over time.
llvm-svn: 73732
2009-06-18 23:04:45 +00:00
Chris Lattner
5dcc4f6999
switch to using llvm/Target/TargetSelect.h
...
llvm-svn: 73611
2009-06-17 16:42:19 +00:00
Nick Lewycky
510dae3051
Fix libLTO by #include'ing the initializers for all targets and all asm
...
printers.
While I'm here, alphabetize.
llvm-svn: 73606
2009-06-17 06:52:10 +00:00
Mikhail Glushenkov
fbd815fb7a
Another small documentation update.
...
llvm-svn: 73596
2009-06-17 02:56:08 +00:00
Chris Lattner
4ced3324c5
Use Doug's new LLVM_NATIVE_ARCH macro in config.h to link in the native
...
target so that the JIT works in LLI, not just the interpreter.
llvm-svn: 73595
2009-06-17 02:15:40 +00:00
Chris Lattner
eaae8d0cdc
Remove support for building LLVM libraries into "relinked"
...
object files. Now we always build LLVM libraries into archives (.a files).
This makes the 'make' build work more like the cmake build, among other
things. Doing this exposed some latent circular library dependencies, so
I think that llvm-config wasn't quite right for .o files anyway.
llvm-svn: 73579
2009-06-16 23:00:42 +00:00
Douglas Gregor
1b731d5dbe
Introduce new headers whose inclusion forces linking and
...
initialization of all targets (InitializeAllTargets.h) or assembler
printers (InitializeAllAsmPrinters.h). This is a step toward the
elimination of relinked object files, so that we can build normal
archives.
llvm-svn: 73543
2009-06-16 20:12:29 +00:00
Mikhail Glushenkov
bf5085251a
Documentation update.
...
llvm-svn: 73448
2009-06-16 00:13:52 +00:00
Rafael Espindola
27f6cb18d1
Remove the gcc= option. llvm-gcc uses only as=
...
Look for as in the path. Doing it here instead
of llvm-gcc because llvm-gcc has nothing as
convenient as sys::Program::FindProgramByName.
llvm-svn: 73383
2009-06-15 10:14:18 +00:00
Rafael Espindola
dcf17e66c5
Bug fix:
...
string::find returns string::npos if the substring is not found.
llvm-svn: 73145
2009-06-09 21:14:25 +00:00
Mikhail Glushenkov
aef7175f45
A basic PIC16 toolchain driver.
...
Nice addition to the examples and also a starting point for Sanjiv to work on.
llvm-svn: 73013
2009-06-07 07:08:01 +00:00
Nick Lewycky
5503c31ff9
Add option for specifying the path to assembler, "as". This overrides the path
...
to gcc.
llvm-svn: 73008
2009-06-07 00:50:45 +00:00
Devang Patel
d1c7d34924
Add new function attribute - noimplicitfloat
...
Update code generator to use this attribute and remove NoImplicitFloat target option.
Update llc to set this attribute when -no-implicit-float command line option is used.
llvm-svn: 72959
2009-06-05 21:57:13 +00:00
Devang Patel
72a4d2fec1
Add new function attribute - noredzone.
...
Update code generator to use this attribute and remove DisableRedZone target option.
Update llc to set this attribute when -disable-red-zone command line option is used.
llvm-svn: 72894
2009-06-04 22:05:33 +00:00
Douglas Gregor
5c273ce20e
CMake: Use explicit dependencies for Xcode (as well as MSVC), to make
...
the CMake-generated Xcode project build properly.
llvm-svn: 72883
2009-06-04 19:53:37 +00:00
Nick Kledzik
820c62e447
<rdar://problem/6944342> libLTO for darwin should add -static when assembling .s
...
llvm-svn: 72881
2009-06-04 19:14:08 +00:00
Nick Kledzik
cac8c8a9b3
<rdar://problem/6940611> libLTO.dylib needs to let linker specify path to assembler
...
Add lto_codegen_set_assembler_path() API which allows the linker to specify the
path to the assembler tool to run. When assembler is used (instead of compiler)
different command line options are used.
Add LTO_API_VERSION #define so clients (linkers) can conditionalize use of new APIs.
llvm-svn: 72823
2009-06-04 00:28:45 +00:00
Nick Kledzik
9149ac729f
<rdar://problem/6941517> C++ static constructors not preserved for static executable using LTO
...
Move setRelocationModel() to be called before TargetMachine is instantiated.
llvm-svn: 72816
2009-06-03 22:52:12 +00:00
Daniel Dunbar
3cd724e590
Change LTO to run the global opt pass twice.
...
- This matches llvm-ld.
It took a bit of archeology to figure out what the right thing to do was
(whether this was intentionally added or intentionally removed). My final
conclusion is that Chris added this intentionally here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=16913
but the changes weren't propogated to llvm-ld until here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=34058
which was after lto.cpp had been cloned off (of llvm-ld), here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=29494
From the commit message, it looks like the motivation for running global opt
again is because we ran it prior to inlining. Based on that I updated the
comment and also only run the pass if we actually ran the inliner.
Chris, please review.
llvm-svn: 72811
2009-06-03 21:51:32 +00:00
Daniel Dunbar
c292601287
Add createStandardLTOPasses to StandardPasses.h, and move lto and llvm-ld over.
...
- I know it sounds crazy, but I think all the pass lists are now coalesced into
StandardPasses.h.
llvm-svn: 72805
2009-06-03 21:06:14 +00:00
Daniel Dunbar
94c7b791b1
Switch opt to using StandardPasses.h
...
- No functionality change, but please check if you don't believe me.
llvm-svn: 72789
2009-06-03 18:22:15 +00:00
Oscar Fuentes
6133813eb4
CMake: Implements and documents option LLVM_ENABLE_ASSERTS.
...
llvm-svn: 72774
2009-06-03 15:11:25 +00:00
Nick Kledzik
94e2d973c8
update comments about .objc_ symbols being generated
...
llvm-svn: 72708
2009-06-01 23:41:09 +00:00
Nick Kledzik
b481c2015a
<rdar://problem/6927148> libLTO needs to handle i386 magic objc class symbols
...
Parse __OBJC data structures and synthesize magic .objc_ symbols.
Also, alter mangler so that objc method names are readable.
llvm-svn: 72700
2009-06-01 20:33:09 +00:00
Nick Lewycky
aed2a66189
Add missing codenames to the .bc analyzer.
...
llvm-svn: 72684
2009-06-01 04:41:03 +00:00
Evan Cheng
9a75111bc6
Untabify.
...
llvm-svn: 72600
2009-05-30 00:48:34 +00:00
Oscar Fuentes
10a71da05a
CMake: Set LIBS on llvm-config so we can query the system libraries
...
used by CMake with --ldflags.
llvm-svn: 72470
2009-05-27 15:49:33 +00:00
Nick Lewycky
4099c7c229
Fix the crash debugger to actually bisect globals once it's determined that it
...
can't just eliminate all global initializers.
llvm-svn: 72378
2009-05-25 06:29:56 +00:00
Nick Lewycky
6e090c9117
Add a bisection step on the list of instructions before doing the linear
...
simplification. It's not clear to me whether this can replace the first of the
linear instruction simplification stages or not, so I left it in.
llvm-svn: 72377
2009-05-25 05:30:00 +00:00
Torok Edwin
6ee6f73973
Make bugpoint emit a bugpoint-reduced-blocks.bc, because bugpoint itself
...
can crash during instruction simplification (for example if it creates a
broken module).
llvm-svn: 72362
2009-05-24 09:40:47 +00:00
Torok Edwin
5bd3f7b4a2
Add -disable-global-remove option to bugpoint.
...
Sometimes when bugpointing a crash the bugpoint-reduced-simplified.bc reproduces
a totally different bug than the original one ("GV doesn't have initializer").
Although its useful to report that bug too, I need a way to reduce the original
bug, hence I introduced -disable-global-remove.
llvm-svn: 72361
2009-05-24 09:31:04 +00:00
Duncan Sands
81e053a739
Make sure the CXXFLAGS setting is picked up by
...
the common Makefile. Not sure why this suddenly
started causing problems.
llvm-svn: 71925
2009-05-16 04:00:00 +00:00
Mikhail Glushenkov
6da4749ce6
The 'forward_as' property did not use its second argument.
...
See PR4159 for details. Patch by Martin Nowack!
llvm-svn: 71054
2009-05-06 01:41:19 +00:00
Evan Cheng
127df07e56
bugpoint for jit should just ignore GCC arguments.
...
llvm-svn: 70988
2009-05-05 18:35:36 +00:00
Evan Cheng
09bd0b1bd2
Default llc / lli optimization to "Default", which corresponds to -O1 / -O2.
...
llvm-svn: 70934
2009-05-04 23:05:19 +00:00
Dan Gohman
cee10c5351
Fix a compiler warning on hosts where uint64_t isn't unsigned long long.
...
llvm-svn: 70548
2009-05-01 16:33:33 +00:00
Nick Lewycky
a303097de0
Allow a user of libLTO to specify the full pathname of the gcc executable to
...
run when assembling.
Wire this up to the gold plugin. You can now pass --plugin-opt gcc=/foo/bar/gcc
and it will run that gcc instead of looking for it on the path.
llvm-svn: 70490
2009-04-30 15:24:09 +00:00
Bill Wendling
aeaf5a57be
Remove unused flags.
...
llvm-svn: 70459
2009-04-30 00:57:51 +00:00
Bill Wendling
dad991900b
Error out with bad optimization level specified.
...
llvm-svn: 70449
2009-04-29 23:46:43 +00:00
Bill Wendling
6598b95712
Remove LTO optimization level.
...
llvm-svn: 70445
2009-04-29 23:40:42 +00:00
Bill Wendling
026e5d7667
Instead of passing in an unsigned value for the optimization level, use an enum,
...
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
2009-04-29 23:29:43 +00:00
Bill Wendling
e9037a97d1
Don't use 'false' for 'fast isel' here.
...
llvm-svn: 70411
2009-04-29 21:22:00 +00:00
Bill Wendling
084669a1c9
Second attempt:
...
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
2009-04-29 00:15:41 +00:00
Bill Wendling
56f2987a87
r70270 isn't ready yet. Back this out. Sorry for the noise.
...
llvm-svn: 70275
2009-04-28 01:04:53 +00:00
Bill Wendling
d0ae15946c
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
...
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'm not 100% sure if it's necessary to change it there...
llvm-svn: 70270
2009-04-28 00:21:31 +00:00
Chris Lattner
0e3f50d8cf
give bitstreamreader an API to ignore names for blocks/records,
...
only llvm-bcanalyzer wants this info.
llvm-svn: 70239
2009-04-27 20:04:08 +00:00
Chris Lattner
1cf8069c5f
Print statistics for each record kind saying the number of bits
...
and % abbreviated. For example:
Record Histogram:
Count # Bits % Abv Record Kind
25738 3424174 100.00 SM_SLOC_INSTANTIATION_ENTRY
814 562079 100.00 SM_SLOC_FILE_ENTRY
798 34110 SM_HEADER_FILE_INFO
3 91104 100.00 SM_SLOC_BUFFER_BLOB
3 498 100.00 SM_SLOC_BUFFER_ENTRY
1 465 SM_LINE_TABLE
llvm-svn: 70215
2009-04-27 18:15:27 +00:00
Chris Lattner
bf419a9328
clean up the output of llvm-bcanalyzer by using printf
...
instead of ostreams for formatting.
llvm-svn: 70214
2009-04-27 17:59:34 +00:00
Dan Gohman
6019e07b3b
Improve bugpoint's error messages when it runs out of memory,
...
or when some other std::exception is thrown.
llvm-svn: 70175
2009-04-27 01:30:37 +00:00
Chris Lattner
a6fdf5a8c9
Add two new record types to the blockinfo block:
...
BLOCKNAME and SETRECORDNAME. This allows a bitcode
file to be self describing with pretty names for
records and blocks in addition to numbers. This
enhances llvm-bcanalyzer to use this to print prettily.
llvm-svn: 70165
2009-04-26 22:21:57 +00:00
Chris Lattner
277800a643
Make a major API change to BitstreamReader: split all the reading
...
state out of the BitstreamReader class into a BitstreamCursor class.
Doing this allows the client to have multiple cursors into the same
file, each with potentially different live block stacks and
abbreviation records.
llvm-svn: 70157
2009-04-26 20:59:02 +00:00
Chris Lattner
0cb8977c0a
aDd support for building a subset of the llvm tools, patch by Jeffrey Yasskin!
...
llvm-svn: 70082
2009-04-25 22:08:52 +00:00
Rafael Espindola
56548523f5
Add LTO_SYMBOL_DEFINITION_WEAKUNDEF, use that on the gold plugin.
...
llvm-svn: 69972
2009-04-24 16:55:21 +00:00
Dan Gohman
956ae9dc15
Use CloneModule's ValueMap in more places, instead of looking
...
up functions by name.
llvm-svn: 69805
2009-04-22 15:57:18 +00:00
Mikhail Glushenkov
2c332fec97
Support --with-llvmgccdir and friends in llvmc, take 2.
...
Should now work when building with objdir != srcdir and when llvm-gcc is not
available.
Thanks to Duncan Sands for testing and advice!
llvm-svn: 69700
2009-04-21 19:46:10 +00:00
Tanya Lattner
a1eeaff125
Remove clang since its conditionally there already.
...
llvm-svn: 69610
2009-04-20 17:48:16 +00:00
Sanjiv Gupta
0fcc019d36
Emit the auto variables of a function into a different section than parameters.
...
llvm-svn: 69605
2009-04-20 16:59:35 +00:00
Dan Gohman
59ceb59f5b
Use .empty() instead of .size().
...
llvm-svn: 69599
2009-04-20 16:19:02 +00:00
Bill Wendling
4d10aae8c2
Revert 69474 and 69475. They are causing failures during a bootstrap on Darwin.
...
llvm-svn: 69478
2009-04-18 21:45:27 +00:00
Mikhail Glushenkov
73e9e021f1
Add a configure check for llvm-gcc (reapply).
...
llvm-svn: 69474
2009-04-18 20:55:28 +00:00
Bill Wendling
02b47d9958
Temporarily revert r69438 and r69439. These were causing failures during a
...
release build of llvm.
llvm-svn: 69440
2009-04-18 11:20:33 +00:00
Mikhail Glushenkov
e078105a89
Add a configure check for llvm-gcc.
...
llvm-svn: 69438
2009-04-18 09:57:58 +00:00
Chris Lattner
184f1be4a8
Add a new "available_externally" linkage type. This is intended
...
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.
llvm-svn: 68940
2009-04-13 05:44:34 +00:00
Ted Kremenek
b58a9058a2
Accommodate empty string for build type. This was previously causing an error
...
when generating an Xcode project using the CMake files (thanks to Doug Gregor
for identifying the issue).
llvm-svn: 68618
2009-04-08 17:28:16 +00:00
Chris Lattner
73ab815c27
Add an API for the bitstream reader to read blobs and return
...
them by reference, instead of packing each byte into a
smallvector.
llvm-svn: 68486
2009-04-07 02:56:46 +00:00
Chris Lattner
2ed6a20934
stub out code for reading record with blobs as blobs. Not active yet.
...
llvm-svn: 68472
2009-04-06 22:44:40 +00:00
Chris Lattner
b9e07fd297
Teach llvm-bcanalyzer to skip over the header we use on LLVM IR files.
...
llvm-svn: 68458
2009-04-06 20:54:32 +00:00
Oscar Fuentes
bda403b4c8
CMake: defines and uses macro add_llvm_definitions for keeping track
...
of compiler parameters explicitly added by the build
specification. This macro replaces the cmake built-in
`add_definitions'.
Detects glibc and defines _GNU_SOURCE accordingly.
Resolves bug 3882.
llvm-svn: 68428
2009-04-04 22:41:07 +00:00
Nick Lewycky
b294e31e83
CloneModule stores the BasicBlock mapping in ValueMap. There's no need to
...
recompute it. This fixes a O(n^2) in number of blocks when reducing a crash.
llvm-svn: 68422
2009-04-04 09:39:23 +00:00
Oscar Fuentes
cf03f4b041
CMake: tools/llvm-config/CMakeLists.txt: Use ! instead of comma as
...
separator in sed scripts. Resolves Bug 3881.
llvm-svn: 68385
2009-04-03 12:16:32 +00:00
Misha Brukman
7182686dbf
Fixed file header comment.
...
llvm-svn: 68250
2009-04-01 21:37:19 +00:00
Evan Cheng
856e339241
Recognize arm triplets.
...
llvm-svn: 68229
2009-04-01 18:54:56 +00:00
Dan Gohman
cff6953c45
Use CHAR_BIT instead of hard-coding 8 in several places where it
...
is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.
llvm-svn: 68227
2009-04-01 18:45:54 +00:00
Mikhail Glushenkov
eccc5967bf
Do not pass '-relocation-model=pic' to llc.
...
Does not work well on 32 bit targets. Bug reported by Albert Graef.
This patch also adds new "-Wllc,option" syntax to pass options to llc.
llvm-svn: 68127
2009-03-31 18:33:54 +00:00
Mikhail Glushenkov
0f78c2721b
Documentation update.
...
Expand a bit on various '--*-graph' options.
llvm-svn: 67836
2009-03-27 12:58:29 +00:00
Evan Cheng
499d5f333f
CodeGen still defaults to non-verbose asm, but llc now overrides it and default to verbose.
...
llvm-svn: 67669
2009-03-25 01:48:21 +00:00
Douglas Gregor
6d1ec14f0f
CMake: Build system fixes for XCode. llvm-config still causes us some serious trouble, but it's less serious than it used to be
...
llvm-svn: 67056
2009-03-16 22:53:26 +00:00
Evan Cheng
690b635aa6
Also pass -gcc-tool-args when building a shared object.
...
llvm-svn: 66746
2009-03-12 00:53:34 +00:00
Anton Korobeynikov
7d4d379a00
Another bug :(
...
llvm-svn: 66708
2009-03-11 21:05:21 +00:00
Anton Korobeynikov
3b046d084e
Unbreak the build. Dunno, why it did not fail on mingw :(
...
llvm-svn: 66692
2009-03-11 20:16:05 +00:00
Anton Korobeynikov
a09ba46ee3
Disable plugins / shared stuff generation on windows targets.
...
This fixes fallout from recent PIC/delibtoolize changes and unbreaks
build on cygming.
llvm-svn: 66686
2009-03-11 19:49:42 +00:00
Dan Gohman
02ba62c106
Change these sed lines to behave correctly when the input string
...
contains commas. This fixes PR3727.
llvm-svn: 66565
2009-03-10 19:01:23 +00:00
Chris Lattner
e3fc2d13be
Change various llvm utilities to use PrettyStackTraceProgram in
...
their main routines. This makes the tools print their argc/argv
commands if they crash.
llvm-svn: 66248
2009-03-06 05:34:10 +00:00
Dan Gohman
bcad718f73
Use CloneModule's ValueMap to avoid needing to look up
...
functions by name. This fixes PR718.
llvm-svn: 66239
2009-03-06 02:16:23 +00:00
Dan Gohman
4f42ac8400
Fix a bugpoint bug on anonymous functions. Instead of looking up
...
functions in the new module by name, use the ValueMap provided by
CloneModule to do the lookups.
llvm-svn: 66216
2009-03-05 23:20:46 +00:00
Mikhail Glushenkov
33435e49a9
Add example/Skeleton.
...
This is a template that can be used to build your own LLVMC-based drivers.
It can be also useful as a "bare-bones" LLVMC.
llvm-svn: 65944
2009-03-03 11:02:48 +00:00
Mikhail Glushenkov
b5f56fc268
Comment fixes.
...
llvm-svn: 65943
2009-03-03 10:04:57 +00:00
Mikhail Glushenkov
4f85b86120
Use LLVMLIBS instead of USEDLIBS.
...
Since this Makefile is supposed to be usable from LLVM-based projects not in the
tree, LLVMLIBS should be used instead of USEDLIBS. This depends on my previous
fix to Makefile.rules.
llvm-svn: 65941
2009-03-03 10:03:53 +00:00
Mikhail Glushenkov
b00b964697
Move example plugins to the example/ directory.
...
llvm-svn: 65939
2009-03-03 10:02:53 +00:00
Nick Lewycky
9e26e6d3cb
ENABLE_PIC is either 0 or 1, but is always defined.
...
llvm-svn: 65938
2009-03-03 07:45:09 +00:00
Bill Wendling
bf5d827194
Add a "-gcc-tool-args" option. This option acts like the "-tool-args" option,
...
but passes the arguments to the "gcc" invocation instead of to the "llc"
invocation.
llvm-svn: 65896
2009-03-02 23:13:18 +00:00
Mikhail Glushenkov
7cff81825f
Move the rules for building plugins to Makefile.rules.
...
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Mikhail Glushenkov
37b419cdee
Fix build with objdir != srcdir.
...
llvm-svn: 65826
2009-03-02 09:03:36 +00:00
Mikhail Glushenkov
ecfab627fd
Move code from Main.cpp to the include dir.
...
User drivers based on llvmc must all share the initialization code.
Putting main() into libCompilerDriver is not a very good idea IMO (and ld gave
me some strange EH-related error anyway).
llvm-svn: 65825
2009-03-02 09:03:02 +00:00
Mikhail Glushenkov
931d4521c3
Reorganize llvmc code.
...
Move the code from 'llvmc/driver' into a new CompilerDriver library, and change
the build system accordingly. Makes it easier for projects using LLVM to build
their own llvmc-based drivers.
Tested with objdir != srcdir.
llvm-svn: 65821
2009-03-02 09:01:14 +00:00
Chris Lattner
3f60b4803a
disable exports from a bunch more tools, those without plugins.
...
llvm-svn: 65558
2009-02-26 19:01:11 +00:00
Chris Lattner
dbf7b1c6e1
use TOOL_NO_EXPORTS, this shrinks the llvm-as binary from 1825296 to
...
1662184 bytes (~10%)
llvm-svn: 65551
2009-02-26 18:29:42 +00:00
Nick Lewycky
e23b9f4e59
Tabs to spaces presto chango! Pointed out by Duncan Sands.
...
llvm-svn: 65523
2009-02-26 09:08:43 +00:00
Nick Lewycky
5eb3773b99
Force 'llvm-config' to go first, optionally followed by lto and gold mixed in
...
with the rest of the parallel directories.
Build lto when possible on all platforms. Make gold to explicitly depend on
libLTO.
llvm-svn: 65518
2009-02-26 07:56:49 +00:00
Nick Lewycky
64a6fe1bc0
Add the function attributes pass during LTO time.
...
llvm-svn: 65508
2009-02-26 06:56:16 +00:00
Nick Lewycky
fc684c0c83
If nobody minds, I'm using LTO to produce faster binaries. Switch fast codegen
...
off in libLTO.
llvm-svn: 65310
2009-02-23 07:41:55 +00:00
Nick Lewycky
338d07e94e
Add an option to the gold plugin to make it emit a file with the public api
...
list that can in turn be passed to -internalize pass through
-internalize-public-api-file.
Pass gold -plugin-opt=generate-api-file to produce "apifile.txt" in the current
directory.
llvm-svn: 65295
2009-02-22 22:15:44 +00:00
Rafael Espindola
6add6181c8
really fix style
...
llvm-svn: 64923
2009-02-18 17:49:06 +00:00
Rafael Espindola
e08484daf2
fix style
...
llvm-svn: 64905
2009-02-18 08:30:15 +00:00
Dan Gohman
38a9631d5f
Eliminate several more unnecessary intptr_t casts.
...
llvm-svn: 64888
2009-02-18 05:09:16 +00:00
Devang Patel
d57a720d57
Remove changes that were accidently included in previous commit.
...
llvm-svn: 64835
2009-02-17 22:45:18 +00:00
Devang Patel
4d20395a5f
The debugger sometimes lookup dynamically in the runtime to find ivar info of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF.
...
Add support for two additional DWARF attributes to encode Objective-C runtime version number.
llvm-svn: 64834
2009-02-17 22:43:44 +00:00
Rafael Espindola
fabd0534fd
tools like nm and ar only need register_claim_file and add_symbols. Don't abort
...
if other hooks are missing.
llvm-svn: 64812
2009-02-17 21:08:21 +00:00
Nick Lewycky
9178155206
Shoot! Remove this debugging line again!
...
llvm-svn: 64617
2009-02-15 22:50:17 +00:00
Nick Lewycky
b020e0d14c
Don't discard definitions of common symbols. Not sure if this is the right fix.
...
Before this change, the program:
int var;
int main(void) { return 0; }
when run under 'nm -g' would show 'U var' with the gold plugin and
'B var' with gcc.
llvm-svn: 64616
2009-02-15 22:49:17 +00:00
Dan Gohman
af2037fbfd
Rename bugpoint's error message file so that if it somehow
...
gets left behind, it's less cryptic.
llvm-svn: 64399
2009-02-12 20:53:27 +00:00
Duncan Sands
185fc29820
Revert r64299: it breaks the build when configured
...
without --enable-pic, like my nightly tester.
llvm-svn: 64302
2009-02-11 13:23:49 +00:00
Nick Lewycky
9dfffc6c9f
Try this. Darwin -> LTO, PIC -> LTO + possibly gold too.
...
llvm-svn: 64299
2009-02-11 08:44:13 +00:00
Devang Patel
8a9ced15d4
62987 disables LTO build on darwin.
...
Revert 62987 for now. Nicolas please investigate.
llvm-svn: 64285
2009-02-11 02:34:33 +00:00
Chris Lattner
c3aa8f7bab
fix bugpoint url, patch by Pieter de Bie!
...
llvm-svn: 64022
2009-02-07 18:56:30 +00:00
Nick Lewycky
4ddcc43724
Free the buffer in the case where we don't create a module out of it, as
...
pointed out by Torok Edwin.
Remove trailing whitespaces.
llvm-svn: 64002
2009-02-07 03:15:01 +00:00
Nick Lewycky
8811ecdadf
Correct strange whitespace.
...
llvm-svn: 63927
2009-02-06 07:01:00 +00:00
Nick Lewycky
74b5ef7cae
Free the buffer.
...
llvm-svn: 63907
2009-02-06 01:58:34 +00:00
Chris Lattner
413a0246f8
fix PR3488: llvm-ar r doesn't replace existing files
...
Patch by Daniel Shelton!
llvm-svn: 63870
2009-02-05 17:58:39 +00:00
Duncan Sands
2a3173287f
Revert the previous commit. It seems it didn't
...
really solve the problem. Also it changed the
name from libLLVMgold to LLVMgold (correcting
the name resulted in the original problem
suddenly reappearing).
llvm-svn: 63861
2009-02-05 10:21:34 +00:00
Duncan Sands
4dd55167ab
Stop llvm-config thinking that there are circular
...
dependencies between libraries due to __dso_handle
when doing "make install". I don't know what the
LINK_COMPONENTS stuff is about, so I left it alone.
llvm-svn: 63860
2009-02-05 09:54:02 +00:00
Nick Lewycky
9f694e4b3b
It's not obvious, but lto_module_create_from_memory doesn't need to use the
...
buffer after it creates the Module. Thus, we don't need to store this pointer
in claimed_file.
llvm-svn: 63834
2009-02-05 05:36:01 +00:00
Nick Lewycky
8691c47e9e
Remove accidentally included debug message!
...
Reword a comment for clarity. Remove some extra whitespace.
llvm-svn: 63823
2009-02-05 04:14:23 +00:00
Torok Edwin
a488ee0e35
Alphabetize includes. Update comment.
...
llvm-svn: 63771
2009-02-04 21:00:02 +00:00
Torok Edwin
c409c77817
mention that PIC is needed for libLTO and libLLVMgold
...
llvm-svn: 63755
2009-02-04 19:12:25 +00:00
Torok Edwin
a2794dba04
remove printf - it was there only for debugging!
...
llvm-svn: 63742
2009-02-04 17:40:28 +00:00
Torok Edwin
4b35a81845
add support for .a files containing LLVM IR to the gold plugin
...
llvm-svn: 63741
2009-02-04 17:39:30 +00:00
Nick Lewycky
fb643e4d9f
Add LLVM plugin for gold.
...
llvm-svn: 63623
2009-02-03 07:13:24 +00:00
Mikhail Glushenkov
c7d6951c92
Add some comments.
...
llvm-svn: 63364
2009-01-30 02:12:57 +00:00
Mikhail Glushenkov
2115d09a10
Add three new option properties.
...
Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'.
llvm-svn: 63172
2009-01-28 03:47:20 +00:00
Nick Lewycky
5c8fc9d549
Build libLTO on any platform so long as PIC is enabled.
...
llvm-svn: 62987
2009-01-26 03:04:57 +00:00
Mike Stump
82221d62a9
Perform optional clang building.
...
llvm-svn: 62895
2009-01-24 00:00:41 +00:00
Mikhail Glushenkov
1a0c083748
Fix 'llvm-config --libs' output.
...
Change the naming scheme for llvmc plugins so that they do not appear in
'llvm-config --libs' output.
llvm-svn: 62687
2009-01-21 13:05:00 +00:00
Mikhail Glushenkov
fbc89cecad
Change the hook API back to prevent memory leaks.
...
llvm-svn: 62686
2009-01-21 13:04:33 +00:00
Mikhail Glushenkov
bf9716e15d
Allow hooks with arguments.
...
llvm-svn: 62685
2009-01-21 13:04:00 +00:00
Mikhail Glushenkov
6e8d814d36
Registry.h should not depend on CommandLine.h.
...
Split Support/Registry.h into two files so that we have less to
recompile every time CommandLine.h is changed.
llvm-svn: 62312
2009-01-16 07:02:28 +00:00
Mikhail Glushenkov
b2f9a73029
Delete trailing whitespace.
...
llvm-svn: 62307
2009-01-16 06:53:46 +00:00
Rafael Espindola
6de96a1b5d
Add the private linkage.
...
llvm-svn: 62279
2009-01-15 20:18:42 +00:00
Mikhail Glushenkov
bc39dff6e5
Some small documentation fixes.
...
llvm-svn: 62251
2009-01-15 02:42:40 +00:00
Mikhail Glushenkov
bf78b20490
Clarify the documentation a bit.
...
llvm-svn: 62249
2009-01-15 02:04:54 +00:00
Mikhail Glushenkov
66068b3baf
Make -o a prefix option.
...
Both 'llvmc -o file' and 'llvmc -ofile' should work.
llvm-svn: 62211
2009-01-14 02:02:16 +00:00
Mikhail Glushenkov
0f88cfa2ac
Add a --check-graph option to llvmc.
...
llvm-svn: 61989
2009-01-09 16:16:27 +00:00
Oscar Fuentes
b97e96350f
CMake: replace `rm' with portable invocations of cmake.
...
Based on a bug report by Yonggang Luo.
llvm-svn: 61875
2009-01-07 19:24:44 +00:00
Chris Lattner
b0794619e6
make llvm-ld smart enough to link against native libraries that are
...
not in system library directories by checking -L paths as well.
Patch by Axel Naumann!
llvm-svn: 61730
2009-01-05 19:01:32 +00:00
Bill Wendling
cbb401c1d6
Setting BUILD_ARCHIVE to 0 has the same effect as defining it to 1.
...
llvm-svn: 61599
2009-01-03 01:48:26 +00:00
Chris Lattner
ac161bff07
Reimplement the old and horrible bison parser for .ll files with a nice
...
and clean recursive descent parser.
This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
including what is autogenerated).
2. The code should be significantly faster than the old code because we
don't have to work around bison's poor handling of datatypes with
ctors/dtors. This also makes the code much more resistant to memory
leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32". There was no good
reason to support this, it was just an accident of the old
implementation. I have no reason to think that anyone is actually using
this.
6. The syntax for sticking a global variable has changed to make it
unambiguous. I don't think anyone is depending on this since only clang
supports this and it is not solid yet, so I'm not worried about anything
breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
I'll prune this from the makefiles as a subsequent commit.
There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.
llvm-svn: 61558
2009-01-02 07:01:27 +00:00
Misha Brukman
b132910b8f
Add spacing between type and variable name.
...
llvm-svn: 61530
2008-12-31 17:41:49 +00:00
Misha Brukman
93b7c4085b
Comment headers should extend to 80 chars.
...
llvm-svn: 61529
2008-12-31 17:40:52 +00:00
Misha Brukman
d07751e5d8
Fix spacing to be uniform for parameters.
...
llvm-svn: 61528
2008-12-31 17:39:58 +00:00
Duncan Sands
44c8cd97a5
Rename AddReadAttrs to FunctionAttrs, and teach it how
...
to work out (in a very simplistic way) which function
arguments (pointer arguments only) are only dereferenced
and so do not escape. Mark such arguments 'nocapture'.
llvm-svn: 61525
2008-12-31 16:14:43 +00:00
Mikhail Glushenkov
5932d8c986
Some enhancements for the 'case' expression.
...
Add (error) and (empty).
llvm-svn: 61117
2008-12-17 02:47:01 +00:00
Mikhail Glushenkov
e04b5bfd19
Add a comment to the auto-generated docs.
...
llvm-svn: 60985
2008-12-13 17:51:47 +00:00
Mikhail Glushenkov
6027992ea9
Merge llvm-rst.css and llvm.css.
...
llvm-svn: 60984
2008-12-13 17:50:58 +00:00
Mikhail Glushenkov
afebaf96f9
Some more documentation tweaks.
...
llvm-svn: 60970
2008-12-13 03:11:37 +00:00
Mikhail Glushenkov
c0363fcba6
More cosmetic tweaks for llvmc docs.
...
llvm-svn: 60969
2008-12-13 02:28:58 +00:00
Mikhail Glushenkov
6932e2f368
Fix W3C validator errors.
...
llvm-svn: 60912
2008-12-11 23:43:14 +00:00
Mikhail Glushenkov
d9a7795abc
Use correct file for the llvmc tutorial.
...
llvm-svn: 60910
2008-12-11 23:33:33 +00:00
Mikhail Glushenkov
6fd5513284
Update the auto-generated llvmc documentation.
...
llvm-svn: 60909
2008-12-11 23:24:40 +00:00
Mikhail Glushenkov
4673023e71
Add a '-Wo,' option that passes options to opt.
...
llvm-svn: 60902
2008-12-11 22:19:14 +00:00
Mikhail Glushenkov
8d84a7d3b7
Merge Base.td and Tools.td.
...
This stuff is not used outside Base.td, and with the conversion of the
compilation graph to string-based format became much less (if at all)
useful.
llvm-svn: 60873
2008-12-11 10:38:06 +00:00
Mikhail Glushenkov
65b0b2bf28
Support -emit-llvm properly (with -S and -c).
...
llvm-svn: 60764
2008-12-09 14:40:18 +00:00
Dan Gohman
414cf50234
Generalize bugpoint's concept of a "safe" backend, and add options
...
to allow the "safe" backend to be run with a different path, and/or
with different command-line options.
This enables the following use cases:
- bugpoint llc against an llc command from a different build
- bugpoint llc against the same llc with different command-line options
- and more...
Also, document the existing "custom" interpreter options.
llvm-svn: 60681
2008-12-08 04:02:47 +00:00
Oscar Fuentes
8c78391c8a
CMake: Added Tool.cpp to tools/llvmc/driver.
...
llvm-svn: 60670
2008-12-07 17:01:16 +00:00
Mikhail Glushenkov
c0fc34660b
Describe recent changes in the documentation.
...
llvm-svn: 60668
2008-12-07 16:47:42 +00:00
Mikhail Glushenkov
7f1bef5a55
Make 'extern' an option property.
...
Makes (forward) work better.
llvm-svn: 60667
2008-12-07 16:47:12 +00:00
Mikhail Glushenkov
2804af0929
Plugin updates: support more options.
...
llvm-svn: 60666
2008-12-07 16:46:23 +00:00
Mikhail Glushenkov
ce31b34a6f
Join tools couldn't be used in the middle of the toolchain.
...
llvm-svn: 60665
2008-12-07 16:45:37 +00:00
Mikhail Glushenkov
8e1507d7c6
Enable the Clang plugin by default.
...
This will eventually replace `ccc`. The command `llvmc -clang` now uses
the Clang toolchain instead of `llvm-gcc`.
llvm-svn: 60661
2008-12-07 16:43:42 +00:00
Mikhail Glushenkov
385691b1bd
Update plugins to use (actions).
...
llvm-svn: 60660
2008-12-07 16:43:17 +00:00
Mikhail Glushenkov
85467c71d2
Use (actions) instead of option properties, support external options.
...
Also includes a major refactoring. See documentation for more
information.
llvm-svn: 60656
2008-12-07 16:41:11 +00:00
Devang Patel
8c84d28250
Enable LoopIndexSplit pass.
...
llvm-svn: 60555
2008-12-04 21:40:31 +00:00
Nick Lewycky
7450a7cbf5
Remove warning about declaration does not declare anything. This class was
...
already declared in the other headers.
llvm-svn: 60261
2008-11-30 00:36:34 +00:00
Nick Lewycky
af67df5881
Add protected visibility to libLTO.
...
llvm-svn: 60257
2008-11-29 22:49:59 +00:00
Mikhail Glushenkov
7283d44569
Scrap some boilerplate.
...
llvm-svn: 60200
2008-11-28 00:14:11 +00:00
Mikhail Glushenkov
3bb3da6f4c
Add 'hidden' and 'really_hidden' option properties.
...
llvm-svn: 60198
2008-11-28 00:13:25 +00:00
Mikhail Glushenkov
4ad34cbdc0
Documentation: clarify what is meant by 'multiple edges'.
...
llvm-svn: 60197
2008-11-28 00:12:09 +00:00
Mikhail Glushenkov
6f4cb52c71
Disallow multiple edges.
...
llvm-svn: 60127
2008-11-26 22:59:45 +00:00
Devang Patel
3bc9e25df2
Disable -loop-index-split for now.
...
llvm-svn: 60087
2008-11-26 04:58:14 +00:00
Zhongxing Xu
50e6f82ce4
Adjust indent.
...
llvm-svn: 60081
2008-11-26 02:57:24 +00:00
Oscar Fuentes
c4430484bc
CMake: llvmc2 is now known as llvmc.
...
llvm-svn: 60052
2008-11-25 22:18:49 +00:00
Mikhail Glushenkov
98d5ed5cb7
Since the old llvmc was removed, rename llvmc2 to llvmc.
...
llvm-svn: 60048
2008-11-25 21:38:12 +00:00
Mikhail Glushenkov
86d5fa8f28
docs: Add author info + fix incorrect code example.
...
llvm-svn: 60046
2008-11-25 21:34:53 +00:00
Mikhail Glushenkov
eafa1dd9d9
Small documentation update.
...
llvm-svn: 60045
2008-11-25 21:34:29 +00:00
Mikhail Glushenkov
cb0ffa0182
Document the plugin priority feature.
...
llvm-svn: 60044
2008-11-25 21:34:01 +00:00
Andrew Lenharth
0f09564ffc
ignore the -m elf_i386 directive used in the linux kernel
...
llvm-svn: 59642
2008-11-19 17:00:08 +00:00
Mikhail Glushenkov
20313c954e
Support dependencies between plugins by priority-sorting.
...
llvm-svn: 59449
2008-11-17 17:30:25 +00:00
Mikhail Glushenkov
faae122e07
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
7e17369255
CMake: Removed some cruft.
...
llvm-svn: 59376
2008-11-15 20:51:18 +00:00
Oscar Fuentes
757a012bf1
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
49df826e30
CMake: Remove unused tablegenning code from tools/llvmc2/driver.
...
llvm-svn: 59333
2008-11-14 23:59:50 +00:00
Daniel Dunbar
ed90e701f0
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
c1e7dbb1f7
Some cosmetic changes.
...
llvm-svn: 59096
2008-11-12 00:04:46 +00:00
Devang Patel
50759f2dad
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
93bf988701
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
a6da027c18
CMake: Corrected detection of `nm'.
...
llvm-svn: 58941
2008-11-09 20:26:31 +00:00
Oscar Fuentes
b45a43aec4
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
06ad209fb1
Add LLVMC2 tool definitions for Objective-C and Objective-C++.
...
llvm-svn: 58885
2008-11-08 03:25:47 +00:00
Nick Lewycky
3707f1e6f3
Update to add newer bitcodes.
...
llvm-svn: 58852
2008-11-07 14:52:51 +00:00
Evan Cheng
6158254d1d
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
db9d785338
On darwin, 32-bit x86 target is i386-apple-darwin...
...
llvm-svn: 58731
2008-11-04 23:13:50 +00:00
Nuno Lopes
0460bb27e0
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
e842074c48
Revert 58687. This breaks mingw.
...
llvm-svn: 58719
2008-11-04 21:06:11 +00:00
Nick Lewycky
a6dee4e28f
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
a69d8c50dc
CMakeLists: removed asmprinter component from
...
tools/llc/CMakeLists.txt.
llvm-svn: 58678
2008-11-04 03:28:37 +00:00
Oscar Fuentes
2500aaebdd
CMake: Removed some cruft.
...
llvm-svn: 58358
2008-10-29 02:33:15 +00:00
Nick Lewycky
f5ba827d41
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
e638f5d854
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
bf81f792cd
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
81b5fa5620
Move Print*Pass to use raw_ostream.
...
llvm-svn: 57946
2008-10-22 03:25:22 +00:00
Oscar Fuentes
64c996271e
CMake: `make install' for libraries, executables and header files.
...
llvm-svn: 57945
2008-10-22 02:56:07 +00:00
Daniel Dunbar
54d5b9ea2c
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
35945b6af2
Re-apply Makefile changes. Fix build with srcdir != objdir.
...
llvm-svn: 57636
2008-10-16 14:02:29 +00:00
Bill Wendling
2d362a77c8
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
185c72103b
Temporary revert r57567 and unbreak the build.
...
llvm-svn: 57578
2008-10-15 14:22:06 +00:00
Mikhail Glushenkov
fe292356a2
llvmc2: Documentation update. Describe recent work on plugins.
...
llvm-svn: 57568
2008-10-15 09:29:13 +00:00
Mikhail Glushenkov
98757b24ec
llvmc2: Some Makefile fixes and renames.
...
llvm-svn: 57567
2008-10-15 09:28:50 +00:00
Mikhail Glushenkov
13095977c5
Use (a slightly modified) llvm.css for llvmc2 docs.
...
llvm-svn: 57566
2008-10-15 09:27:44 +00:00
Dan Gohman
9c4b7d5c4f
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
796bc4e6ce
Fix build failure.
...
Patch by Erick Tryzelaar.
llvm-svn: 57355
2008-10-10 17:57:50 +00:00
Oscar Fuentes
b5abd78ab5
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
8517dfad9d
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
0ebef2c703
Rename llvmc2/src to llvmc2/core.
...
llvm-svn: 57000
2008-10-03 10:27:23 +00:00
Mikhail Glushenkov
bb63f929d5
Fix build breakage when objdir!=srcdir (proper fix).
...
llvm-svn: 56999
2008-10-03 10:26:37 +00:00
Mikhail Glushenkov
657e1c5c96
Fix build breakage (again) when srcdir != objdir, other small fixes.
...
llvm-svn: 56998
2008-10-03 09:09:34 +00:00
Bill Wendling
4893c9a78e
Unbreak the build.
...
llvm-svn: 56988
2008-10-03 00:26:49 +00:00
Mikhail Glushenkov
03c8f7b379
Fix build breakage.
...
Forgot to include Makefile.plugins.
llvm-svn: 56970
2008-10-02 22:41:42 +00:00
Mikhail Glushenkov
f40296bb49
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
bed16a1a2b
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
cdc95498f5
CMake: Builds all targets.
...
llvm-svn: 56641
2008-09-26 04:40:32 +00:00
Oscar Fuentes
ace327af3e
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
9c40c28926
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
446c5dcf57
Convert llvmc2 plugins to use llvm/Support/Registry.h machinery.
...
llvm-svn: 56467
2008-09-22 20:51:19 +00:00
Mikhail Glushenkov
53aa586844
Move llvmc2 header files under include/llvm/CompilerDriver
...
llvm-svn: 56466
2008-09-22 20:50:40 +00:00
Mikhail Glushenkov
47afe73081
Plugin support for llvmc2 (a-la opt).
...
llvm-svn: 56465
2008-09-22 20:49:34 +00:00
Mikhail Glushenkov
6f1db3df74
Add a 'Debugging' section to the documentation.
...
llvm-svn: 56464
2008-09-22 20:48:48 +00:00
Mikhail Glushenkov
4825a0bb2f
Make comments a little bit more clear.
...
llvm-svn: 56463
2008-09-22 20:48:22 +00:00
Mikhail Glushenkov
8a2bdc74b2
Get rid of GlobalLanguageMap. Global state is evil.
...
llvm-svn: 56462
2008-09-22 20:47:46 +00:00
Mikhail Glushenkov
632d982a7f
Rename our version of ccc to ccc2
...
llvm-svn: 56461
2008-09-22 20:47:09 +00:00
Mikhail Glushenkov
1c4e084bd2
Fix some comments
...
llvm-svn: 56460
2008-09-22 20:46:44 +00:00
Mikhail Glushenkov
9c13f724fc
Add a (forward_as) option property
...
llvm-svn: 56459
2008-09-22 20:46:19 +00:00
Mikhail Glushenkov
b50080e6cb
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
8807bddf08
CMake build system: support for parallel builds.
...
llvm-svn: 56453
2008-09-22 18:21:51 +00:00
Oscar Fuentes
a229b3c9a7
Initial support for the CMake build system.
...
llvm-svn: 56419
2008-09-22 01:08:49 +00:00
Duncan Sands
5408dfd3b8
Turn on the AddReadAttrs pass.
...
llvm-svn: 56345
2008-09-19 14:34:36 +00:00
Duncan Sands
938e8f60d6
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
7293f0f344
Fix comments, help messages.
...
llvm-svn: 56282
2008-09-17 16:01:39 +00:00
Devang Patel
11b862aed5
Fix cut-n-pasto.
...
llvm-svn: 56265
2008-09-17 00:01:04 +00:00
Devang Patel
9966ccffb4
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
18da83555f
End of the GlobalsModRef experiment.
...
llvm-svn: 56222
2008-09-15 18:42:38 +00:00
Duncan Sands
fa1472fd55
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
7aedcf151c
Allow use of ssh to perform remote execution.
...
llvm-svn: 55979
2008-09-09 06:11:26 +00:00
Devang Patel
d3a1b46aad
Backout 55429
...
llvm-svn: 55432
2008-08-27 20:51:49 +00:00
Devang Patel
fdef44d7c4
Add facility to create a target.
...
llvm-svn: 55429
2008-08-27 20:00:27 +00:00
Chris Lattner
0c19df4871
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
f3e13bbd4d
Don't silently ignore errors when opening output streams.
...
llvm-svn: 55120
2008-08-21 15:33:45 +00:00
Owen Anderson
9371964f47
Use raw_ostream throughout the AsmPrinter.
...
llvm-svn: 55092
2008-08-21 00:14:44 +00:00
Anton Korobeynikov
e0c83e47e3
Link GC metadata printers by default to llc
...
llvm-svn: 54892
2008-08-17 14:33:01 +00:00
Anton Korobeynikov
c5faeb82b5
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
affe0267f8
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
06d988eaa3
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
3d5d6f90e0
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
bfc77176d5
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
7238723ccb
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
ea185dc2c1
Remove temp. files in the end.
...
llvm-svn: 53930
2008-07-22 20:03:45 +00:00
Bill Wendling
caf1ac8545
Remove more tabs.
...
llvm-svn: 53905
2008-07-22 09:08:05 +00:00
Devang Patel
f81bd70177
Provide llvm bitcode file to native object file interface.
...
llvm-svn: 53886
2008-07-21 23:04:39 +00:00
Nick Kledzik
44831bcb8c
tentative definitions are default visibility
...
llvm-svn: 53780
2008-07-19 00:58:07 +00:00
Devang Patel
bf3a52a62c
typo.
...
llvm-svn: 53778
2008-07-18 23:47:27 +00:00
Devang Patel
4e38849dec
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
f45f608e7d
Start writing lto-bugpoint tool.
...
llvm-svn: 53774
2008-07-18 22:59:45 +00:00
Devang Patel
41cfed7e49
Name string length is end position marker - begin position marker.
...
llvm-svn: 53697
2008-07-16 19:49:09 +00:00
Devang Patel
a59fe95be3
Do not forget global definitions from inline asm code block.
...
llvm-svn: 53693
2008-07-16 18:06:52 +00:00
Devang Patel
7688bed4ff
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
4015ae1d2c
Goodbye tail duplication (for good this time).
...
llvm-svn: 53574
2008-07-14 22:29:15 +00:00
Dan Gohman
0c292dbb6c
Reformat this message to fit in 80 cols.
...
llvm-svn: 53561
2008-07-14 17:43:27 +00:00
Duncan Sands
2e6f7b49bf
Fix comment.
...
llvm-svn: 53525
2008-07-13 20:14:38 +00:00
Chris Lattner
501c3b67fd
Fix PR2231 - opt -internalize -std-compile-opts should run internalize first
...
llvm-svn: 53523
2008-07-13 19:35:21 +00:00
Nick Kledzik
c232347cb8
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
c76bacbffb
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
Nick Kledzik
7c6f23fb9d
add _lto_codegen_debug_options so that linker can use it
...
llvm-svn: 53213
2008-07-07 23:24:06 +00:00
Devang Patel
a0e4fb8283
Provide a hook to set the code generation debug options to investigate lto failures.
...
llvm-svn: 53119
2008-07-03 22:53:14 +00:00
Owen Anderson
abfd3a8162
Use ADCE instead of just DCE. ADCE will better clean up after jump threading,
...
for instance.
llvm-svn: 53045
2008-07-02 18:42:07 +00:00
Devang Patel
4be1c150e4
Rename new lto2 tool as lto.
...
lto2->lto
llvm-svn: 52912
2008-06-30 18:15:01 +00:00
Devang Patel
a1e5413983
Remove old LTO interface.
...
llvm-svn: 52909
2008-06-30 18:04:55 +00:00
Devang Patel
81ea3bb55c
Move dominator info printer into tool/opt/GraphPrinters.cpp
...
llvm-svn: 52907
2008-06-30 17:32:58 +00:00
Argyrios Kyrtzidis
969cc2aea3
Since we are using GCC to assemble the program, make sure the assembly syntax is AT&T.
...
llvm-svn: 52827
2008-06-27 15:08:59 +00:00
Chris Lattner
d95b74870e
jump threading can introduce allocas, make sure we promote
...
them back to registers!
llvm-svn: 52729
2008-06-25 16:54:18 +00:00
Chris Lattner
0e06949726
run mem2reg after the second jump threading pass in llvm-ld.
...
llvm-svn: 52728
2008-06-25 16:51:55 +00:00
Chris Lattner
10d75bb88b
remove some dead options.
...
llvm-svn: 52726
2008-06-25 16:44:08 +00:00
Duncan Sands
db356eea26
Fix some warnings reported by gcc-4.3. Hopefully
...
this still compiles on windows - I can't test!
llvm-svn: 52488
2008-06-19 08:47:31 +00:00
Bill Wendling
573e0fd68b
Refactor the way to get a string containing the features of the target.
...
llvm-svn: 52470
2008-06-18 21:39:02 +00:00
Bill Wendling
9b2c5730b3
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).
llvm-svn: 52447
2008-06-18 06:35:30 +00:00
Argyrios Kyrtzidis
aea2be2610
Add an "exe" suffix only if the output file has no suffix at all.
...
llvm-svn: 52289
2008-06-15 15:20:16 +00:00
Argyrios Kyrtzidis
cb16b095c5
Make sure all produced executable files have "exe" suffix on Windows.
...
With this more general way, -native and -native-cbe options are handled too.
llvm-svn: 52287
2008-06-15 13:48:12 +00:00
Argyrios Kyrtzidis
bddf2fd699
Make sure that the current executable filename has "exe" suffix on Windows.
...
llvm-svn: 52286
2008-06-15 12:07:01 +00:00
Argyrios Kyrtzidis
5037fe21aa
Append "exe" suffix to executable files.
...
llvm-svn: 52285
2008-06-15 12:01:16 +00:00
Matthijs Kooijman
3bb1276ed2
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.
llvm-svn: 52235
2008-06-12 13:09:43 +00:00
Matthijs Kooijman
4ba5df8a68
Add -silence-passes option to bugpoint. This option suppresses output generated
...
when bugpoint is running passes in a child process.
llvm-svn: 52234
2008-06-12 13:02:26 +00:00
Mikhail Glushenkov
7640cca259
Make all help strings start in upper case.
...
llvm-svn: 51788
2008-05-30 21:14:10 +00:00
Mikhail Glushenkov
b6725054b8
Fix the -opt switch and add a test case for it.
...
llvm-svn: 51784
2008-05-30 19:56:27 +00:00
Mikhail Glushenkov
48b9f4be9d
Fix indentation.
...
llvm-svn: 51782
2008-05-30 18:53:09 +00:00
Mikhail Glushenkov
241042b700
Add a --dry-run option to llvmc2. Patch by Holger Schurig.
...
llvm-svn: 51781
2008-05-30 18:48:52 +00:00
Mikhail Glushenkov
394620bbd8
Add a --save-temps option.
...
llvm-svn: 51760
2008-05-30 06:29:17 +00:00
Mikhail Glushenkov
401f3d6eab
Add a check for side effect-free options (specified only in the OptionList).
...
llvm-svn: 51759
2008-05-30 06:28:37 +00:00
Mikhail Glushenkov
47817cd1a4
Documentation update.
...
llvm-svn: 51758
2008-05-30 06:28:00 +00:00
Mikhail Glushenkov
1c64538a5e
Show argv[0] in error messages (like gcc).
...
llvm-svn: 51755
2008-05-30 06:26:35 +00:00
Mikhail Glushenkov
b9b010eb09
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.
llvm-svn: 51754
2008-05-30 06:26:08 +00:00
Mikhail Glushenkov
ae551a012d
Documentation update.
...
llvm-svn: 51753
2008-05-30 06:25:24 +00:00
Mikhail Glushenkov
c8bd3517d5
A small optimization: use static char* array instead of StrVector.
...
llvm-svn: 51752
2008-05-30 06:24:49 +00:00
Mikhail Glushenkov
bf14dd7dc3
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.
llvm-svn: 51751
2008-05-30 06:24:07 +00:00
Mikhail Glushenkov
b043663cf9
Add support for option aliases.
...
llvm-svn: 51749
2008-05-30 06:22:52 +00:00
Mikhail Glushenkov
5916ade717
Fix some headers.
...
llvm-svn: 51745
2008-05-30 06:20:54 +00:00
Mikhail Glushenkov
2f51489a62
New tests for the 'case' expression: not_empty, in_language.
...
llvm-svn: 51744
2008-05-30 06:19:52 +00:00
Mikhail Glushenkov
90777a5b82
-E should print to stdout.
...
llvm-svn: 51743
2008-05-30 06:18:50 +00:00
Mikhail Glushenkov
1f7a028929
Make it possible to have multiple input languages for a single tool.
...
llvm-svn: 51742
2008-05-30 06:18:16 +00:00
Mikhail Glushenkov
73d708b82c
Rename StringVector to StrVector (to be consistent with LLVMCConfigurationEmitter.cpp).
...
llvm-svn: 51741
2008-05-30 06:17:29 +00:00
Mikhail Glushenkov
b2ec0b425b
Minor error message fixes.
...
llvm-svn: 51740
2008-05-30 06:16:59 +00:00
Mikhail Glushenkov
dc45f58905
Documentation and examples improvements
...
llvm-svn: 51739
2008-05-30 06:16:32 +00:00
Mikhail Glushenkov
9e58d5958f
Do not generate empty 'if's for the output_suffix property.
...
llvm-svn: 51737
2008-05-30 06:15:20 +00:00
Mikhail Glushenkov
490692c1d1
Update documentation, add examples.
...
llvm-svn: 51736
2008-05-30 06:14:42 +00:00
Mikhail Glushenkov
0ec82aff72
Rename LLVMC-Tutorial.rst to LLVMC-Reference.rst
...
llvm-svn: 51735
2008-05-30 06:14:01 +00:00
Mikhail Glushenkov
73edde26f0
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).
llvm-svn: 51733
2008-05-30 06:13:02 +00:00
Mikhail Glushenkov
fc4ed7ad83
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).
llvm-svn: 51732
2008-05-30 06:12:24 +00:00
Mikhail Glushenkov
550052d0e5
Enable the response file ('llvmc @file') support.
...
llvm-svn: 51731
2008-05-30 06:11:45 +00:00
Mikhail Glushenkov
a06c516cad
Update the code to the fact that StringSet now lives in llvm/ADT.
...
llvm-svn: 51730
2008-05-30 06:11:18 +00:00
Mikhail Glushenkov
e57a403338
Make it possible to use the generalised 'case' construct in the cmd_line property.
...
llvm-svn: 51728
2008-05-30 06:10:19 +00:00
Mikhail Glushenkov
8fedbb7b02
Add a generalised 'case' construct.
...
Besides assigning edge weights, it will also be used by the cmd_line tool property.
llvm-svn: 51727
2008-05-30 06:08:50 +00:00
Nick Kledzik
25368998e7
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
...
llvm-svn: 51722
2008-05-30 00:59:13 +00:00
Anton Korobeynikov
cf3acae26e
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
...
llvm-svn: 51687
2008-05-29 17:41:17 +00:00
Owen Anderson
fd24ce0a99
Re-enable the newly simplified ADCE. This fixes a regression on
...
Dhrystone introduced by its removal.
llvm-svn: 51669
2008-05-29 08:48:21 +00:00
Nick Kledzik
1c4627c282
use space insted of tabs
...
llvm-svn: 51623
2008-05-28 00:06:14 +00:00
Nick Kledzik
ce956e0613
fix infinite recursion if a global's initializer references the global
...
llvm-svn: 51617
2008-05-27 22:07:08 +00:00
Devang Patel
8b16aeb879
Add instcombine after global optimizations.
...
llvm-svn: 51611
2008-05-27 20:42:44 +00:00
Devang Patel
d38b712ee0
Use IPSCCPPass instead of IPConstantPropagationPass.
...
llvm-svn: 51605
2008-05-27 20:18:45 +00:00
Owen Anderson
698e72ec2c
Remove ADCE from the optimization pipeline.
...
llvm-svn: 51581
2008-05-27 04:27:27 +00:00
Dan Gohman
643b3a0581
Add #includes to make some dependencies explicit.
...
llvm-svn: 51496
2008-05-23 20:40:06 +00:00
Dale Johannesen
5b74efd723
Make LTO expect common and weak to be represented differently.
...
Reading .bc files from before that change will no longer work.
llvm-svn: 51457
2008-05-23 00:15:10 +00:00
Evan Cheng
16f036cbe8
Rename -no-lazy to -disable-lazy-compilation.
...
llvm-svn: 51386
2008-05-21 18:20:21 +00:00
Dale Johannesen
e45329448e
Add CommonLinkage, in a way that preserves the
...
behavior on old .bc files.
llvm-svn: 51210
2008-05-16 22:46:40 +00:00
Dale Johannesen
829dab0221
Add CommonLinkage to lto (treated same as weak AFAICT)
...
and llvm-nm (prints as C).
llvm-svn: 51209
2008-05-16 22:44:18 +00:00
Evan Cheng
c5c7a290e9
Re-enable tail duplication pass (now with default threshold down to 1 instruction).
...
llvm-svn: 51184
2008-05-16 07:57:10 +00:00
Gabor Greif
697e94cc22
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
...
llvm-svn: 51143
2008-05-15 10:04:30 +00:00
Evan Cheng
13e693f331
Remove tail duplication pass.
...
llvm-svn: 51139
2008-05-15 07:43:15 +00:00
Devang Patel
38e59eb0c7
Recover nestedloop regression reported by nightly tester.
...
llvm-svn: 51110
2008-05-14 18:04:30 +00:00
Devang Patel
a37cf46c87
Do not run instruction combiner in middle of loop optimization passes.
...
llvm-svn: 51084
2008-05-14 00:26:11 +00:00
Mikhail Glushenkov
c79304461a
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.
llvm-svn: 50973
2008-05-12 16:33:06 +00:00
Mikhail Glushenkov
3f896c8d16
Make it possible to choose between different compilation graph definitions at compile-time.
...
llvm-svn: 50972
2008-05-12 16:32:24 +00:00
Mikhail Glushenkov
128349b8bf
Fix some error messages; Make LLVMC pass through the exit code of a failed tool.
...
llvm-svn: 50971
2008-05-12 16:31:42 +00:00
Owen Anderson
18709fef4a
Re-enable loop deletion by default.
...
llvm-svn: 50941
2008-05-10 07:10:24 +00:00
Mikhail Glushenkov
4ae55648bc
Rename Example.td to Graph.td.
...
llvm-svn: 50910
2008-05-09 19:11:28 +00:00
Nick Kledzik
db18f328d7
use doxygen comments for makeBuffer()
...
llvm-svn: 50908
2008-05-09 18:44:41 +00:00
Mikhail Glushenkov
22ce861ffe
Reapply 50867: A small refactoring (extract method) + some comment fixes.
...
Fixed the build breakage, sorry for that.
llvm-svn: 50895
2008-05-09 08:27:26 +00:00
Nick Kledzik
63b6127a73
<rdar://problem/5917641> use getMemBufferCopy if supplied buffer is not already zero terminated
...
llvm-svn: 50880
2008-05-09 01:09:59 +00:00
Tanya Lattner
93cea9fd18
Revertin 50867 since it was breaking the build.
...
llvm-svn: 50871
2008-05-08 21:54:20 +00:00
Mikhail Glushenkov
e75ac17eaa
Add -E and -S options
...
llvm-svn: 50868
2008-05-08 20:02:36 +00:00
Mikhail Glushenkov
d7e151f868
A small refactoring (extract method) + some comment fixes.
...
llvm-svn: 50867
2008-05-08 20:02:03 +00:00
Mikhail Glushenkov
41318a15d0
Use Doxygen-style comments.
...
llvm-svn: 50833
2008-05-07 21:50:19 +00:00
Owen Anderson
0d84582dc0
Disable loop deletion until the release branch.
...
llvm-svn: 50787
2008-05-06 23:56:34 +00:00
Mikhail Glushenkov
eeac27e38c
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
...
llvm-svn: 50766
2008-05-06 18:18:58 +00:00
Mikhail Glushenkov
5e9d6a3dd8
Add new edge property combinator: weight.
...
llvm-svn: 50765
2008-05-06 18:18:20 +00:00
Mikhail Glushenkov
bfc8954a65
Add a help string for the -c option
...
llvm-svn: 50764
2008-05-06 18:17:42 +00:00
Mikhail Glushenkov
7e415c4c18
Update documentation to reflect the current state of affairs.
...
llvm-svn: 50763
2008-05-06 18:17:19 +00:00
Mikhail Glushenkov
0ca372a6be
Some cosmetic changes (change some comments, move code around a bit).
...
llvm-svn: 50762
2008-05-06 18:16:52 +00:00
Mikhail Glushenkov
de7fad129d
Refactoring: split the function CompilationGraph::Build() into two parts.
...
llvm-svn: 50760
2008-05-06 18:15:35 +00:00
Mikhail Glushenkov
a02084cff7
Use edge weights to choose the right linker based on input language names.
...
llvm-svn: 50759
2008-05-06 18:15:12 +00:00
Mikhail Glushenkov
1b056e9e5a
Add weights to graph edges. Choose between edges based on their weight.
...
llvm-svn: 50757
2008-05-06 18:14:24 +00:00
Mikhail Glushenkov
3a2f5c423e
Remove the UnpackValues() function.
...
llvm-svn: 50756
2008-05-06 18:13:45 +00:00
Mikhail Glushenkov
7f6ed20009
Add a --linker command-line option, make all tests pass.
...
llvm-svn: 50755
2008-05-06 18:13:00 +00:00
Mikhail Glushenkov
20c18c344b
Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.
...
llvm-svn: 50754
2008-05-06 18:12:03 +00:00
Mikhail Glushenkov
fc905c64ab
Add -x option (like in gcc).
...
llvm-svn: 50750
2008-05-06 18:10:53 +00:00
Mikhail Glushenkov
baacf0d692
Take object file as input and handle files with the same name correctly.
...
llvm-svn: 50749
2008-05-06 18:10:20 +00:00
Mikhail Glushenkov
d4918dd32c
Add output redirection, rename namespace llvmcc to namespace llvmc.
...
llvm-svn: 50746
2008-05-06 18:08:59 +00:00
Mikhail Glushenkov
2eb0268fab
Make AutoGenerated.inc depend also on Tools.td and Common.td
...
llvm-svn: 50745
2008-05-06 18:08:12 +00:00
Mikhail Glushenkov
73d866efda
Utilize topological sort in CompilationGraph::Build().
...
This makes more interesting graph topologies possible. Currently all tests pass,
but more testing is needed.
llvm-svn: 50744
2008-05-06 18:07:48 +00:00
Mikhail Glushenkov
7701512231
Add TopologicalSort method to CompilationGraph.
...
llvm-svn: 50743
2008-05-06 18:07:14 +00:00
Mikhail Glushenkov
af932f0d96
Do not require positional arguments when we're only printing out the graph.
...
llvm-svn: 50742
2008-05-06 17:44:16 +00:00
Mikhail Glushenkov
0620d0ca47
Make ChooseEdge more generic and use it to choose between different toolchains.
...
llvm-svn: 50741
2008-05-06 17:28:03 +00:00
Mikhail Glushenkov
891c14d1f1
Remove unnecessary argument from PassThroughGraph
...
llvm-svn: 50740
2008-05-06 17:27:37 +00:00
Mikhail Glushenkov
2709e1a2c9
Add inward edge counters to Nodes; Associate JoinLists with JoinTools.
...
llvm-svn: 50738
2008-05-06 17:26:53 +00:00
Mikhail Glushenkov
ee81aa3812
Enhancements for --view-graph
...
llvm-svn: 50737
2008-05-06 17:26:14 +00:00
Mikhail Glushenkov
be23113e93
Split the Build function into two parts.
...
llvm-svn: 50736
2008-05-06 17:25:51 +00:00
Mikhail Glushenkov
af15882a5a
Make llvmc return 1 when the compilation fails.
...
llvm-svn: 50735
2008-05-06 17:25:23 +00:00
Mikhail Glushenkov
baa0b592d0
Return const char* instead of std::string in Tool classes
...
llvm-svn: 50733
2008-05-06 17:24:26 +00:00
Mikhail Glushenkov
6ec1761ef6
Add an ability to choose between different edges based on edge properties.
...
llvm-svn: 50732
2008-05-06 17:23:50 +00:00
Mikhail Glushenkov
59eb254092
Add new edge properties: parameter_equals, element_in_list, and.
...
llvm-svn: 50730
2008-05-06 17:22:47 +00:00
Mikhail Glushenkov
681df41f2c
Implemented switch_on edge property.
...
llvm-svn: 50729
2008-05-06 17:22:03 +00:00
Mikhail Glushenkov
39a9335241
Cosmetic change: if( -> if (
...
llvm-svn: 50728
2008-05-06 16:37:33 +00:00
Mikhail Glushenkov
abd7cc7238
Remove ExampleWithOpt.td: this file was merged with Example.td.
...
llvm-svn: 50727
2008-05-06 16:37:12 +00:00
Mikhail Glushenkov
251280ce0b
More work on edge properties. Use Edge classes instead of strings in CompilationGraph.
...
llvm-svn: 50726
2008-05-06 16:36:50 +00:00
Mikhail Glushenkov
459df48de7
Ongoing work: add an edge typechecker, rudimentary support for edge properties.
...
llvm-svn: 50725
2008-05-06 16:36:06 +00:00
Mikhail Glushenkov
adcb08d1b3
Convert internal representation to use DAG. This gives us more flexibility and enables future improvements.
...
llvm-svn: 50724
2008-05-06 16:35:25 +00:00
Mikhail Glushenkov
8190616359
Small const-correctness fix
...
llvm-svn: 50723
2008-05-06 16:34:39 +00:00
Mikhail Glushenkov
a8276c5323
Code reorg
...
llvm-svn: 50722
2008-05-06 16:34:12 +00:00
Owen Anderson
7db342b0a8
Enable dead loop elimination.
...
llvm-svn: 50682
2008-05-05 23:38:07 +00:00
Anton Korobeynikov
625f4fee4d
Drop llvmc also, it will be replaced by shiny new llvmc2
...
llvm-svn: 50615
2008-05-04 06:19:55 +00:00
Anton Korobeynikov
a41f7f8985
Drop llvm2cpp, it's now a llc target
...
llvm-svn: 50614
2008-05-04 06:16:50 +00:00
Chris Lattner
e3b320bd4b
move libcalls to the same place llvm-gcc has it.
...
llvm-svn: 50593
2008-05-02 22:05:06 +00:00
Anton Korobeynikov
c53565c479
Add possibility of using arbitrary to to execute stuff from bugpoint.
...
Patch by Pekka Jääskeläinen!
llvm-svn: 50373
2008-04-28 20:53:48 +00:00
Chris Lattner
7855a5cb70
several multiple-retval fixes for bugpoint.
...
llvm-svn: 50331
2008-04-28 00:04:58 +00:00
Nick Lewycky
4d43d3c72c
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
...
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
llvm-svn: 50265
2008-04-25 16:53:59 +00:00
Anton Korobeynikov
8bfd6de8db
Disable building of llvm2cpp. The directory will be removed before 2.3 release.
...
llvm-svn: 50193
2008-04-23 22:46:24 +00:00
Anton Korobeynikov
78695035c4
First step of implementing PR1538: move llvm2cpp logic to new 'target'
...
llvm-svn: 50189
2008-04-23 22:29:24 +00:00
Bill Wendling
107d369b8b
Use the Create static method for some of these objects. They no longer
...
have public constructors. This should fix PR2246.
llvm-svn: 50145
2008-04-23 07:13:17 +00:00
Owen Anderson
7432cbd048
Move MemCpyOpt after GVN.
...
llvm-svn: 50097
2008-04-22 07:12:26 +00:00
Evan Cheng
0422bef7ed
Added command line option -no-lazy to disable JIT lazy compilation.
...
llvm-svn: 50095
2008-04-22 06:51:41 +00:00
Owen Anderson
a5030c3017
Add MemCpyOpt to LTO.
...
llvm-svn: 50081
2008-04-22 03:57:36 +00:00
Gabor Greif
f386da0aec
fix some residual old API that fell thru the cracks of the conversion script, closes http://llvm.org/bugs/show_bug.cgi?id=2246
...
llvm-svn: 50062
2008-04-21 21:31:55 +00:00
Owen Anderson
2988ccad6a
Use GVN in LTO instead of GCSE+LoadVN.
...
llvm-svn: 50036
2008-04-21 07:51:07 +00:00
Chris Lattner
0645b88852
Add jump threading to liblto.
...
llvm-svn: 50028
2008-04-21 04:31:40 +00:00
Chris Lattner
ba994f7cdf
run the jump threading pass in llvm-ld also
...
llvm-svn: 50027
2008-04-21 04:28:40 +00:00
Chris Lattner
b15e1f963d
enable jump threading pass by default. This causes no miscompilations
...
and can significantly shrinkify some code, particularly from C++ land.
llvm-svn: 50025
2008-04-21 04:22:09 +00:00
Duncan Sands
9ed1242efc
Run SimplifyLibCalls near the beginning, not at
...
the end. It is now run at the same moment as in
llvm-gcc. Also, run StripDeadPrototypes at the
end, just before running DeadTypeElimination.
This may be useful when doing LTO. Note that
llvm-gcc runs StripDeadPrototypes but not
DeadTypeElimination.
llvm-svn: 49848
2008-04-17 12:03:38 +00:00
Dan Gohman
bd2613d382
Fix a memory leak in llc.
...
llvm-svn: 49793
2008-04-16 15:56:26 +00:00
Owen Anderson
7629b71dd4
Revert r49614. As Dan pointed out, some of these aren't correct.
...
llvm-svn: 49657
2008-04-14 17:38:21 +00:00
Owen Anderson
1f6fbc4bc3
Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2),
...
which is significantly more efficient.
llvm-svn: 49614
2008-04-13 19:15:17 +00:00
Evan Cheng
2025a490d0
Move memcpy / memset optimization pass after GVN.
...
llvm-svn: 49457
2008-04-10 01:33:05 +00:00
Owen Anderson
ef9a6fd5c2
Factor a bunch of functionality related to memcpy and memset transforms out of
...
GVN and into its own pass.
llvm-svn: 49419
2008-04-09 08:23:16 +00:00
Tanya Lattner
18948355e1
Remove llvm-upgrade.
...
llvm-svn: 49347
2008-04-07 18:32:47 +00:00
Duncan Sands
813384951e
Use Intrinsic::getDeclaration in more places.
...
llvm-svn: 49338
2008-04-07 13:45:04 +00:00
Bill Wendling
856d8f5b58
Remove tabs. Patch by Mike Stump!
...
llvm-svn: 49317
2008-04-07 05:47:52 +00:00
Gabor Greif
e9ecc68d8f
API changes for class Use size reduction, wave 1.
...
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
2008-04-06 20:25:17 +00:00
Torok Edwin
538160b7ff
-fPIC is required on x86-64 when building shared objects.
...
llvm-svn: 49274
2008-04-06 12:42:29 +00:00
Devang Patel
124cce86fc
Reenable running StripSymbols when EH is on.
...
Dale fixed EH.
llvm-svn: 49192
2008-04-03 21:30:06 +00:00
Dale Johannesen
491557712a
Make EH work with unnamed functions. Reenable running
...
StripSymbols when EH is on.
llvm-svn: 49110
2008-04-02 20:10:52 +00:00
Chris Lattner
6f2ffdb73f
Change the MemoryBuffer::getFile* methods to take just a pointer to the
...
start of a filename, not a filename+length. All clients can produce a
null terminated name, and the system api's require null terminated
strings anyway.
llvm-svn: 49041
2008-04-01 18:04:03 +00:00
Chris Lattner
e950eee303
stop building llvmc.
...
llvm-svn: 48964
2008-03-30 18:58:05 +00:00
Anton Korobeynikov
08bae57469
Honour another bunch of parameter attributes in llvm2cpp
...
llvm-svn: 48942
2008-03-29 11:25:49 +00:00
Anton Korobeynikov
a125be374e
Honour ByVal parameter attribute in llvm2cpp
...
llvm-svn: 48941
2008-03-29 11:15:01 +00:00
Mikhail Glushenkov
ea7cb37a5c
Another test commit (with git-svn)
...
llvm-svn: 48843
2008-03-26 21:37:43 +00:00
Mikhail Glushenkov
19e24df3a4
Test commit
...
llvm-svn: 48840
2008-03-26 21:18:58 +00:00
Anton Korobeynikov
4c1559f54e
Fix the Cygwin/Mingw-On-Cygwin build. Patch by Alain Frisch!
...
llvm-svn: 48786
2008-03-25 18:53:36 +00:00
Tanya Lattner
ca8eb5d0f5
Disable building llvm-upgrade.
...
llvm-svn: 48764
2008-03-25 05:05:58 +00:00
Andrew Lenharth
5e0067d982
With debug info, there are nameless constant global values. do not crash when we hit one
...
llvm-svn: 48749
2008-03-24 22:16:14 +00:00
Bill Wendling
1f5c2e7fc6
Small format/grammar changes.
...
llvm-svn: 48723
2008-03-24 05:58:47 +00:00
Bill Wendling
f52a379cb3
Grammar Nazi strikes! :-)
...
llvm-svn: 48722
2008-03-24 05:55:54 +00:00
Anton Korobeynikov
70548d835e
Add first proof-of-concept universal compiler driver framework based
...
on ideas mentioned in PR686.
Written by Mikhail Glushenkov and contributed by Codedgers, Inc.
Old llvmc will be removed soon after new one will have all its properties.
llvm-svn: 48699
2008-03-23 08:57:20 +00:00
Andrew Lenharth
0d537491e7
style and spelling
...
llvm-svn: 48562
2008-03-19 22:32:43 +00:00
Andrew Lenharth
4d93dc17b2
llvm-ld deserves disable-verify too. opt shouldn't have all the fun options.
...
llvm-svn: 48550
2008-03-19 20:49:51 +00:00
Chris Lattner
8a923e7c28
Reimplement the parameter attributes support, phase #1 . hilights:
...
1. There is now a "PAListPtr" class, which is a smart pointer around
the underlying uniqued parameter attribute list object, and manages
its refcount. It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
ParamAttrsWithIndex's, no need to make a SmallVector of a specific
size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
dereferencing the pointer is simplified to just access the
PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
bit simpler.
Phase #2 will rename some stuff (e.g. PAListPtr) and do other less
invasive changes.
llvm-svn: 48289
2008-03-12 17:45:29 +00:00
Andrew Lenharth
fc42740952
only extract main if the user didn't specify anything to extract
...
llvm-svn: 48023
2008-03-07 20:10:54 +00:00
Andrew Lenharth
3906c6aea3
make error message reflect default search function name
...
llvm-svn: 48021
2008-03-07 20:07:24 +00:00
Andrew Lenharth
3f13b6630a
add a pass that can extract all kinds of global values, not just functions. Update llvm-extract to use it and optionally extract a global variable if you want it too
...
llvm-svn: 48015
2008-03-07 19:51:57 +00:00
Tanya Lattner
46be50c668
Renable lto2 build.
...
llvm-svn: 47845
2008-03-03 17:32:40 +00:00
Nick Kledzik
e8338e52ed
suppress extra -install_name on Tiger. The 10.4 tools don't support it. Fix whitespace.
...
llvm-svn: 47817
2008-03-02 06:33:06 +00:00
Nick Lewycky
3cc9be0b59
Add an unwind_to field to basic blocks, making them Users instead of Values.
...
This is the first checkin for PR1269, the new EH infrastructure.
llvm-svn: 47802
2008-03-02 02:48:09 +00:00
Nick Lewycky
36c00f834a
Also handle "getresult".
...
llvm-svn: 47797
2008-03-01 21:47:06 +00:00
Tanya Lattner
bb20900184
Disable lto because its broken on tiger.
...
llvm-svn: 47783
2008-03-01 07:36:30 +00:00
Nick Kledzik
d5a2f4aee5
stop building lto on all platforms. Start building lto2 on Darwin
...
llvm-svn: 47762
2008-02-29 19:31:29 +00:00
Nick Kledzik
a28acfee92
also pass -compatibility_version when linking shared object for Darwin
...
llvm-svn: 47747
2008-02-29 02:01:34 +00:00
Andrew Lenharth
09b64a4ed1
Make llvm-ar behave like ar, if you create an empty archive, ar creates an empty archive. llvm-ar would not generate an output file in this case
...
llvm-svn: 47733
2008-02-28 22:24:48 +00:00
Nick Kledzik
91a6dcff32
fixes from review of first commit
...
llvm-svn: 47695
2008-02-27 22:25:36 +00:00
Nick Kledzik
5f1db0a8de
use PROJ_SRC_DIR so this builds with Apple style builds
...
llvm-svn: 47694
2008-02-27 22:23:46 +00:00
Nick Kledzik
07b4a62234
first commit of new LTO system. It is not hooked up in the llvm/tools/Makefile, so no one will build it be default yet
...
llvm-svn: 47621
2008-02-26 20:26:43 +00:00
Bill Wendling
8ff4320071
Detabify.
...
llvm-svn: 47596
2008-02-26 10:46:10 +00:00
Dale Johannesen
09f410b6d7
Split ParameterAttributes.h, putting the complicated
...
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.
llvm-svn: 47504
2008-02-22 22:17:59 +00:00
Devang Patel
c6f915e40d
Add -disable-output option.
...
llvm-svn: 47422
2008-02-21 01:41:25 +00:00
Anton Korobeynikov
ea333124f1
Get rid of hash_map in llvmc
...
llvm-svn: 47374
2008-02-20 11:28:26 +00:00
Anton Korobeynikov
bddf51bc9b
And final pack of warnings silencing
...
llvm-svn: 47372
2008-02-20 11:27:04 +00:00
Anton Korobeynikov
579f07135a
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
...
llvm-svn: 47367
2008-02-20 11:08:44 +00:00
Dale Johannesen
89268bc6e2
Expand ParameterAttributes to 32 bits (in preparation
...
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.
llvm-svn: 47342
2008-02-19 21:38:47 +00:00
Dan Gohman
02d2bc8d3e
Fix a missing space in the description of the find-bugs option.
...
llvm-svn: 47271
2008-02-18 17:15:45 +00:00
Nick Lewycky
8102d473ce
PR2027, Fix bugpoint's -find-bugs option, clean up the code.
...
llvm-svn: 47105
2008-02-14 05:01:46 +00:00
Devang Patel
eef348687e
Begin setting features for target based on target triple string.
...
llvm-svn: 46863
2008-02-07 22:32:50 +00:00
Devang Patel
623df7620d
Do not set time out, lets assume assembler will do its job in reasonable amount of time.
...
llvm-svn: 46718
2008-02-04 21:16:10 +00:00
Devang Patel
1a06334403
Do not strip symbols when EH is ON.
...
llvm-svn: 46657
2008-02-02 01:32:38 +00:00
Devang Patel
540d03bda9
Supply appropriate arch info to darwin assembler.
...
llvm-svn: 46567
2008-01-30 19:19:31 +00:00
Devang Patel
b432c9e866
Enable exception handling if it is supported.
...
llvm-svn: 46560
2008-01-30 17:43:03 +00:00
Chris Lattner
d329270854
Add support for frameworks. Patch by Shantonu Sen!
...
llvm-svn: 46421
2008-01-27 22:58:59 +00:00
Devang Patel
41f375a45c
- Introduces versioning macro LLVM_LTO_VERSION
...
- Communicate symbol visibility
- Communicate code generation model
llvm-svn: 46033
2008-01-15 23:52:34 +00:00
Chris Lattner
7ff4a8bf3f
Fix llvm-ld -Xlinker, patch by Daniel Teske!
...
llvm-svn: 45770
2008-01-09 01:01:17 +00:00
Chris Lattner
97879424fe
Fix PR1797
...
llvm-svn: 45736
2008-01-08 04:26:20 +00:00
Chris Lattner
6787a45a65
remove attribution from a variety of miscellaneous files.
...
llvm-svn: 45425
2007-12-29 22:59:10 +00:00
Chris Lattner
f87b59d683
regenerate
...
llvm-svn: 45424
2007-12-29 20:47:37 +00:00
Chris Lattner
cb1e357a1c
remove attributions
...
llvm-svn: 45423
2007-12-29 20:46:15 +00:00
Chris Lattner
345353d6b4
remove attributions from tools.
...
llvm-svn: 45421
2007-12-29 20:44:31 +00:00
Chris Lattner
8fa21acd25
remove attributions from tools/utils makefiles.
...
llvm-svn: 45414
2007-12-29 20:07:17 +00:00
Gordon Henriksen
520e64c0c2
Fixing several transforms which would drop the collector attribute
...
when copying functions.
llvm-svn: 45356
2007-12-25 22:16:06 +00:00
Seo Sanghyeon
d42a60baa0
Actually parse q operation in llvm-ar
...
llvm-svn: 45353
2007-12-25 13:53:47 +00:00
Devang Patel
c006744c38
Revert my previous check-in.
...
llvm-svn: 45249
2007-12-20 01:46:01 +00:00
Devang Patel
6d279d484a
Add lto version check mechanism.
...
llvm-svn: 45238
2007-12-20 00:24:01 +00:00
Christopher Lamb
083bb46370
regenerate.
...
llvm-svn: 45085
2007-12-17 01:17:35 +00:00
Christopher Lamb
edf0788758
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
...
llvm-svn: 45082
2007-12-17 01:12:55 +00:00
Christopher Lamb
54dd24c2a7
Implement address space attribute for LLVM pointer types. Address spaces are
...
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.
This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.
In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.
LangRef updates are forthcoming.
llvm-svn: 44858
2007-12-11 08:59:05 +00:00
Chris Lattner
ad6094ddd3
Fix accidental commit by Bill.
...
llvm-svn: 44729
2007-12-09 00:27:38 +00:00
Bill Wendling
3f19dfe794
Reverting 44702. It wasn't correct to rename them.
...
llvm-svn: 44727
2007-12-08 23:58:46 +00:00
Duncan Sands
38ef3a8ec7
Rather than having special rules like "intrinsics cannot
...
throw exceptions", just mark intrinsics with the nounwind
attribute. Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).
llvm-svn: 44544
2007-12-03 20:06:50 +00:00
Duncan Sands
b41f872013
Add a convenience method for modifying parameter
...
attributes. While there, I noticed that not all
attribute methods returned a pointer-to-constant,
so I fixed that.
llvm-svn: 44457
2007-11-30 18:19:18 +00:00
Duncan Sands
5208d1ab4a
Add some convenience methods for querying attributes, and
...
use them.
llvm-svn: 44403
2007-11-28 17:07:01 +00:00
Ted Kremenek
c6298de211
Added quotes around $(NM_PATH) argument to GenLibDeps.pl script so that
...
the "-p" option is actually seen by nm (it was being dropped as it was
considered as separate argument to the Perl script).
llvm-svn: 44365
2007-11-27 17:53:54 +00:00
Duncan Sands
ad0ea2d430
Fix PR1146: parameter attributes are longer part of
...
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
2007-11-27 13:23:08 +00:00
Nick Lewycky
c6243020a6
Allow the block extractor take to take a list of basic blocks to not extract
...
from a file containing Function/BasicBlock pairings. This is not safe against
anonymous or abnormally-named Funcs or BBs.
Make bugpoint use this interface to pass the BBs list to the child bugpoint.
llvm-svn: 44101
2007-11-14 06:47:06 +00:00
Chris Lattner
07328f0b8b
Make llvm2cpp better, patch for PR1794, contributed by Zack Rusin.
...
llvm-svn: 44051
2007-11-13 18:22:33 +00:00
Gordon Henriksen
2ed067a0d9
Deleting redundant copy of block extractor pass. See also PR1775.
...
llvm-svn: 43694
2007-11-05 01:54:05 +00:00
Chris Lattner
4c9ec1aaa2
Fix PR1739.
...
llvm-svn: 43286
2007-10-24 04:35:54 +00:00
Chris Lattner
fee916334a
add a 'don't use me' marker.
...
llvm-svn: 43226
2007-10-22 19:41:46 +00:00
Gordon Henriksen
ef5d08f4ea
Switching TargetMachineRegistry to use the new generic Registry.
...
llvm-svn: 43094
2007-10-17 21:28:48 +00:00
Dan Gohman
a8656d4798
Fix a typo in a comment.
...
llvm-svn: 43016
2007-10-15 21:10:03 +00:00
Dan Gohman
2c6a821fd7
Move the space in overview output for commands out of each of the
...
commands and into the common code.
llvm-svn: 42752
2007-10-08 15:45:12 +00:00
Dale Johannesen
6bf69ed3cc
minor long double related changes
...
llvm-svn: 42439
2007-09-28 18:06:58 +00:00
Dale Johannesen
028084efe5
Revise previous patch per review comments.
...
Next round of x87 long double stuff.
Getting close now, basically works.
llvm-svn: 41875
2007-09-12 03:30:33 +00:00
Dale Johannesen
245dceb06d
Add APInt interfaces to APFloat (allows directly
...
access to bits). Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, probably does not work).
llvm-svn: 41858
2007-09-11 18:32:33 +00:00
Owen Anderson
4266bb73e8
Turn GVN on by default.
...
llvm-svn: 41787
2007-09-08 22:23:52 +00:00
Dale Johannesen
9e70086c8f
Apply feedback from previous patch.
...
llvm-svn: 41774
2007-09-07 21:07:57 +00:00
Dale Johannesen
bed9dc423c
Next round of APFloat changes.
...
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double. Remove
the ConstantFP double interfaces.
Use APFloat functions for constant folding arithmetic
and comparisons.
(There are still way too many places APFloat is
just a wrapper around host float/double, but we're
getting there.)
llvm-svn: 41747
2007-09-06 18:13:44 +00:00
Devang Patel
42e2abe0e8
Enable loop index split pass.
...
llvm-svn: 41714
2007-09-04 20:46:58 +00:00
David Greene
85948d7474
Update generated files.
...
llvm-svn: 41706
2007-09-04 18:46:50 +00:00
David Greene
9bf8760a52
Revert this because the interface hasn't been updated yet.
...
llvm-svn: 41703
2007-09-04 17:15:07 +00:00
David Greene
4f4dc729d4
Fix typo.
...
llvm-svn: 41702
2007-09-04 17:00:44 +00:00
David Greene
c656cbb8c2
Update GEP constructors to use an iterator interface to fix
...
GLIBCXX_DEBUG issues.
llvm-svn: 41697
2007-09-04 15:46:09 +00:00
David Greene
703623d571
Update InvokeInst to work like CallInst
...
llvm-svn: 41506
2007-08-27 19:04:21 +00:00
David Greene
87e2554df4
Update .cvs file
...
llvm-svn: 41106
2007-08-15 17:58:51 +00:00
Reid Spencer
7c38b0dc15
Don't build llvm-stub twice.
...
llvm-svn: 41039
2007-08-13 00:25:47 +00:00
Reid Spencer
fd46badca5
Separate program name from error message with a :
...
llvm-svn: 40945
2007-08-08 21:19:01 +00:00
Reid Spencer
f054db3242
Terminate an error message with a newline.
...
llvm-svn: 40943
2007-08-08 21:17:59 +00:00
David Greene
c600d65e2b
Make this code more efficient
...
llvm-svn: 40899
2007-08-07 16:57:55 +00:00
Chandler Carruth
450f95c857
Regenerating.
...
llvm-svn: 40808
2007-08-04 01:56:21 +00:00
Chandler Carruth
7132e00de7
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
...
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
llvm-svn: 40807
2007-08-04 01:51:18 +00:00
Reid Spencer
e621b07e5e
Adjust for new CallInst constructor interface.
...
This fixes test/Feature/llvm2cpp.ll
llvm-svn: 40714
2007-08-02 03:30:26 +00:00
Owen Anderson
10e52eddb3
Rename FastDSE to just DSE.
...
llvm-svn: 40668
2007-08-01 06:36:51 +00:00
David Greene
c8e6508572
Update generated files.
...
llvm-svn: 40663
2007-08-01 03:59:32 +00:00
David Greene
17a5dfe6f7
New CallInst interface to address GLIBCXX_DEBUG errors caused by
...
indexing an empty std::vector.
Updates to all clients.
llvm-svn: 40660
2007-08-01 03:43:44 +00:00
Dan Gohman
070a3f94a2
Remove a FIXME comment that wasn't removed when the code it accompanied
...
was removed.
llvm-svn: 40591
2007-07-30 15:01:09 +00:00
Reid Spencer
ec5058eb96
Remove dead option.
...
llvm-svn: 40415
2007-07-23 04:23:32 +00:00
Reid Spencer
c49a5b9952
Fix a sys::Path API error caught by a gcc 4.2 warning.
...
llvm-svn: 39995
2007-07-18 05:27:33 +00:00
Owen Anderson
a603a80607
Turn on FastDSE by default.
...
Note: FastDSE now equals or exceeds the results of old DSE on all of SPEC2000 and SPEC2006. Unless major problems
show up in the testers, it will likely completely replace old DSE in the near future.
llvm-svn: 39986
2007-07-17 21:59:21 +00:00
Evan Cheng
bd9b21f1c5
Change sroa threshold back.
...
llvm-svn: 39980
2007-07-17 20:07:21 +00:00
Evan Cheng
20b76421ed
Temporarily set SROA threshold to 512.
...
llvm-svn: 39950
2007-07-17 01:52:05 +00:00
Anton Korobeynikov
d9625399fb
Emit correct linkage. Patch by Roman Samoilov.
...
llvm-svn: 39751
2007-07-11 19:51:06 +00:00
Reid Spencer
0818f7dbf9
Simplify the handling of the --*flags options. The makefile already gets it
...
right so there is no need to duplicate logic, just use the values the makefile
provides.
Eliminate some redundnt -D options from the output.
Fix the help output so it fits on 80 cols.
llvm-svn: 38488
2007-07-10 07:48:09 +00:00
Reid Spencer
1da59dd6dd
Makesure the -cppflags also uses the CPP.BaseFlags as the CPP.Defines only
...
contains some of the defines but not all CPP flags.
llvm-svn: 38487
2007-07-10 07:21:34 +00:00
Gabor Greif
24027b584f
finishing touches of bytecode -> bitcode changes. also unbreak Windows
...
llvm-svn: 37950
2007-07-06 20:28:40 +00:00
Gabor Greif
3d3fc3296e
eliminate residual cruft related to recognizing bytecode
...
files.
bitcode files are the only LLVM format left.
llvm-svn: 37945
2007-07-06 13:38:17 +00:00
Chris Lattner
622178dfc1
update the .cvs files.
...
llvm-svn: 37919
2007-07-05 17:27:31 +00:00
Gabor Greif
e16561cd5d
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
Devang Patel
f5a15dd9da
Fix PR1539. Add LoopPassPrinter.
...
llvm-svn: 37909
2007-07-05 15:32:03 +00:00
Gabor Greif
0e535c3c8e
Pretty straightforward replacement of "bytecode" by "bitcode"
...
performed on tools/ first, in order not to cause lethal damage
llvm-svn: 37877
2007-07-04 21:55:50 +00:00
John Criswell
2660cef6d7
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Devang Patel
9a259a20b3
Fix PR 1526.
...
llvm-svn: 37780
2007-06-28 23:09:25 +00:00
David Greene
cbc8ddf81a
Add support for building with _GLIBCXX_DEBUG. New configure option
...
--enable-expensive-checks allows the developer to enable runtime
checking that can greatly increase compile time. Currently it only
turns on _GLIBCXX_DEBUG. Other expensive debugging checks added later
should be controlled by this configure option.
This patch also updates llvm-config with a --cppflags option to inform
llvm-gcc how to build itself so that it is compatible with an llvm that
was built with _GLIBCXX_DEBUG.
llvm-svn: 37777
2007-06-28 19:36:08 +00:00
Lauro Ramos Venancio
ed95f7fcb3
llvm-nm must print the alias symbols.
...
llvm-svn: 37766
2007-06-27 22:08:09 +00:00
Reid Spencer
36d4c07500
Fix PR1525:
...
Use a better determinator for identifying constant array initializers that
are or are not zero terminated and generate code appropriately.
llvm-svn: 37720
2007-06-25 16:45:54 +00:00
Chris Lattner
cd74c3ea7c
Fix pr1448
...
llvm-svn: 37658
2007-06-19 16:46:48 +00:00
Reid Spencer
1aae9e8e12
Fix PR1517:
...
Use SmallPtrSet instead of std::vector to eliminate duplicate uses in a
function generated with -gen-function. This prevents the output from having
multiple duplicate declarations of constants and gvals.
llvm-svn: 37616
2007-06-16 20:48:27 +00:00
Reid Spencer
83c15f8a1b
Fix PR1516:
...
When printing the uses of a function (-gen-function only), make sure to
include the constants referenced by intializers of global variables.
llvm-svn: 37615
2007-06-16 20:33:24 +00:00
Nick Lewycky
7aa84fe7c5
Call the correct function name. Patch from Stephane Letz.
...
llvm-svn: 37614
2007-06-16 16:17:35 +00:00
Lauro Ramos Venancio
f04823af30
Fix bugpoint to run -llc-safe with -Xlinker.
...
llvm-svn: 37483
2007-06-06 23:10:56 +00:00
Chris Lattner
e7a1a4c889
if internalize is disabled, don't run the pass at all!
...
llvm-svn: 37477
2007-06-06 20:51:14 +00:00
Zhou Sheng
2444a9adeb
Commit first round work of PR1373. "noalias" is now fully supported in
...
VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll
updated also.
llvm-svn: 37432
2007-06-05 05:28:26 +00:00
Reid Spencer
ac1c2d93f1
Regenerate.
...
llvm-svn: 37207
2007-05-18 05:48:07 +00:00
Reid Spencer
c32d55e17c
Initialize variable to null so it has a value in the off chance that a
...
memory buffer couldn't be allocated.
llvm-svn: 36904
2007-05-07 18:50:07 +00:00
Chris Lattner
9e9a34c6bf
use the new MemoryBuffer interfaces to simplify error reporting in clients.
...
llvm-svn: 36900
2007-05-06 23:45:49 +00:00
Chris Lattner
05be1d44da
remove dead option
...
llvm-svn: 36898
2007-05-06 23:24:42 +00:00
Chris Lattner
69a1f813a2
Fix a buggy conversion from bytecode to bitcode
...
llvm-svn: 36883
2007-05-06 19:43:09 +00:00
Chris Lattner
9b4a428978
make sure the ofstream for opt's output file is destroyed, so that the bits
...
actually land on disk.
llvm-svn: 36877
2007-05-06 19:17:23 +00:00
Chris Lattner
f5599efb00
switch tools to bitcode from bytecode
...
llvm-svn: 36872
2007-05-06 09:32:02 +00:00
Chris Lattner
6d80e21a1d
switch tools to bitcode instead of bytecode
...
llvm-svn: 36868
2007-05-06 09:29:57 +00:00
Chris Lattner
8279f7e3c2
this doesn't directly depend on bytecode
...
llvm-svn: 36854
2007-05-06 05:58:00 +00:00
Chris Lattner
e542042f8d
add bitcode support.
...
llvm-svn: 36853
2007-05-06 05:56:58 +00:00
Chris Lattner
b52f3aac73
archive library already depends on bc reader
...
llvm-svn: 36852
2007-05-06 05:53:02 +00:00
Chris Lattner
e74845f075
add bitcode support, optimize reading to not read all function bodies just
...
to get deplibs
llvm-svn: 36851
2007-05-06 05:51:37 +00:00
Chris Lattner
957d090ed1
use an auto_ptr to avoid an explicit delete
...
llvm-svn: 36850
2007-05-06 05:47:36 +00:00
Chris Lattner
f6dd4d7fca
add bitcode support
...
llvm-svn: 36849
2007-05-06 05:47:06 +00:00
Chris Lattner
adc9e30a72
Remove the -emit-bytecode option. Noone in the llvm tree uses it, and this
...
keeps llvm-upgrade a simple "source to source" tool.
llvm-svn: 36848
2007-05-06 05:40:41 +00:00
Chris Lattner
ef8f389e08
add bitcode reading support to llvm-nm
...
llvm-svn: 36847
2007-05-06 05:36:18 +00:00
Chris Lattner
99016c3f2d
bitcodify, remove eh cruft
...
llvm-svn: 36844
2007-05-06 05:21:42 +00:00
Chris Lattner
cdda3a4ae5
debugger depends on bcreader, not llvm-db
...
llvm-svn: 36842
2007-05-06 05:18:37 +00:00
Chris Lattner
27936994bd
remove EH cruft, add bitcode support
...
llvm-svn: 36841
2007-05-06 05:13:17 +00:00
Chris Lattner
2785bdbefd
add bitcode reading support, remove eh stuff
...
llvm-svn: 36840
2007-05-06 04:58:26 +00:00
Chris Lattner
6dd290ad3d
add bitcode reading support. Remove EH cruft.
...
llvm-svn: 36839
2007-05-06 04:55:19 +00:00
Chris Lattner
6147489a09
bitcodify
...
llvm-svn: 36838
2007-05-06 04:49:55 +00:00
Chris Lattner
f693167d68
simplify code
...
llvm-svn: 36837
2007-05-06 04:43:36 +00:00
Chris Lattner
c424ba7ebd
add support to llvm-prof for reading from a bitcode file
...
llvm-svn: 36836
2007-05-06 04:43:00 +00:00
Chris Lattner
0f49a6fe89
if -bitcode is specified, read and write a bitcode file instead of a bytecode file.
...
llvm-svn: 36830
2007-05-06 02:42:03 +00:00
Chris Lattner
19f599471c
add inline asm code
...
llvm-svn: 36826
2007-05-06 01:50:11 +00:00
Chris Lattner
f25f710c4d
add a denser encoding for null terminated strings, add a 6-bit abbrev as
...
well. This shrinks kc++ from 2724088 to 2717360 bytes.
llvm-svn: 36821
2007-05-06 00:53:07 +00:00
Chris Lattner
4a7ac9fd70
emit spiffy little histograms of codes, if enabled. Don't print averages if
...
there is only one item.
llvm-svn: 36773
2007-05-05 01:46:49 +00:00
Chris Lattner
9e808cd330
do not charge subblock sizes to the parent block.
...
llvm-svn: 36772
2007-05-05 01:29:31 +00:00
Chris Lattner
9181ddf91d
update to new APIs, make output a bit (haha) nicer
...
llvm-svn: 36768
2007-05-05 00:17:42 +00:00
Chris Lattner
0b7c5121f7
add support for new codes/block
...
llvm-svn: 36726
2007-05-04 03:01:41 +00:00
Evan Cheng
779b52e4c4
Added -rsh-host and -rsh-user to support remote execution.
...
llvm-svn: 36685
2007-05-03 18:36:15 +00:00
Devang Patel
8c78a0bff0
Drop 'const'
...
llvm-svn: 36662
2007-05-03 01:11:54 +00:00
Devang Patel
e95c6ad802
Use 'static const char' instead of 'static const int'.
...
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
2007-05-02 21:39:20 +00:00
Devang Patel
09f162ca6a
Do not use typeinfo to identify pass in pass manager.
...
llvm-svn: 36632
2007-05-01 21:15:47 +00:00
Chris Lattner
5fab65dbbf
add phi
...
llvm-svn: 36611
2007-05-01 02:43:46 +00:00
Reid Spencer
986b9df04e
Augment the verbose output to print out the sub-commands executed.
...
llvm-svn: 36581
2007-04-29 23:59:47 +00:00
Chris Lattner
3543caacd3
Implement much expanded dumper support. We now print stuff like:
...
<MODULE_BLOCK NumWords=27 BlockCodeSize=3>
<TYPE_BLOCK NumWords=7 BlockCodeSize=4>
<NUMENTRY op0=7>
<POINTER op0=1>
<FUNCTION op0=0 op1=2 op2=2 op3=2 op4=2>
<VECTOR op0=2 op1=3>
<INTEGER op0=64>
<VECTOR op0=8 op1=5>
<INTEGER op0=16>
<VOID>
...
With work, the operands can be pretty printed symbolically.
llvm-svn: 36579
2007-04-29 21:48:19 +00:00
Chris Lattner
1684cee5a2
add some simple per-block statistics
...
llvm-svn: 36576
2007-04-29 20:00:02 +00:00
Chris Lattner
ca0ea543f5
Implement support to read an arbitrary bitcode file. Next up, dumping the
...
file symbolically and actually computing statistics.
llvm-svn: 36557
2007-04-29 08:31:14 +00:00
Chris Lattner
0399758b5f
very early support for analyzing a bitstream. This opens the file, starts
...
reading the stream, and detects whether it is LLVM IR or not.
llvm-svn: 36556
2007-04-29 08:12:22 +00:00
Chris Lattner
6694f60bec
Switch the bitcode reader interface to take a MemoryBuffer instead of knowing
...
anything about disk I/O itself. This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.
This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode. Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.
I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.
llvm-svn: 36554
2007-04-29 07:54:31 +00:00
Chris Lattner
cc18989c14
fit in 80 cols
...
llvm-svn: 36551
2007-04-29 05:51:00 +00:00
Chris Lattner
4c522b9434
reset errno to zero on entry to the application's main function. This fixes
...
MultiSource/Applications/minisat in the JIT.
Note that the libsystem stuff should ideally never modify errno. :(
llvm-svn: 36508
2007-04-27 17:02:33 +00:00
Jeff Cohen
bb693dcfb1
Add new option to usage help.
...
llvm-svn: 36347
2007-04-22 18:33:20 +00:00
Chris Lattner
8ca41bfb57
don't break reading from stdin
...
llvm-svn: 36336
2007-04-22 06:35:20 +00:00
Chris Lattner
69892b79ce
link in bitwriter library
...
llvm-svn: 36335
2007-04-22 06:31:35 +00:00
Chris Lattner
e224446728
teach llvm-dis to read bitcode files
...
llvm-svn: 36334
2007-04-22 06:31:02 +00:00
Chris Lattner
52e1f0f297
add a temporary -bitcode option, which instructs llvm-as to produce a bitcode file instead of a bytecode file
...
llvm-svn: 36333
2007-04-22 06:28:58 +00:00
Reid Spencer
4388f0b4fa
For PR1146:
...
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.
llvm-svn: 36327
2007-04-22 05:46:44 +00:00
Reid Spencer
d1c1ed1cb9
Add the --host-target option.
...
llvm-svn: 36326
2007-04-22 05:05:36 +00:00
Chris Lattner
8cc95f24a7
remove cruft
...
llvm-svn: 36268
2007-04-20 04:45:58 +00:00