Commit Graph

2326 Commits

Author SHA1 Message Date
Mikhail Glushenkov
9bef1bdcf5 Cosmetic issue: more consistent naming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91998 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 12:49:41 +00:00
Mikhail Glushenkov
e0b6570d24 Allow (set_option SwitchOption, true).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91997 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 12:49:30 +00:00
Daniel Dunbar
e5976b8c5c Suppress compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 00:45:10 +00:00
Sean Callanan
7fb35a2fd8 Fixes to the X86 disassembler:
Made LEA memory operands emit only 4 MCInst operands.
Made the scale operand equal 1 for instructions that have no
SIB byte.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22 21:12:55 +00:00
David Greene
f660802f34 Fix a bug in !subst where TableGen would go and resubstitute text it had
just substituted.  This could cause infinite looping in certain
pathological cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-21 21:21:34 +00:00
Chris Lattner
349d8489b2 .llx is no more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 20:56:53 +00:00
Nuno Lopes
014dc70907 fix build and while at it remove a redudant include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 11:52:18 +00:00
Daniel Dunbar
8783087f69 More bzero -> memset that I missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91757 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 04:16:57 +00:00
Daniel Dunbar
9e6d1d1f50 Add missing newlines at EOF (for clang++).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 04:16:48 +00:00
Sean Callanan
8ed9f51663 Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
incarnations), integrated into the MC framework.  

The disassembler is table-driven, using a custom TableGen backend to 
generate hierarchical tables optimized for fast decode.  The disassembler 
consumes MemoryObjects and produces arrays of MCInsts, adhering to the 
abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).

The disassembler is documented in detail in

- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
- utils/TableGen/DisassemblerEmitter.cpp (table emitter)

