1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

763 Commits

Author SHA1 Message Date
Rafael Espindola
2ecba45e58 PR11642 has been fixed, enable -fvisibility-inlines-hidden everywhere.
llvm-svn: 147296
2011-12-27 21:37:11 +00:00
Benjamin Kramer
8c8a4dea5f Reenable building with -fvisibility-inlines-hidden.
This was disabled years ago because of a bug in GCC 4.1, which is
on our "broken compilers" list for other reasons. Saving ~500k
on a clang binary (Release+Asserts) is well worth dropping support
for it.

We currently disable it for shared libraries (where it would bring
the biggest win) because clang is broken (PR11642).

IMPORTANT: If you're doing incremental builds you may get tons of
linker warnings. make clean will fix them.

llvm-svn: 147182
2011-12-22 21:41:32 +00:00
Anshuman Dasgupta
f754c8bf8e Add a deterministic finite automaton based packetizer for VLIW architectures
llvm-svn: 145629
2011-12-01 21:10:21 +00:00
Daniel Dunbar
3c06b26f09 llvm-config: Replace with C++ version (was llvm-config-2).
- Another reapply of r144300, with hopefully one last fix.

llvm-svn: 145623
2011-12-01 20:18:09 +00:00
Duncan Sands
84beef543d Revert commit 145449 (ddunbar) since it is breaking the dragonegg buildbots.
Original commit message:
llvm-config: Replace with C++ version (was llvm-config-2).
 - Reapply of r144300, with lots of fixes/migration easement in between.

llvm-svn: 145582
2011-12-01 10:50:19 +00:00
Daniel Dunbar
7dcd93d4fa llvm-config: Replace with C++ version (was llvm-config-2).
- Reapply of r144300, with lots of fixes/migration easement in between.

llvm-svn: 145449
2011-11-29 22:56:31 +00:00
Bob Wilson
d9a793d332 Add an optional separate install prefix for internal components. rdar://10217046
Some files installed by clang are not relevant for general users and we'd like
to be able to install them to a different location.  This adds a new
--with-internal-prefix configure option and a corresponding PROJ_internal_prefix
makefile variable, which defaults to the standard prefix.  A tool makefile
can specify that it should be installed to this internal prefix by defining
INTERNAL_TOOL.

llvm-svn: 145234
2011-11-28 07:59:52 +00:00
Daniel Dunbar
3fc722f848 build/Make: Switch over to using llvm-config-2 for dependencies one more (hopefully last) time, now that it also builds as a build tool.
llvm-svn: 144535
2011-11-14 17:17:45 +00:00
Daniel Dunbar
49cee27d34 build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than
ARCH, which gets tested in many more contexts.

llvm-svn: 144434
2011-11-12 00:18:02 +00:00
Daniel Dunbar
1f7c44f88e cross-build/Make: Update cross build to properly forward ARCH and
TARGETS_TO_BUILD variables to build tools submake, and also tweak echo command
to indicate when we are compiling/etc build tools.

llvm-svn: 144419
2011-11-11 22:59:45 +00:00
Daniel Dunbar
981aa0a796 build/Make: Eliminate BUILD_COMPONENT variable, which is unused.
llvm-svn: 144418
2011-11-11 22:59:42 +00:00
Eric Christopher
8dc004003a Add an option '--enable-libcpp' that will have the compiler pass on
options to use libc++ as the default c++ library.

llvm-svn: 144413
2011-11-11 22:51:42 +00:00
Daniel Dunbar
c5bcc009e1 build/Make: Switch back to llvm-config for now, I foolishly forgot to think
about cross compiles.

llvm-svn: 144406
2011-11-11 20:41:06 +00:00
Daniel Dunbar
9b33877c7f build/Make: llvm-config-2 needs to use EXEEXT, since it is an actual executable
now.

llvm-svn: 144335
2011-11-10 23:33:20 +00:00
Daniel Dunbar
81117aed37 build/Make: Try to switch over to llvm-config-2 again, now that I've cleaned up
some more of the explicit dependencies. I'm staging things more slowly this time
in case there is more unanticipated fallout.

