Commit Graph

2891 Commits

Author SHA1 Message Date
Sean Hunt
726a3d284e Finish full attribute class emission for clang.
For more information, see the accompanying clang patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111454 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 23:23:09 +00:00
Eric Christopher
922157c834 Remove predicate workaround, we're going to require that predicate
and optional def operands are handled in the backend support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111220 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-17 01:18:37 +00:00
Bob Wilson
22f5dc79c0 Rename sat_shift operand to shift_imm, in preparation for using it for other
instructions besides saturate instructions.  No functional changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111168 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16 18:27:34 +00:00
Bob Wilson
0ab754b25a Install Embedded builds into usr/local. Radar 8313723.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111149 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-16 16:39:59 +00:00
Argyrios Kyrtzidis
8c8b9ee8c8 Revert r111082. No warnings for this common pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111102 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15 10:27:23 +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
Argyrios Kyrtzidis
7268d97ae6 Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111082 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-14 21:35:10 +00:00
Mikhail Glushenkov
cb5d3ef882 Revert r111007.
Apparently, this is now fixed in Clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13 20:08:53 +00:00
Mikhail Glushenkov
aa1a373a66 Add a workaround for building with Clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13 06:02:45 +00:00
Mikhail Glushenkov
2e027cb6ed llvmc: fix two tests, remove XFAILs.
Tested on Linux and Darwin; please add platform-specific XFAILs/mail me a bug
report if this still fails.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110998 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13 02:29:24 +00:00
Johnny Chen
1adc40cac3 Cleaned up the for-disassembly-only entries in the arm instruction table so that
the memory barrier variants (other than 'SY' full system domain read and write)
are treated as one instruction with option operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110951 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-12 20:46:17 +00:00
Daniel Dunbar
4f98f83459 tblgen/AsmMatcher: Always emit the match function as 'MatchInstructionImpl',
target specific parsers can adapt the TargetAsmParser to this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110888 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-12 00:55:32 +00:00
Bob Wilson
eaf1c98a7c Move the ARM SSAT and USAT optional shift amount operand out of the
instruction opcode.  This also fixes part of PR7792.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110875 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 23:10:46 +00:00
Daniel Dunbar
4d39b6728d tblgen/AsmMatcher: Treat '.' in assembly strings as a token separator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110789 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 06:36:59 +00:00
Daniel Dunbar
a9ba5fe2bd tblgen/AsmMatcher: Downgrade instructions with tied operands to a debug-only warning, for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110779 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 04:46:08 +00:00
Bob Wilson
9a1c189d9e Add a separate ARM instruction format for Saturate instructions.
(I discovered 2 more copies of the ARM instruction format list, bringing the
total to 4!!  Two of them were already out of sync.  I haven't yet gotten into
the disassembler enough to know the best way to fix this, but something needs
to be done.)  Add support for encoding these instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110754 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 00:01:18 +00:00
Eric Christopher
ae321ed287 We already have this as OperandNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110748 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 23:46:20 +00:00
Bob Wilson
1b73052140 Install llvmCore_Sim to the simulator SDK directory. Radar 8282845.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110687 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 17:13:58 +00:00
Dan Gohman
bd2499a0b1 Expand uses of python 2.6's "A if B else C" syntax into regular
if-else statements, to hopefully support older pythons (PR7850).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110638 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-10 01:03:34 +00:00
Bill Wendling
73739d0bf1 Add back in r109901, which adds a Compare flag to the target instructions. It's
useful after all.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110531 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-08 01:49:35 +00:00
Rafael Espindola
55e9587469 Fix eabi calling convention when a 64 bit value shadows r3.
Without this what was happening was:

* R3 is not marked as "used"
* ARM backend thinks it has to save it to the stack because of vaarg
* Offset computation correctly ignores it
* Offsets are wrong

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110446 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 15:35:32 +00:00
Bill Wendling
5b55ff0c15 Revert r109901. The implementation of <rdar://problem/7405933> (r110423) doesn't
need the Compare flag after all.

