Commit Graph

683 Commits

Author SHA1 Message Date
Jim Grosbach
86f9adb8be 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134704 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-08 17:36:35 +00:00
Evan Cheng
385e930d55 Rename XXXGenSubtarget.inc to XXXGenSubtargetInfo.inc for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134281 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-01 22:36:09 +00:00
Daniel Dunbar
ade490a829 build/Darwin: Fix epic typo fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134036 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-28 22:30:17 +00:00
Evan Cheng
22fee2dff4 Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.inc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134024 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-28 20:07:07 +00:00
Evan Cheng
a347f85dbe 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133782 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-24 01:44:41 +00:00
NAKAMURA Takumi
f1b7e94add 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133252 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-17 11:08:09 +00:00
Daniel Dunbar
e2a91a76df build/configure: Add support for --with-extra-ld-options flag (to provide extra
options just to pass to ld).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133206 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-16 22:30:38 +00:00
Chris Lattner
7a2bdde0a0 Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 05:18:47 +00:00
Daniel Dunbar
58194307c1 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129312 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11 22:37:39 +00:00
Chris Lattner
6c299eadd4 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129232 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 19:56:28 +00:00
Chris Lattner
70d77007ef make stuff work when LLVMCC_OPTION is something like installed-clang, not just clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129229 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 19:53:16 +00:00
Chris Lattner
1bdedb9e46 revert accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129191 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 06:01:28 +00:00
Chris Lattner
c9049a9ea8 fix a potentially serious bug in AliasSet::removeCallSite
where we shrunk the list without updating the end iterator.
By inspection, from PR9639.  


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129190 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 05:51:34 +00:00
NAKAMURA Takumi
6716b8ec9d Makefile.rules: [PR2928] "make install" may install include files along explicit pattern, not to install CMake's building stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127325 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-09 09:11:27 +00:00
NAKAMURA Takumi
027248567b 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127239 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-08 12:25:10 +00:00
Eric Christopher
9c9320426e Prepend LD.Flags before LDFLAGS to avoid overriding necessary paths.
Patch by Jack Howarth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127152 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-07 04:25:12 +00:00
Jakob Stoklund Olesen
7cefa640de 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 ;-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127107 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-05 18:55:06 +00:00
NAKAMURA Takumi
0c3ed6b046 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127073 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-05 09:46:45 +00:00
Chris Lattner
c625d3151c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126135 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-21 18:38:56 +00:00
Stephen Wilson
c156632c62 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126070 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-20 03:51:07 +00:00
Rafael Espindola
0ecd296421 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124821 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-03 22:01:15 +00:00
Daniel Dunbar
94038281af build: Shared libraries shouldn't used RPATH on Darwin, only main executables
should use that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121231 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 02:29:26 +00:00
Daniel Dunbar
7bc0f27329 build: Don't force -flat_namespace or '-undefined suppress' on unsuspecting users of LLVM makefiles, these options really shouldn't be used on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 01:48:05 +00:00
Charles Davis
53ca1f3190 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'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120314 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29 19:44:50 +00:00
Michael J. Spencer
1f6efa3996 Merge System into Support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29 18:16:10 +00:00
NAKAMURA Takumi
b9dec1f928 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120179 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-26 09:32:02 +00:00
Duncan Sands
8ed692654b Using LLVMCC_EMITIR_FLAG rather than hard-coding -emit-llvm
(dragonegg cannot use -emit-llvm so needs a different flag
to everyone else).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120155 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-25 21:14:55 +00:00
Chris Lattner
c476ed93f1 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119051 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 18:24:41 +00:00
Jim Grosbach
bd29a36043 Add rule to build MC'ized CodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118207 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03 23:46:01 +00:00
Mikhail Glushenkov
a73e586495 Remove -llvmc-temp-hack from tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 07:32:53 +00:00
Peter Collingbourne
ed50d38553 Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117094 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 12:54:34 +00:00
Rafael Espindola
31552a9715 Don't pass --export-dynamic if TOOL_NO_EXPORTS is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116550 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-15 00:58:12 +00:00
Chris Lattner
46f55527d8 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115742 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-06 04:55:48 +00:00
NAKAMURA Takumi
71cacdaa15 Makefile.rules: Fix breakage on cygming --enable-shared.
This has been applied already in r115093 on release_28.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-04 02:32:21 +00:00
Jim Grosbach
e5e2c41b7f 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01 22:32:12 +00:00
Daniel Dunbar
ccfaa4be43 build: Add support for a TOOL_ORDER_FILE variable so commands can build with an
order file on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114050 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-16 00:42:32 +00:00
NAKAMURA Takumi
a64eb8357e 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113579 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-10 06:27:02 +00:00
Daniel Dunbar
9ae4ca611b build: Allow subdir Makefiles to provide an alternate location for the SRCDIR
Makefile, which can be used to allow building out of tree sources.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-09 17:38:11 +00:00
Dan Gohman
9a7570c856 Fix Windows stuff to follow the existing source organization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112976 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 17:29:33 +00:00
Mikhail Glushenkov
d46bd6efa0 Revert "Rules for win32 ld shouldn't fire when cross-compiling."
This reverts commit 012b374e5b46fe93a8fdf605f5929fa8239e0960.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112963 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 15:42:38 +00:00
Mikhail Glushenkov
41d0a7705b Rules for win32 ld shouldn't fire when cross-compiling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112954 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 09:57:52 +00:00
Chris Lattner
f636aa9c7e have the makefiles check the llvm-config error code instead of charging
on an producing weird link errors.  Patch by Yuri Gribov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112714 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 16:11:17 +00:00
Dan Gohman
f9d1163769 Fix the "Finished Creating" messages for aliases to print the
right name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111340 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 01:35:53 +00:00
Anton Korobeynikov
59a430f68f This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on MingW & Cygwin.
Patch by Takumi Nakamura!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111268 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-17 19:03:03 +00:00
Mikhail Glushenkov
b3d36293c2 llvmc: remove dynamic plugins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15 07:07:12 +00:00
Mikhail Glushenkov
6455384fc1 Simplify generating LLVMC_BUILTIN_PLUGIN.
Patch by NAKAMURA Takumi!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110680 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 14:49:29 +00:00
Nick Lewycky
e28015c02c Fix this condition; it has an else clause attached for Darwin only. Patch
by Takumi Nakamura.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110016 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 03:16:19 +00:00
Daniel Dunbar
666b402243 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109997 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 00:05:18 +00:00
Dan Gohman
6b156a3175 Fix library build messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109430 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-26 20:15:47 +00:00
Nick Lewycky
47c424226f 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!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109385 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-25 22:33:04 +00:00