Commit Graph

2337 Commits

Author SHA1 Message Date
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