Sean Callanan
6aeb2e32b7
Fixed the disassembler to handle two new X86
...
instruction forms. Now the ENTER instruction
disassembles correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115573 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-04 22:45:51 +00:00
Chris Lattner
ab6e554344
remove reference to dead script.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115413 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02 18:49:27 +00:00
Chris Lattner
a7abcc774f
nuke an old script
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115412 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02 18:44:23 +00:00
Francois Pichet
43b04fa17e
Fix MSVC release mode compilation error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115407 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02 03:26:54 +00:00
Francois Pichet
8ec055dbc8
Fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01 21:20:39 +00:00
Dale Johannesen
0488fb649a
Massive rewrite of MMX:
...
The x86_mmx type is used for MMX intrinsics, parameters and
return values where these use MMX registers, and is also
supported in load, store, and bitcast.
Only the above operations generate MMX instructions, and optimizations
do not operate on or produce MMX intrinsics.
MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into
smaller pieces. Optimizations may occur on these forms and the
result casted back to x86_mmx, provided the result feeds into a
previous existing x86_mmx operation.
The point of all this is prevent optimizations from introducing
MMX operations, which is unsafe due to the EMMS problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115243 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 23:57:10 +00:00
Jim Grosbach
ca96a86165
Let a target specify whether it wants an assembly printer to be the MC version
...
or not. TableGen needs to generate the printInstruction() function as taking
an MCInstr* or a MachineInstr*, depending. Default to the old non-MC
version so that everything not yet using MC continues to just work without
fidding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115126 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 01:29:54 +00:00
Evan Cheng
3881cb7a5d
Model Cortex-a9 load to SUB, RSB, ADD, ADC, SBC, RSC, CMN, MVN, or CMP
...
pipeline forwarding path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115098 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 22:42:35 +00:00
Jim Grosbach
9255b8d349
trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 22:32:50 +00:00
Duncan Sands
18d52f2fb5
Convert a bunch of uses of 'bytecode' into 'bitcode'. This
...
is not everything, but the remaining cases are less trivial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115080 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 20:09:55 +00:00
Daniel Dunbar
6a2e912690
GetSourceVersion: Strip off svninfo extra markers, which aren't really part of the version.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115074 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 19:30:17 +00:00
Daniel Dunbar
1619beb4e2
utils: Add GetRepositoryPath script, patch by Jonathan Mulder!
...
- Also, fix indention in GetSourceVersion while in the area.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115048 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 17:57:01 +00:00
Daniel Dunbar
69c4cbe9e8
lit: Fix a subtle resource usage bug when executing tests using the internal
...
shell runner.
We would inadvertently end up holding on to handles to the temporary files
longer than we should have been. On Win32, where open handles lock some file
operations, this caused problems in tests which would try to move temporary
files around (as Clang does by default now).
Many thanks to Francois Pichet for the excellent detective work on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 15:59:37 +00:00
Chris Lattner
b2ef4c1235
add basic avx support to the disassembler, also teach it about ssmem/sdmem
...
operands.
With this done, we can remove the _Int suffixes from the round instructions
without the disassembler blowing up. This allows the assembler to support
them, implementing rdar://8456376 - llvm-mc rejects 'roundss'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115019 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 02:57:56 +00:00
Evan Cheng
63d66eed16
Add support to model pipeline bypass / forwarding.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-28 23:50:49 +00:00
Benjamin Kramer
d1e1703c39
Push twines deeper into SourceMgr's error handling methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114847 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 17:42:11 +00:00
Oscar Fuentes
066de857f8
Reverting "CMake: Don't include tools, unittets, or examples as
...
available targets unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies
LLVM_INCLUDE_X"
It breaks the configuration phase when cmake is invoked without
parameters, it is too complex for the purpose and introduces an
incovenience for the user (as both LLVM_BUILD_X and LLVM_INCLUDE_X
must set to OFF for not including X on the build)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114795 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25 20:25:25 +00:00
Che-Liang Chiou
f9930da2ef
Add ret instruction to PTX backend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25 07:46:17 +00:00
Michael J. Spencer
1f40960543
Get rid of pop_macro warnings on MSVC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114750 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 19:48:47 +00:00
Michael J. Spencer
4b794c9a99
CMake: Don't include tools, unittets, or examples as available targets
...
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 19:10:51 +00:00
Michael J. Spencer
6b096c35c7
Fix line endings from my last commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114728 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 09:10:21 +00:00
Michael J. Spencer
ddfce8f95b
unittests: Support Windows.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114727 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 09:01:34 +00:00
Michael J. Spencer
18fac3c0d2
Test unittests built with CMake.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114726 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 09:01:22 +00:00
Michael J. Spencer
ee6944f4ab
CMake: Build unittests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114725 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 09:01:13 +00:00
Michael J. Spencer
c8417d7165
Fix whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114724 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 09:00:56 +00:00
Owen Anderson
f523e476c2
Revert r114703 and r114702, removing the isConditionalMove flag from instructions. After further
...
reflection, this isn't going to achieve the purpose I intended it for. Back to the drawing board!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114710 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23 23:45:25 +00:00
Owen Anderson
5716180b1a
Add an TargetInstrDesc bit to indicate that a given instruction is a conditional move.
...
Not intended functionality change, as nothing uses this yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114702 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23 22:44:10 +00:00
Nate Begeman
8a6e7e1214
Revert r114596, it's breaking a few tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114659 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23 16:49:17 +00:00
Nate Begeman
e5cb26fab9
<rdar://problem/8228022> Wvector-conversions warnings in arm_neon.h
...
Explicitly cast arguments to the type the builtin expects, which is <vN x i8>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114596 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22 22:28:42 +00:00
Chris Lattner
d847bc20b8
Rework passing parent pointers into complexpatterns, I forgot
...
that complex patterns are matched after the entire pattern has
a structural match, therefore the NodeStack isn't in a useful
state when the actual call to the matcher happens.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114489 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-21 22:00:25 +00:00
Chris Lattner
78d3af47f5
just like they can opt into getting the root of the pattern being
...
matched, allow ComplexPatterns to opt into getting the parent node
of the operand being matched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114472 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-21 20:37:12 +00:00
Chris Lattner
52a261b3c1
fix a long standing wart: all the ComplexPattern's were being
...
passed the root of the match, even though only a few patterns
actually needed this (one in X86, several in ARM [which should
be refactored anyway], and some in CellSPU that I don't feel
like detangling). Instead of requiring all ComplexPatterns to
take the dead root, have targets opt into getting the root by
putting SDNPWantRoot on the ComplexPattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114471 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-21 20:31:19 +00:00
Mikhail Glushenkov
f41b75d85b
Trailing whitespace, 80-col violations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114435 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-21 14:59:50 +00:00
Mikhail Glushenkov
46aa524f0d
llvmc: Allow multiple output languages.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-21 14:59:42 +00:00
Misha Brukman
7e28460ee9
Using regexp-opt for keyword regex declarations makes the word lists more
...
readable and easier to edit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114308 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-19 03:44:22 +00:00
Eric Christopher
168705049c
Handle the odd case where we only have one instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114293 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-18 18:50:27 +00:00
Daniel Dunbar
3f42dba88f
lit: Bump version to 0.2.0dev, for no apparent reason.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114262 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-18 02:28:15 +00:00
Daniel Dunbar
bd26ba0b53
lit: Tweak setup.py.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-18 02:28:12 +00:00
Daniel Dunbar
3f32b444ed
lit: These TODOs are done(ish).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114260 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-18 02:28:09 +00:00
Duncan Sands
7201c9f1f1
Some of the tests build an executable with llvm-gcc. For this to work, llvm-gcc
...
needs to find some libraries, which may require searching the directories given
by LIBRARY_PATH on curiously configured systems. So pass on LIBRARY_PATH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114186 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-17 17:05:27 +00:00
Duncan Sands
40989a40f0
Release-Asserts no longer exists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 12:30:35 +00:00
Daniel Dunbar
c2be84fd49
lit: Expose FileBasedTest object and Test module via 'lit' object that gets
...
exposed to config files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113923 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 03:52:38 +00:00
Daniel Dunbar
ff2dcd3ce9
lit: Rename main lit module to main.py, lit/lit/lit.py was a bit too, err,
...
alliterate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113922 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 03:52:31 +00:00
Bob Wilson
ee9ca07e7f
Use float64 instead of int64 vector elements for NEON vget_low and vget_high
...
functions, since int64 is not a legal type and using it leads to inefficient
code. PR8036.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113919 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 01:52:33 +00:00
Bob Wilson
72774c9a83
Tidy whitespace in generated arm_neon.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-14 21:52:34 +00:00
Michael J. Spencer
08047f6169
CBackend: Fix MSVC build.
...
This may produce warnings on MSVS, but it's better than failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113834 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-14 04:27:38 +00:00
Devang Patel
12b0179c14
Fix typo in temp. script file name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113787 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 21:23:17 +00:00
Devang Patel
c7183baac6
Add little test script to check debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113779 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 20:42:15 +00:00
Michael J. Spencer
becf392e3b
CMake: Add llvm-lit to CMake build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 17:52:38 +00:00
Duncan Sands
8a6e53e116
Nowadays a release build has assertions off.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 13:45:33 +00:00
Dale Johannesen
8be452545a
Add x86mmx to TableGen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113671 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11 00:16:46 +00:00
Evan Cheng
5f54ce3473
For each instruction itinerary class, specify the number of micro-ops each
...
instruction in the class would be decoded to. Or zero if the number of
uOPs must be determined dynamically.
This will be used to determine the cost-effectiveness of predicating a
micro-coded instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113513 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-09 18:18:55 +00:00
Duncan Sands
ca64b6ad0e
This script is executable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113479 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-09 09:37:54 +00:00
Chris Lattner
373c458850
fix bugs in push/pop segment support, rdar://8407242
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 22:13:08 +00:00
Bill Wendling
8be4e032bd
Remove --with-gxx-include-dir option because it's causing problems on non-Darwin platforms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113401 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 20:21:11 +00:00
Bill Wendling
c248bbab04
Add an option to not test ObjC for those platforms which don't support it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113398 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 20:09:14 +00:00
Duncan Sands
cff1dbfa18
Correct variable name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 19:58:15 +00:00
Duncan Sands
d357d747de
Move the number of cpus logic to somewhere more logical.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113393 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 19:50:25 +00:00
Bill Wendling
b91c71299a
A script that tests a certain release candidate in several modes. It does a
...
2-phase build of llvm and llvm-gcc, similar to what the buildbots do, and runs
the regression testsuite.
Things to do:
- Work out some bugs with llvm-gcc flags.
- Not all platforms support ObjC.
- Run the test-suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 18:32:31 +00:00
Bill Wendling
d8dd5757e0
Add an MVT::x86mmx type. It will take the place of all current MMX vector types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 20:03:56 +00:00
Bill Wendling
72d1027d87
Fix whitespace, because I'm OCD.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113250 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 18:49:14 +00:00
Dale Johannesen
86097c384f
Add patterns for MMX that use the new intrinsics.
...
Enable palignr intrinsic.
These may need adjustment for a new VT in due course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113233 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 18:10:56 +00:00
Chris Lattner
32c685cb67
attempt to appease msvc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113198 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 06:10:48 +00:00
Gabor Greif
e53ee3b112
fix comment typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07 06:06:06 +00:00
Chris Lattner
9bb9fa19a5
generalize my previous operand loc info hack. If the same operand
...
is busted for all variants, report it as the location. This allows
us to get the operand right for bugs like:
t.s:3:12: error: invalid operand for instruction
outb %al, %gs
^
Even though there are reg/imm and reg/reg forms of this instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113183 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 23:37:39 +00:00
Chris Lattner
ce4a3355d9
in the case where an instruction only has one implementation
...
of a mneumonic, report operand errors with better location
info. For example, we now report:
t.s:6:14: error: invalid operand for instruction
cwtl $1
^
but we fail for common cases like:
t.s:11:4: error: invalid operand for instruction
addl $1, $1
^
because we don't know if this is supposed to be the reg/imm or imm/reg
form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113178 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 22:11:18 +00:00
Chris Lattner
a008e8ac73
Now that we know if we had a total fail on the instruction mnemonic,
...
give a more detailed error. Before:
t.s:11:4: error: unrecognized instruction
addl $1, $1
^
t.s:12:4: error: unrecognized instruction
f2efqefa $1
^
After:
t.s:11:4: error: invalid operand for instruction
addl $1, $1
^
t.s:12:4: error: invalid instruction mnemonic 'f2efqefa'
f2efqefa $1
^
This fixes rdar://8017912 - llvm-mc says "unrecognized instruction" when it means "invalid operands"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113176 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:54:15 +00:00
Chris Lattner
fa0d74d58e
simplify DEBUG_WITH_TYPE usage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:28:52 +00:00
Chris Lattner
44b0daad44
this if can now be an assert.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113173 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:25:43 +00:00
Chris Lattner
80db4e51d2
;
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113172 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:23:43 +00:00
Chris Lattner
2b1f943444
now that the opcode is trivially exposed, start matching instructions
...
by doing a binary search over the mnemonic instead of doing a linear
search through all possible instructions. This implements rdar://7785064
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113171 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:22:45 +00:00
Chris Lattner
96352e5ceb
emit the match table at global scope instead of within the
...
MatchInstructionImpl. This makes it easier to read/understand
MatchInstructionImpl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113170 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:08:38 +00:00
Chris Lattner
e206fcf0e9
special case the mnemonic operand of the instruction in the
...
generated matcher, emiting it as a column in the MatchEntry
table instead of forcing it to go through classification and
everything else. Making it be classified caused tblgen to
produce a ton of one-off classes for each mneumonic. This
should reduce the size of the generated matcher significantly
while paving the way for future improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113169 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 21:01:37 +00:00
Chris Lattner
87410368e1
The "ambiguous instructions" check only produces anything with -debug,
...
so only do the N^2 loop with debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113168 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 20:21:47 +00:00
Chris Lattner
ec6789f4f9
have tblgen detect when an instruction would have matched, but
...
failed because a subtarget feature was not enabled. Use this to
remove a bunch of hacks from the X86AsmParser for rejecting things
like popfl in 64-bit mode. Previously these hacks weren't needed,
but were important to get a message better than "invalid instruction"
when used in the wrong mode.
This also fixes bugs where pushal would not be rejected correctly in
32-bit mode (just pusha).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113166 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 20:08:02 +00:00
Chris Lattner
79ed3f77e8
change MatchInstructionImpl to return an enum instead of bool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113165 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 19:22:17 +00:00
Chris Lattner
0692ee676f
have AsmMatcherEmitter.cpp produce the hunk of code that gets included
...
into the middle of the class, and rework how the different sections of
the generated file are conditionally included for simplicity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 19:11:01 +00:00
Chris Lattner
cc67c75b67
emit the LLVM intrinsic name -> intrinsic number mapping table with
...
StringMatcher instead of a linear sequence of memcmps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113145 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 03:58:45 +00:00
Chris Lattner
902edf2166
allow specifying an indentation level for the string matcher.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113143 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 03:50:59 +00:00
Chris Lattner
298b176559
emit the __builtin -> intrinsic map with StringMatcher instead of a
...
copy of a close relative of it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113142 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 03:14:45 +00:00
Chris Lattner
8e4fdef6cc
same bug, another place.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113141 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 03:12:27 +00:00
Chris Lattner
6d7c307a08
fix a critical bug where the generated table would say
...
"1 strings to match" in a comment, which isn't gramatic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113140 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 03:11:10 +00:00
Chris Lattner
2ba1359ba6
update cmake
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113139 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 02:58:25 +00:00
Chris Lattner
5845e5c62b
factor the snazzy string matcher code that Daniel hates
...
out of AsmMatcherEmitter.cpp into its own class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113137 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 02:01:51 +00:00
Chris Lattner
2738ff9c22
slightly improve the runtime and code size of the Intrinsics info table by not
...
comparing the "llvm." prefix in the memcmp, and not storing it in the string literal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113136 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06 01:44:44 +00:00
Chris Lattner
d3ba94ce59
delete dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113075 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-04 18:17:16 +00:00
Chris Lattner
718045889e
zap dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113071 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-04 17:45:58 +00:00
David Greene
9703843dfa
Generalize getFieldType to work on all TypedInits. Add a couple of testcases from
...
Amaury Pouly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113010 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 21:00:49 +00:00
Dan Gohman
2465dcf4c8
Remove a TODO comment; this is now filed in bugzilla (PR8005).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112982 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 18:06:11 +00:00
Jakob Stoklund Olesen
ecf93e4ab3
Stop emitting predicate functions. They are no longer used.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112924 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03 00:39:50 +00:00
Chris Lattner
8861e275d0
remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112707 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 15:39:31 +00:00
Dan Gohman
d4c454317a
Make tool_output_file's raw_ostream instance a member variable instead
...
of a base class.
This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 14:20:41 +00:00
Dan Gohman
8f49168c4c
Don't worry about union types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112427 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29 14:50:21 +00:00
Dan Gohman
245ae51dce
Remove obsolete keywords which are no longer relevant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 20:14:05 +00:00
Dan Gohman
04a7858241
Remove unions from the vim syntax highlighting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112381 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 20:11:28 +00:00
Chris Lattner
2d9005848d
more dead thing zapping.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112353 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 03:43:50 +00:00
Chris Lattner
1ff90f7896
zap dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112352 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 03:42:45 +00:00
Bob Wilson
dbb350a5c7
Fix a comment typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112302 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 21:56:59 +00:00
Dan Gohman
349370a1d6
Clarify a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112266 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 15:16:40 +00:00
Dan Gohman
88b3a68490
Parse " (Hidden)" and cope with it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112265 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 15:16:09 +00:00