--- Reverse-merging r109901 into '.':
U    include/llvm/Target/TargetInstrDesc.h
U    include/llvm/Target/Target.td
U    utils/TableGen/InstrInfoEmitter.cpp
U    utils/TableGen/CodeGenInstruction.cpp
U    utils/TableGen/CodeGenInstruction.h



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110424 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 01:36:09 +00:00
Eric Christopher
5759b9b8be Moar words!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 01:30:54 +00:00
Nate Begeman
59d70cbc29 Add tablegen support for vdup_lane
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110419 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 01:24:11 +00:00
Dan Gohman
7365c091f9 Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem
to IntrReadWriteArgMem, as it's for reading as well as writing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 23:36:21 +00:00
Dan Gohman
a2858527d7 Update the polygen grammar for linker_private and linker_private_weak,
and add comments about major implemented features.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 17:01:59 +00:00
Dan Gohman
34f68fc040 Print a message when a test failure is due to stderr output
alone, rather than just an exit code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110208 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 16:42:38 +00:00
Dan Gohman
d27db32ff4 Remove CVS artifacts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110206 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 16:11:24 +00:00
Dan Gohman
5eaa192f59 Delete scripts which haven't noticed that CVS has gone away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110205 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 16:10:42 +00:00
Dan Gohman
8f417a892f cvsupdate is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110204 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 16:09:01 +00:00
Dan Gohman
c1076ea611 Delete mkpatch. Everything it does is already done by svn diff by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 16:07:22 +00:00
Dan Gohman
e1e5746476 Change the logic which interprets output on stderr as an error so that
it doesn't modify the exit code or the stdout contents, and so that it
doesn't clutter the output with "Command has output on stderr!".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110171 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 00:12:31 +00:00
Dan Gohman
8a7ffe651f Don't print "Command output (stdout):" when the command has no output,
and same for stderr, to avoid clutter in the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110169 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 00:05:16 +00:00
Dan Gohman
e1390c40a6 Use the regular conditional operator syntax instead of a clever hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110168 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 00:00:13 +00:00
Daniel Dunbar
5b6a4e231a build: Fix a dependency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 00:45:41 +00:00
Daniel Dunbar
b7698a49c2 tests: Add an 'llvm-lit' tool (script), which gets generated as part of the
build and has the object build directory baked into it. This allows 'llvm-lit'
to properly find the information needed to run the test suite in all cases,
without requiring the user to have LLVM or 'lit' available in their PATH, for
example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110000 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 00:39:42 +00:00
Daniel Dunbar
6647033565 lit: Allow clients to define predefined parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109999 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 00:39:38 +00:00
Bill Wendling
1844b1a5a4 Add a "Compare" flag to the target instruction descriptor. This will be used
later to identify and possibly remove superfluous compare instructions -- those
that are testing for and setting a status flag that should already be set.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109901 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30 22:48:39 +00:00
Benjamin Kramer
e099eba206 Tweak suppressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109858 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30 12:18:36 +00:00
Jim Grosbach
6ccfc507dc Many Thumb2 instructions can reference the full ARM register set (i.e.,
have 4 bits per register in the operand encoding), but have undefined
behavior when the operand value is 13 or 15 (SP and PC, respectively).
The trivial coalescer in linear scan sometimes will merge a copy from
SP into a subsequent instruction which uses the copy, and if that
instruction cannot legally reference SP, we get bad code such as:
  mls r0,r9,r0,sp
instead of:
  mov r2, sp
  mls r0, r9, r0, r2

This patch adds a new register class for use by Thumb2 that excludes
the problematic registers (SP and PC) and is used instead of GPR
for those operands which cannot legally reference PC or SP. The
trivial coalescer explicitly requires that the register class
of the destination for the COPY instruction contain the source
register for the COPY to be considered for coalescing. This prevents
errant instructions like that above.

PR7499




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109842 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30 02:41:01 +00:00
Benjamin Kramer
432ab2a10c Supress valgrind errors from python.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109818 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-29 23:15:04 +00:00
Owen Anderson
2a5892fe66 Make un-named values legible in certain vim configurations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109772 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-29 17:57:57 +00:00
Bob Wilson
fdb530d406 Fix a warning from gcc-4.0 (from the ppc buildbot).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109605 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-28 18:21:10 +00:00
Eric Christopher
bc16827be6 Filter out patterns that have PredicateOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109572 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-28 01:52:23 +00:00
Mikhail Glushenkov
67d985ffb2 Return -1 only on failure to execute a program.
Also fix some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109499 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-27 11:19:36 +00:00
Eric Christopher
ecfa079206 80-col.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109407 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-26 17:53:07 +00:00
Mikhail Glushenkov
b374d4fd82 Get rid of exceptions in llvmc.
llvmc can be now compiled with llvm-gcc on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-23 03:42:55 +00:00
Bob Wilson
02dee5b437 Add an explicit -sdk option to xcrun command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 23:33:00 +00:00
Daniel Dunbar
2d4590d6fb lit: Add some example tests for previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109071 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 00:40:19 +00:00
Daniel Dunbar
b937549e51 lit: Add support for 'REQUIRES: feature-one, feature-two, ...' in the
integrated-test formats (sh and tcl style). The particular features which get
recognized are up to the test suite itself to define.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109062 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 23:39:57 +00:00