llvm-svn: 144323
2011-11-10 22:11:04 +00:00
Chris Lattner
80e53a9c09 Remove a really ancient line from the default 'make clean' rule that attempts
to delete core files.  This causes a warning in clang/lib/StaticAnalyzer on
case insensitive filesystems, since it contains a "Core" directory.  Since this
is pointless anyway, just zap it.

llvm-svn: 144317
2011-11-10 21:12:28 +00:00
Daniel Dunbar
745409c62f Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).",
which didn't appear ready for prime time.

llvm-svn: 144309
2011-11-10 19:59:35 +00:00
Daniel Dunbar
e9f2479115 llvm-config: Replace with C++ version (was llvm-config-2).
llvm-svn: 144300
2011-11-10 18:49:59 +00:00
Daniel Dunbar
138437ad27 build/Make & CMake: Pass the appropriate --native-target and --enable-targets
options to llvm-build, so the all-targets etc. components are defined properly.

llvm-svn: 144255
2011-11-10 01:16:48 +00:00
Daniel Dunbar
4852898b0d build/Make: Fix some missing dependencies on the llvm-build generation step.
llvm-svn: 144197
2011-11-09 18:48:22 +00:00
Daniel Dunbar
f19ceebeaa build/make: Fix the output path of the llvm-config-2 library dependency table.
llvm-svn: 143746
2011-11-04 23:40:14 +00:00
Daniel Dunbar
19192854ad build: Use right Echo variable and use Verb appropriately.
llvm-svn: 143664
2011-11-03 23:01:50 +00:00
Daniel Dunbar
36f43e418b build/Make: Integrate llvm-build into Makefiles.
- Basically, we coordinate with llvm-build to create a Makefile fragment we can
   easily use. For now, nothing is wired in except the support to automatically
   regenerate this file when necessary.

llvm-svn: 143662
2011-11-03 22:46:21 +00:00
Daniel Dunbar
05c1ecf2c0 build/Make: Add support for INCLUDE_BUILD_DIR make variable, to specify that
component needs to include files from its ObjDir.

llvm-svn: 143648
2011-11-03 21:01:32 +00:00
Charles Davis
f672c3b138 Revert 142997. It doesn't work on Mac OS or the BSDs, which all use the BSD
version of the install program, which does not have the --strip-program
switch.

llvm-svn: 143009
2011-10-26 02:28:32 +00:00
Eric Christopher
948bef0014 Search for and use the strip program and pass it to install for it
to use for stripping final executables.

Patch by Simon Atanasyan!

llvm-svn: 142997
2011-10-26 00:52:13 +00:00
NAKAMURA Takumi
5a4f9dc7af Makefile.rules: Let OPTIONAL_PARALLEL_DIRS accept out-of-tree absolute path.
llvm-svn: 142101
2011-10-16 02:54:19 +00:00
NAKAMURA Takumi
162abf56c1 Add -D__STDC_FORMAT_MACROS to use PRIx64.
llvm-svn: 141663
2011-10-11 12:51:44 +00:00
Peter Collingbourne
253c6a3690 Build system infrastructure for multiple tblgens.
llvm-svn: 141266
2011-10-06 01:51:51 +00:00
Eric Christopher
a8a9910f4c More llvmc bits. Spotted by Benjamin on IRC.
llvm-svn: 140124
2011-09-20 00:42:28 +00:00
Jim Grosbach
290de9b4c9 TableGen'erated MC lowering for simple pseudo-instructions.
This allows the (many) pseudo-instructions we have that map onto a single
real instruction to have their expansion during MC lowering handled
automatically instead of the current cumbersome manual expansion required.
These sorts of pseudos are common when an instruction is used in situations
that require different MachineInstr flags (isTerminator, isBranch, et. al.)
than the generic instruction description has. For example, using a move
to the PC to implement a branch.

