Dan Gohman
b0cf29c5cf
Initial checkin of the new "fast" instruction selection support. See
...
the comments in FastISelEmitter.cpp for details on what this is.
This is currently experimental and unusable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-13 20:19:35 +00:00
Mikhail Glushenkov
895820da24
Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50754 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:12:03 +00:00
Mikhail Glushenkov
ecbdcf2ae0
Rename LLVMCCConfigurationEmitter to LLVMCConfigurationEmitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50748 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 18:09:29 +00:00
Chris Lattner
038112a4e0
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 18:04:03 +00:00
Anton Korobeynikov
ac67b7ea8f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48699 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-23 08:57:20 +00:00
Chris Lattner
7b11712ef2
split enum emission out from InstrInfoEmitter into it's own tblgen backend.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45640 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-06 00:49:05 +00:00
Chris Lattner
3060910e29
remove attributions from utils.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:37:13 +00:00
Chris Lattner
f460165a4c
Rewrite the tblgen parser in a recursive descent style, eliminating the bison parser.
...
This makes the parser much easier to understand, eliminates a ton of global variables,
and gives tblgen nice caret diagnostics. It is also faster, but tblgen probably doesn't
care about performance.
There are a couple of FIXMEs which I will take care of next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44274 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22 20:49:04 +00:00
Chris Lattner
50d456539d
reapply
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 22:08:27 +00:00
Evan Cheng
53c9b3f68c
Backing out
...
CodeGenTarget.cpp updated: 1.82 -> 1.83
Record.cpp updated: 1.55 -> 1.56
Record.h updated: 1.59 -> 1.60
TableGen.cpp updated: 1.47 -> 1.48
It's missing CallingConvEmitter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34693 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 21:44:08 +00:00
Chris Lattner
798dc7adb4
initial support for calling convention generation, still unfinished.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34682 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 20:43:37 +00:00
Bill Wendling
f5da13367f
What should be the last unnecessary <iostream>s in the library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 22:21:48 +00:00
Chris Lattner
3b2397211b
remove a bunch of long-dead testing code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26497 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 02:34:28 +00:00
Chris Lattner
9e493cfcc3
initial implementation of intrinsic parsing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26495 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 02:32:46 +00:00
Chris Lattner
ed5424196d
Add support for "-Ifoo" in addition to "-I foo"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26487 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:53:40 +00:00
Chris Lattner
d9f5d90af1
add support for multiple include directories
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26485 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:47:14 +00:00
Duraid Madina
6fb9a84e79
more standards-compliance stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25014 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-26 05:08:55 +00:00
Chris Lattner
2dc74dd831
Remove the obsolete instr selector emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23894 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:47:52 +00:00
Jim Laskey
f5fc2cbd6b
Plugin new subtarget backend into the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23870 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:05:19 +00:00
Chris Lattner
4a24c645c8
Add an option and stuff implementation of a dag isel emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23236 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-03 01:14:03 +00:00
Jeff Cohen
ea3e5e56fd
Eliminate tabs and trailing spaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21441 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 04:13:13 +00:00
Misha Brukman
3da94aec4d
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 00:00:37 +00:00
Reid Spencer
227b6d00dd
Fix usage of changed function prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:30:54 +00:00
Reid Spencer
23f7d5131c
Make tblgen's exception handling a little more robust by printing the
...
program name and also catching ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:17:54 +00:00
Reid Spencer
551ccae044
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Reid Spencer
debb5f085a
RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
...
accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16093 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:30:41 +00:00
Chris Lattner
2e1f51b8a5
Initial cut at an asm writer emitter. So far, this only handles emission of
...
instructions, and only instructions that take no operands at that!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 05:59:33 +00:00
Chris Lattner
2082ebe8b3
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15381 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:55:39 +00:00
Chris Lattner
9879aa9c95
Remove some abandoned code that was never finished. If needed in the future
...
it can be ressurected from CVS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15113 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22 21:32:38 +00:00
Chris Lattner
bd935336d4
Passing integer 0 in for a pointer value doesn't work on IA64. Fix this
...
by using a new macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 00:02:21 +00:00
Chris Lattner
42df6d1396
Make tblgen not try to be smart. This is better handled in makefiles if
...
at all. Patch contributed by Vladimir Prus!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-13 06:11:46 +00:00
Chris Lattner
bed85ff010
Header file moved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Jakub Staszak
01b6a6f279
add tablgen backend for really simple instruction selector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 19:30:56 +00:00
Chris Lattner
f5761a5e68
exit(1) instead of abort()'ing on error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 16:37:43 +00:00
Chris Lattner
7b9ee51a55
Print the record NAME not the record ADDRESS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11144 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-06 03:19:17 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
01d45827a1
Added LLVM copyright header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:20:30 +00:00
Misha Brukman
737af827e8
Fixed spelling of `intentionally'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8387 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-07 20:12:52 +00:00
John Criswell
96b4beda5c
Added an option to TableGen that allows users to specify a directory in which
...
to find include files. TableGen will load include files from this directory if
it cannot find them in the current directory.
This feature was needed for building code inside the object tree (a la autoconf
style).
TODO: Allow for multiple -I options to specify a list of directories to search.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8159 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 13:41:57 +00:00
Misha Brukman
c3fe45b2f5
Using std::remove' requires
cstdio.h'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7843 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 16:05:35 +00:00
Chris Lattner
3f781341f9
Add an instruction selector emitter skeleton
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:47:56 +00:00
Chris Lattner
15de32d706
add new --gen-instr-desc option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7545 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:58:28 +00:00
Chris Lattner
169e66bfc2
Add support for instruction enum emission
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7516 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 17:24:20 +00:00
Chris Lattner
e79c72d4cd
Tablegen should only replace the output if it changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7486 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:35:01 +00:00
Chris Lattner
f1e366acff
Make sure to delete the output file if there is an error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7481 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 19:21:43 +00:00
Chris Lattner
54d156d333
Add the ability to emit register file enums
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 05:59:20 +00:00
Chris Lattner
accd8abeeb
Dead code elimination
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:47:20 +00:00
Chris Lattner
1d1adea493
Add file comment
...
Add register info emitter
Simplify code by using "high-level" methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7466 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:39:05 +00:00
Chris Lattner
f745a20deb
Rename createEmitter to run because eventually all tablegen backends will
...
be subclasses of a common interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:38:26 +00:00
Chris Lattner
90523906fa
Make tablegen take an input filename to parse if one is specified, otherwise
...
use stdin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:48:02 +00:00