You can test the disassembler by running llvm-mc -disassemble for i386
or x86_64 targets.  Please let me know if you encounter any problems
with it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 02:59:52 +00:00
Dan Gohman
2929e1143a Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 01:46:09 +00:00
Eli Friedman
5760f35e15 Fix an issue in googletest where a name was used before it was defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91718 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 21:38:44 +00:00
Mikhail Glushenkov
9503b49462 Make 'set_option' work with list options.
This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"])

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 11:27:26 +00:00
Mikhail Glushenkov
994dbe0073 Add a 'set_option' action for use in OptionPreprocessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 07:49:16 +00:00
Mikhail Glushenkov
24723288a2 Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 07:48:49 +00:00
Mikhail Glushenkov
2d366a21a1 s/TokenizeCmdline/TokenizeCmdLine/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 07:48:34 +00:00
Jim Grosbach
06801722a4 Add @earlyclobber TableGen constraint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 19:43:02 +00:00
Bill Wendling
0a0124e4f6 Remove superfluous 'extern' variable that was causing a warning with clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91552 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16 19:36:42 +00:00
Bill Wendling
6be413dd64 Some command lines don't like numbers with leading zeros. Remove them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91463 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 22:42:19 +00:00
Daniel Dunbar
99ea6898e1 lit: Improve error when gtest discovery fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 22:00:37 +00:00
Dan Gohman
9b03da6824 Revert 90628, which was incorrect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91448 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 20:21:44 +00:00
Jim Grosbach
f0a4fad995 whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 19:28:13 +00:00
Mikhail Glushenkov
f8bc1e4b27 Convert llvmc tests to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 07:21:14 +00:00
Mikhail Glushenkov
545f96814b Support hook invocation from 'append_cmd'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 07:20:50 +00:00
Mikhail Glushenkov
e4ac23a0ff 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 03:04:52 +00:00
Mikhail Glushenkov
abf2d986c9 Allow $CALL(Hook, '$INFILE') for non-join tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 03:04:02 +00:00
Daniel Dunbar
9682043ab5 NNT: Make sure stderr for build commands goes to log file, as intended but misdirected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 00:41:47 +00:00
Daniel Dunbar
252a0dfa6a NNT: Use [e]grep -a when scanning logs, its possibly they will have non-text
characters in them, in which case the grep will just return 'Binary file
matches' and the whole thing falls over.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14 17:58:33 +00:00
Daniel Dunbar
1b54d423aa NNT: Always create the -sentdata.txt file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91301 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14 17:58:27 +00:00
Daniel Dunbar
e854273892 Remove unneeded ';' and a class/struct mismatch (noticed by clang).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-09 02:58:09 +00:00
Daniel Dunbar
32c9800a16 lit: Prevent crash-on-invalid (when run on directory which has no test suite).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08 19:49:30 +00:00
Mikhail Glushenkov
bc39a795f4 Simplify a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 19:16:13 +00:00
Mikhail Glushenkov
06d266170b Throw 'const char*' instead of 'std::string'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 19:15:57 +00:00
Mikhail Glushenkov
5b9b3ba2ba Deprecate 'unpack_values'.
Use 'forward_values' + 'comma_separated' instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 18:25:54 +00:00
Mikhail Glushenkov
8245a1dd53 Implement 'forward_value' and 'forward_transformed_value'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 17:03:05 +00:00
Mikhail Glushenkov
632eb20c34 Refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07 10:51:55 +00:00
Dan Gohman
7004b9cf33 Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-05 00:05:43 +00:00
Daniel Dunbar
d90ade54cd OptParser: Emit HelpText field for option groups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90599 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04 21:41:24 +00:00
Mikhail Glushenkov
97955005b3 Forward -save-temps to llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 06:51:30 +00:00
Eric Christopher
c39d9536f7 Add a soft link so that in an apple style build we can find libLTO.dylib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90189 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 02:26:01 +00:00
Daniel Dunbar
a76a7883b5 Fix FileCheck crash when fuzzy scanning starting at the end of the file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29 08:30:24 +00:00
Daniel Dunbar
405887419f Sketch TableGen disassembler emitter, based on patch by Sean Callanan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 02:13:23 +00:00
Dan Gohman
9e763b88b0 Delete some dead and non-obvious code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89729 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-24 01:48:15 +00:00
Dan Gohman
735afe14ee Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.
Note that "hasDotLocAndDotFile"-style debug info was already broken;
people wanting this functionality should implement it in the
AsmPrinter/DwarfWriter code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89711 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 23:20:51 +00:00
Daniel Dunbar
ead2dacc9e FileCheck, PR5239: Try to find the intended match on failures, but looking for a
good nearby fuzzy match. Frequently the input is nearly correct, and just
showing the user the a nearby sensible match is enough to diagnose the problem.
 - The "fuzzyness" is pretty simple and arbitrary, but worked on my three test
   cases. If you encounter problems, or places you think FileCheck should have
   guessed but didn't, please add test cases to PR5239.

For example, previously FileCheck would report this:
--
t.cpp:21:55: error: expected string not found in input
// CHECK: define void @_Z2f25f2_s1([[i64_i64_ty]] %a0)
                                                      ^
<stdin>:19:30: note: scanning from here
define void @_Z2f15f1_s1(%1) nounwind {
                             ^
<stdin>:19:30: note: with variable "i64_i64_ty" equal to "%0"
--

and now it also reports this:
--
<stdin>:27:1: note: possible intended match here
define void @_Z2f25f2_s1(%0) nounwind {
^
--

which makes it clear that the CHECK just has an extra ' %a0' in it, without
having to check the input.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 22:59:26 +00:00
Daniel Dunbar
fafe93c8bc FileCheck: When a string using variable references fails to match, print
additional information about the current definitions of the variables used in
the string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 22:08:06 +00:00
Daniel Dunbar
964ac01201 Allow '_' in FileCheck variable names, it is nice to have at least one
separate character.
 - Chris, OK?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89626 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 22:07:50 +00:00
Bob Wilson
21870411d9 Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 04:24:42 +00:00
Bob Wilson
2214dc0764 Fix pr5470. Tablegen handles template arguments by temporarily setting their
values, resolving references to them, and then removing the definitions.
If a template argument is set to an undefined value, we need to resolve
references to that argument to an explicit undefined value.  The current code
leaves the reference to the template argument as it is, which causes an
assertion failure later when the definition of the template argument is
removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22 03:58:57 +00:00
Bob Wilson
a8449e6aaa Fix some spelling in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21 22:44:20 +00:00