llvm-svn: 134704
2011-07-08 17:36:35 +00:00
Evan Cheng
018b2055fc Rename XXXGenSubtarget.inc to XXXGenSubtargetInfo.inc for consistency.
llvm-svn: 134281
2011-07-01 22:36:09 +00:00
Daniel Dunbar
8537fc79e1 build/Darwin: Fix epic typo fail.
llvm-svn: 134036
2011-06-28 22:30:17 +00:00
Evan Cheng
a115f77785 Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.inc
llvm-svn: 134024
2011-06-28 20:07:07 +00:00
Evan Cheng
e0801b07e0 Starting to refactor Target to separate out code that's needed to fully describe
target machine from those that are only needed by codegen. The goal is to
sink the essential target description into MC layer so we can start building
MC based tools without needing to link in the entire codegen.

First step is to refactor TargetRegisterInfo. This patch added a base class
MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to
separate register description from the rest of the stuff.

llvm-svn: 133782
2011-06-24 01:44:41 +00:00
NAKAMURA Takumi
472ef070c2 Don't force remove config.cache on reconfiguration.
config.cache will be used by the person who specifies '-C' to configure.
config.cache's inconsistency should be responsible to him.

Re-configuration would spend so much on cygming without '-C', esp. cygwin.

llvm-svn: 133252
2011-06-17 11:08:09 +00:00
Daniel Dunbar
c8ac4fdd6d build/configure: Add support for --with-extra-ld-options flag (to provide extra
options just to pass to ld).

llvm-svn: 133206
2011-06-16 22:30:38 +00:00
Chris Lattner
0304b82f80 Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Daniel Dunbar
a01ae2f598 build: Add support for a SHOW_DIAGNOSTICS build variable.
If enabled, this will attempt to use the CC_LOG_DIAGNOSTICS feature I dropped
into Clang to print a log of all the diagnostics generated during an individual
build (from the top-level). Not sure if this will actually be useful, but for
now it is handy for testing the option.

llvm-svn: 129312
2011-04-11 22:37:39 +00:00
Chris Lattner
a5ffd3472c LLVMCC_EMITIR_FLAG is already either -emit-llvm or -fplugin-arg-dragonegg-emit-ir, so don't add an extra leading -. Clang doesn't accept --emit-llvm.
llvm-svn: 129232
2011-04-09 19:56:28 +00:00
Chris Lattner
3d962c3549 make stuff work when LLVMCC_OPTION is something like installed-clang, not just clang.
llvm-svn: 129229
2011-04-09 19:53:16 +00:00
Chris Lattner
bab3c47100 revert accidental commit.
llvm-svn: 129191
2011-04-09 06:01:28 +00:00
Chris Lattner
5a8b1f1ec5 fix a potentially serious bug in AliasSet::removeCallSite
where we shrunk the list without updating the end iterator.
By inspection, from PR9639.  

llvm-svn: 129190
2011-04-09 05:51:34 +00:00
NAKAMURA Takumi
2d598805e0 Makefile.rules: [PR2928] "make install" may install include files along explicit pattern, not to install CMake's building stuff.
llvm-svn: 127325
2011-03-09 09:11:27 +00:00
NAKAMURA Takumi
16a2bf5caf Reapply r127073(partially): Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO).
On mingw and python/w32, lit would not be expected to understand MSYS-style path.

llvm-svn: 127239
2011-03-08 12:25:10 +00:00
Eric Christopher
94c476f680 Prepend LD.Flags before LDFLAGS to avoid overriding necessary paths.
Patch by Jack Howarth.

llvm-svn: 127152
2011-03-07 04:25:12 +00:00
Jakob Stoklund Olesen
d415589edc Revert r127073: "Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO)."
It broke the llvm-gcc-native-mingw32 buildbot, and we need all of them to be green for the 2.9 branch.

Takumi, please reapply after we branch, preferably with a fix ;-)

llvm-svn: 127107
2011-03-05 18:55:06 +00:00
NAKAMURA Takumi
9cab0faea2 Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO).
On mingw and python/w32, lit would not be expected to understand MSYS-style path.

llvm-svn: 127073
2011-03-05 09:46:45 +00:00
Chris Lattner
30e6844ca9 Better OpenBSD support, patch by Amit Kulkarni. I have no way to test
that this doesn't break gold, but it seems reasonable to me.

