Jim Grosbach
85838cdb51
Thumb2 assembly parsing and encoding for SHSUB16/SHSUB8.
...
llvm-svn: 139880
2011-09-15 23:58:56 +00:00
Jim Grosbach
27a086b1d0
Remove incorrect comments.
...
llvm-svn: 139877
2011-09-15 23:45:50 +00:00
Owen Anderson
e54c4beb5a
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.
...
llvm-svn: 139876
2011-09-15 23:38:46 +00:00
Ivan Krasin
de2d3cf093
use 64-bit types instead of off_t/size_t to avoid the issue when
...
gold plugin is built with Large File Support (sizeof(off_t) == 64 on i686)
and the rest of LLVM is built w/o Large File Support
(sizeof(off_t) == 32 on i686) which corrupts the stack.
llvm-svn: 139873
2011-09-15 23:13:00 +00:00
Bruno Cardoso Lopes
1465f4d334
Add a fixme note!
...
llvm-svn: 139872
2011-09-15 23:04:24 +00:00
Jim Grosbach
eee3717b95
Thumb2 assembly parsing and encoding for SHADD16/SHADD8.
...
llvm-svn: 139871
2011-09-15 22:36:10 +00:00
Jim Grosbach
423aae30b2
Thumb2 assembly parsing and encoding for SHASX/SHSAX.
...
llvm-svn: 139870
2011-09-15 22:34:29 +00:00
Eli Friedman
0e654e52d9
Minor cleanup.
...
llvm-svn: 139869
2011-09-15 22:26:18 +00:00
Benjamin Kramer
d8bbe6cceb
Unbreak the build for compilers that don't include cstdint everywhere.
...
llvm-svn: 139868
2011-09-15 22:26:16 +00:00
Jim Grosbach
68e3ea237e
Thumb2 assembly parsing and encoding for SEV.W.
...
llvm-svn: 139866
2011-09-15 22:24:20 +00:00
Eli Friedman
1df4766bda
Use a more efficient lowering for Unordered/Monotonic atomic load/store on Thumb1.
...
llvm-svn: 139865
2011-09-15 22:18:49 +00:00
Bruno Cardoso Lopes
7ad9ea026a
Add the remaining AVX versions of instructions to X86InstrInfo, this
...
time for describing high latency ones and for recognizting loads
from the same base pointer
llvm-svn: 139864
2011-09-15 22:15:52 +00:00
Jim Grosbach
29e503aec9
Thumb2 assembly parsing and encoding for SEL.
...
llvm-svn: 139861
2011-09-15 22:01:09 +00:00
Benjamin Kramer
e98b6ec93c
DWARF: Reset the state after parsing a line table prologue and remove an unnecessary lookup.
...
llvm-svn: 139859
2011-09-15 21:59:13 +00:00
Jim Grosbach
b9ba7e59b7
Thumb2 assembly parsing and encoding for SBFX.
...
llvm-svn: 139858
2011-09-15 21:58:42 +00:00
Bruno Cardoso Lopes
901f6ff218
Factor out partial register update checks for some SSE instructions.
...
Also add the AVX versions and add comments!
llvm-svn: 139854
2011-09-15 21:42:23 +00:00
Eli Friedman
f7bb39b592
Some legalization fixes for atomic load and store.
...
llvm-svn: 139851
2011-09-15 21:20:49 +00:00
Benjamin Kramer
b5c3c42a54
llvm-dwarfdump: Add an option to print out line info for a specific address
...
Usage:
$ llvm-dwarfdump -address=0x0000000100000ed4 a.out.dSYM/Contents/Resources/DWARF/a.out
xxx.c:6:0
llvm-svn: 139850
2011-09-15 21:17:40 +00:00
Jim Grosbach
aeb7320fa5
Add some missing 'CHECK' lines and tidy up others.
...
llvm-svn: 139849
2011-09-15 21:17:38 +00:00
Benjamin Kramer
8e526ee5b0
CommandLine: Add support for 64 bit unsigned integer options.
...
llvm-svn: 139848
2011-09-15 21:17:37 +00:00
Benjamin Kramer
912beeec25
DWARF: Don't crash when looking up an invalid address.
...
llvm-svn: 139846
2011-09-15 21:08:54 +00:00
Jakob Stoklund Olesen
6ccd8e9c0d
Add an option to disable spill hoisting.
...
When -split-spill-mode is enabled, spill hoisting is performed by
SplitKit instead of by InlineSpiller. This hidden command line option
is for testing the splitter spill mode.
llvm-svn: 139845
2011-09-15 21:06:00 +00:00
Jim Grosbach
8ceb22b769
Thumb2 assembly parsing and encoding for SBC.
...
llvm-svn: 139844
2011-09-15 21:04:10 +00:00
Jim Grosbach
1ac9dd8a72
Thumb2 assembly parsing and encoding for SASX.
...
llvm-svn: 139843
2011-09-15 21:01:23 +00:00
Andrew Trick
1dfb51c692
Reapply r139759. Disable IV rewriting by default. See PR10916.
...
llvm-svn: 139842
2011-09-15 20:58:37 +00:00
Jim Grosbach
eaeb10930f
Thumb2 assembly parsing and encoding for SADD16/SADD8.
...
llvm-svn: 139841
2011-09-15 20:57:39 +00:00
Jim Grosbach
553692fcce
Thumb2 assembly parsing and encoding for RSB.
...
llvm-svn: 139839
2011-09-15 20:54:14 +00:00
Benjamin Kramer
a2833ff7e0
DWARF: Put all the pieces we have together and provide a single accessor to DIContext that provides line information when given an address.
...
llvm-svn: 139836
2011-09-15 20:43:22 +00:00
Benjamin Kramer
5307d9c91a
DWARF: Remove accessors that parse the whole line table section in one go, this can't possibly work.
...
The address size is specified by the compile unit associated with a line table, there is no global address size.
llvm-svn: 139835
2011-09-15 20:43:18 +00:00
Jim Grosbach
267610ed2a
Thumb2 assembly parsing and encoding for RRX.
...
llvm-svn: 139831
2011-09-15 19:52:43 +00:00
Jim Grosbach
ee202d43fe
Thumb2 assembly parsing and encoding for ROR.
...
llvm-svn: 139830
2011-09-15 19:50:04 +00:00
Jim Grosbach
50ee930e9a
Thumb2 assembly parsing and encoding for REV16/REVSH.
...
llvm-svn: 139828
2011-09-15 19:46:13 +00:00
Owen Anderson
5514958222
The the MC disassembler C API to print in verbose mode. Perhaps there should be a parameter to request verbose mode?
...
llvm-svn: 139821
2011-09-15 18:37:20 +00:00
Owen Anderson
84d4e5d0e2
Add support for stored annotations to MCInst, and provide facilities for MC-based InstPrinters to print them out. Enhance the ARM and X86 InstPrinter's to do so in verbose mode.
...
llvm-svn: 139820
2011-09-15 18:36:29 +00:00
Jakob Stoklund Olesen
b36a98d18f
VirtRegMap is counting spill slots, not register spills.
...
Fix the stats counters to reflect that.
llvm-svn: 139819
2011-09-15 18:31:13 +00:00
Bruno Cardoso Lopes
8e702bba63
Change all checks regarding the presence of any SSE level to always
...
take into consideration the presence of AVX. This change, together with
the SSEDomainFix enabled for AVX, makes AVX codegen to always (hopefully)
emit the same code as SSE for 128-bit vector ops. I don't
have a testcase for this, but AVX now beats SSE in performance for
128-bit ops in the majority of programas in the llvm testsuite
llvm-svn: 139817
2011-09-15 18:27:36 +00:00
Bruno Cardoso Lopes
0fa8b71a55
Enable SSEDomainFix pass for AVX mode.
...
llvm-svn: 139816
2011-09-15 18:27:32 +00:00
Jakob Stoklund Olesen
74cb8c037a
Count correctly when a COPY turns into a spill or reload.
...
The number of spills could go negative since a folded COPY is just a
spill, and it may be eliminated.
llvm-svn: 139815
2011-09-15 18:22:52 +00:00
Jim Grosbach
9d7aa9bcbc
Thumb2 assembly parsing and encoding for REV.
...
llvm-svn: 139813
2011-09-15 18:13:30 +00:00
Jim Grosbach
7c1422b068
Thumb2 assembly parsing and encoding for RBIT.
...
llvm-svn: 139811
2011-09-15 18:07:14 +00:00
Jim Grosbach
d6993cb54c
Thumb2 assembly parsing and encoding for signed saturating arithmetic insns.
...
llvm-svn: 139810
2011-09-15 18:06:15 +00:00
Benjamin Kramer
1adbd30351
DWARF: Print line tables per compile unit, so they get the right address size.
...
llvm-svn: 139808
2011-09-15 18:02:20 +00:00
Jim Grosbach
e341895736
Assmebler symbol attribute directives don't work on temporary symbols.
...
Assembler private local symbols aren't legal targets of symbol attributes,
so issue a diagnostic for them.
Based on patch by Stepan Dyatkovskiy.
llvm-svn: 139807
2011-09-15 17:56:49 +00:00
Jakob Stoklund Olesen
444ae3ddc7
Count inserted spills and reloads more accurately.
...
Adjust counters when removing spill and reload instructions.
We still don't account for reloads being removed by eliminateDeadDefs().
llvm-svn: 139806
2011-09-15 17:54:28 +00:00
Benjamin Kramer
900209189c
DWARF: wire up .debug_str dumping.
...
llvm-svn: 139799
2011-09-15 16:57:13 +00:00
Jim Grosbach
00e28bee78
Handle missing newline at EOF more gracefully in MC AsmLexer.
...
If we see an EOF w/o a preceding end-of-line, return an EndOfStatement
token before returning the Eof token.
Based on patch by Stepan Dyatkovskiy.
llvm-svn: 139798
2011-09-15 16:52:06 +00:00
Jakob Stoklund Olesen
f608389173
Trace through sibling PHIs in bulk.
...
When traceSiblingValue() encounters a PHI-def value created by live
range splitting, don't look at all the predecessor blocks. That can be
very expensive in a complicated CFG.
Instead, consider that all the non-PHI defs jointly dominate all the
PHI-defs. Tracing directly to all the non-PHI defs is much faster that
zipping around in the CFG when there are many PHIs with many
predecessors.
This significantly improves compile time for indirectbr interpreters.
llvm-svn: 139797
2011-09-15 16:41:12 +00:00
Jim Grosbach
69ddec5ff7
ARM support the pre-UAL mnemonic 'qsubaddx' for 'qsax.'
...
llvm-svn: 139796
2011-09-15 16:16:50 +00:00
Jim Grosbach
5742cbd63f
Re-order test.
...
llvm-svn: 139795
2011-09-15 16:04:13 +00:00
Jim Grosbach
d428c970e3
Thumb2 push/pop mnemonic recognition.
...
llvm-svn: 139794
2011-09-15 15:55:04 +00:00