llvm-svn: 126135
2011-02-21 18:38:56 +00:00
Stephen Wilson
14b9d81b68 Do not try to descend into optional build directories if they do not
exist.  This makes the build logic symmetric for both the in tree and
out of tree cases.

llvm-svn: 126070
2011-02-20 03:51:07 +00:00
Rafael Espindola
8ed9d97335 Factor the computation of the basename of libraries. This avoids renaming
them on install. Before we would have LLVMgold.so on the build directory but
libLLVMgold.so on the install dir.

llvm-svn: 124821
2011-02-03 22:01:15 +00:00
Daniel Dunbar
164cb86163 build: Shared libraries shouldn't used RPATH on Darwin, only main executables
should use that.

llvm-svn: 121231
2010-12-08 02:29:26 +00:00
Daniel Dunbar
28f51a7c4a build: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users of LLVM makefiles, these options really shouldn't be used on Darwin.
llvm-svn: 121223
2010-12-08 01:48:05 +00:00
Charles Davis
e7f14dfdb8 Now to chant the magical incantation that will exorcise the System library
from LLVM forever:

grep -lR "llvm/System" * | grep -v .svn | xargs sed -ie 's#llvm/System#llvm/Support#g'

llvm-svn: 120314
2010-11-29 19:44:50 +00:00
Michael J. Spencer
d5ec932c3a Merge System into Support.
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
NAKAMURA Takumi
649a6c919c unittests/JITTests: Don't use --export-dynamic but --export-all-symbols on cygming.
GNU ld/PECOFF accepts but ignores them below;
  --version-script
  --export-dynamic
  --rpath

FIXME: autoconf should be aware of them.
llvm-svn: 120179
2010-11-26 09:32:02 +00:00
Duncan Sands
9b721e8233 Using LLVMCC_EMITIR_FLAG rather than hard-coding -emit-llvm
(dragonegg cannot use -emit-llvm so needs a different flag
to everyone else).

llvm-svn: 120155
2010-11-25 21:14:55 +00:00
Chris Lattner
4533444a49 remove JIT support from the Alpha backend. The JIT will be moving to MC,
and the Alpha backend isn't MCized yet.  Approved by Andrew.

llvm-svn: 119051
2010-11-14 18:24:41 +00:00
Jim Grosbach
e89ee5eb80 Add rule to build MC'ized CodeEmitter.
llvm-svn: 118207
2010-11-03 23:46:01 +00:00
Mikhail Glushenkov
858566ac15 Remove -llvmc-temp-hack from tblgen.
llvm-svn: 117197
2010-10-23 07:32:53 +00:00
Peter Collingbourne
e43dd89068 Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this

llvm-svn: 117094
2010-10-22 12:54:34 +00:00
Rafael Espindola
a366d6538b Don't pass --export-dynamic if TOOL_NO_EXPORTS is set.
llvm-svn: 116550
2010-10-15 00:58:12 +00:00
Chris Lattner
0bc415a491 Generalize tblgen's dag parsing logic to handle arbitrary expressions
as the operator of the dag.  Specifically, this allows parsing things
like (F.x 4) in addition to just (a 4).

Unfortunately, this runs afoul of an idiom being used by llvmc.  It
is using dags like (foo [1,2,3]) to represent a list of stuff being
passed into foo.  With this change, this is parsed as a [1,2,3] 
subscript on foo instead of being the first argument to the dag.
Cope with this in the short term by requiring a "-llvmc-temp-hack"
argument to tblgen to get the old parsing behavior.

llvm-svn: 115742
2010-10-06 04:55:48 +00:00
NAKAMURA Takumi
ed9497854f Makefile.rules: Fix breakage on cygming --enable-shared.
This has been applied already in r115093 on release_28.

llvm-svn: 115487
2010-10-04 02:32:21 +00:00
Jim Grosbach
e01e38ff1e Remove self-described temporary hack. A bit over a year seems a reasonable
delay. Anton and PIC16 folks, if this is still good to keep, please go ahead
and add it back in with an updated comment about when would be a good time
to revisit.

llvm-svn: 115358
2010-10-01 22:32:12 +00:00
Daniel Dunbar
efebe50dd8 build: Add support for a TOOL_ORDER_FILE variable so commands can build with an
order file on Darwin.

llvm-svn: 114050
2010-09-16 00:42:32 +00:00
NAKAMURA Takumi
9c328040a6 Makefile.rules: LOADABLE_MODULE/Win32: "all" components may be linked
only when ENABLE_SHARED=1.

Loadable module for Win32 requires all symbols resolved for linking.

llvm-svn: 113579
2010-09-10 06:27:02 +00:00
Daniel Dunbar
59aca55047 build: Allow subdir Makefiles to provide an alternate location for the SRCDIR
Makefile, which can be used to allow building out of tree sources.

llvm-svn: 113503
2010-09-09 17:38:11 +00:00
Dan Gohman
b9cf47fc40 Fix Windows stuff to follow the existing source organization.
llvm-svn: 112976
2010-09-03 17:29:33 +00:00
Mikhail Glushenkov
564f4ea0c7 Revert "Rules for win32 ld shouldn't fire when cross-compiling."
This reverts commit 012b374e5b46fe93a8fdf605f5929fa8239e0960.

llvm-svn: 112963
2010-09-03 15:42:38 +00:00
Mikhail Glushenkov
c6aaa8bfbf Rules for win32 ld shouldn't fire when cross-compiling.
llvm-svn: 112954
2010-09-03 09:57:52 +00:00
Chris Lattner
707d1b96a2 have the makefiles check the llvm-config error code instead of charging
on an producing weird link errors.  Patch by Yuri Gribov!

llvm-svn: 112714
2010-09-01 16:11:17 +00:00
Dan Gohman
b5ea21038d Fix the "Finished Creating" messages for aliases to print the
right name.

llvm-svn: 111340
2010-08-18 01:35:53 +00:00
Anton Korobeynikov
e8b4df4143 This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on MingW & Cygwin.
Patch by Takumi Nakamura!

llvm-svn: 111268
2010-08-17 19:03:03 +00:00
Mikhail Glushenkov
10302168ea llvmc: remove dynamic plugins.
llvm-svn: 111094
2010-08-15 07:07:12 +00:00
Mikhail Glushenkov
2c1543bc9d Simplify generating LLVMC_BUILTIN_PLUGIN.
Patch by NAKAMURA Takumi!

llvm-svn: 110680
2010-08-10 14:49:29 +00:00
Nick Lewycky
a360aa10d5 Fix this condition; it has an else clause attached for Darwin only. Patch
by Takumi Nakamura.

llvm-svn: 110016
2010-08-02 03:16:19 +00:00
Daniel Dunbar
138136572f tests: Make 'lit' the default test tool. You can still use 'make check-dg' to
run the tests using DejaGNU, but not for much longer. This is a last call for
DejaGNU supporters, if no one complains soon the DejaGNU support is going to
die.

llvm-svn: 109997
2010-08-02 00:05:18 +00:00
Dan Gohman
dd12556007 Fix library build messages.
llvm-svn: 109430
2010-07-26 20:15:47 +00:00
Nick Lewycky
848b4defa1 Don't pass -export-dynamic to the linker on Cygwin and MinGW. These platforms
accept the flag and do nothing but warn about it, cleverly bypassing our
configure-based detection system. Patch by Takumi Nakamura!

llvm-svn: 109385
2010-07-25 22:33:04 +00:00
Mikhail Glushenkov
bbeb485c74 Get rid of exceptions in llvmc.
llvmc can be now compiled with llvm-gcc on Windows.

llvm-svn: 109215
2010-07-23 03:42:55 +00:00
Bruno Cardoso Lopes
332e27a8a3 Enable LLVM to compile on Mips. Fix PR5828
llvm-svn: 108821
2010-07-20 08:44:20 +00:00
Eric Christopher
00c613aebe Remove unnecessary conditional.
llvm-svn: 108516
2010-07-16 06:13:24 +00:00
Daniel Dunbar
e44c00b33b build/Darwin: Add a missing directory dependency.
llvm-svn: 108463
2010-07-15 21:51:52 +00:00
Devang Patel
9ace92fd72 Revert 108456. i.e. bring back r108444.
llvm-svn: 108458
2010-07-15 20:57:09 +00:00
Devang Patel
f5f54f27f5 Revert 108444. It breaks a build.
llvm-svn: 108456
2010-07-15 20:25:51 +00:00
Daniel Dunbar
fbb8d81b7e build/Darwin: Add support for embedding version information in tool executables.
llvm-svn: 108444
2010-07-15 19:33:38 +00:00
Ted Kremenek
09a5f4aaff Correctly set rpath on Mac OS X for executable tools. Note that I am not certain this is the best fix; the code immediately above looks confused, as it first checks to see if we are NOT on Darwin and then checks the Darwin version number. This fix allows c-index-test (in Clang) to run outside of running the regression test suite. I would appreciate if someone reviewed this.
llvm-svn: 108416
2010-07-15 06:36:57 +00:00
Greg Clayton
f62e01f795 Patched Makefile.rules to allow objective C and objective C++ compilation.
This allows LLDB (llvm/tools/lldb) to build on Mac OS X.

llvm-svn: 108255
2010-07-13 18:47:09 +00:00
Duncan Sands
eb15d2084a Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts"
builds to "Release".  The default build is unchanged (optimization on,
assertions on), however it is now called Release+Asserts.  The intent
is that future LLVM releases released via llvm.org will be Release builds
in the new sense, i.e. will have assertions disabled (currently they have
assertions enabled, for a more than 20% slowdown).  This will bring them
in line with MacOS releases, which ship with assertions disabled.  It also
means that "Release" now means the same things in make and cmake builds:
cmake already disables assertions for "Release" builds AFAICS.

llvm-svn: 107758
2010-07-07 07:48:00 +00:00
Dan Gohman
e5aa414fc8 Fix this build message so that it displays the correct library
name, specifically the "lib" prefix.

llvm-svn: 107011
2010-06-28 15:55:15 +00:00
Eric Christopher
eb35756a31 Fix typo.
llvm-svn: 106505
2010-06-21 23:49:08 +00:00
Chris Lattner
13d8fea770 improve portability to solaris 10, PR7380, patch by Simon Billingsley!
llvm-svn: 106259
2010-06-18 00:35:32 +00:00
Chris Lattner
bfec362a86 fix PR7380: use 'test' instead of shell builtins. This improves
portability to Solaris 10, which apparently doesn't support
[ foo -ot bar ]

llvm-svn: 106048
2010-06-15 21:35:22 +00:00
Daniel Dunbar
83e447c886 Makefiles: Teach LLVM's recursive makefile descent to update objdir Makefiles if
they are out of date, instead of only testing if they exist.

llvm-svn: 105636
2010-06-08 20:10:13 +00:00
Dan Gohman
0aec2d5e72 Freebsd's sed doesn't support \< in regexps, and GNU sed doesn't
support [[:<:]]. Use beginning-of-line and end-of-line anchors
instead.

llvm-svn: 105277
2010-06-01 17:08:56 +00:00
Dan Gohman
a5397fe992 -retain-symbols-file is not what it seems. Update the makefiles
and configury to use --version-script.

llvm-svn: 105271
2010-06-01 14:56:56 +00:00
Rafael Espindola
aa7f3b0561 Avoid renaming loadable modules at install time. Now the gold plugin is named
LLVMgold.so both in both the build and install directories.

llvm-svn: 103897
2010-05-16 03:13:23 +00:00
Rafael Espindola
bd4b8ff8f1 Use $ORIGIN in the rpath of libraries.
llvm-svn: 103896
2010-05-16 03:05:14 +00:00
Daniel Dunbar
00f50519b6 Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently:
- Disables 'Built on ...' in 'foo --version'.
 - Disables timestamps from being embedded into .dir files.

llvm-svn: 103423
2010-05-10 20:11:56 +00:00