f1ef87ddbb 
								
							 
						 
						
							
							
								
								Correct decoder for T1 conditional B encoding  
							
							... 
							
							
							
							llvm-svn: 158055 
							
						 
						
							2012-06-06 09:12:53 +00:00  
				
					
						
							
							
								 
						
							
								70c1aa0bb5 
								
							 
						 
						
							
							
								
								ARMDisassembler.cpp: Fix utf8 char in comments.  
							
							... 
							
							
							
							llvm-svn: 157292 
							
						 
						
							2012-05-22 21:47:02 +00:00  
				
					
						
							
							
								 
						
							
								cabbae653e 
								
							 
						 
						
							
							
								
								Tweak to the fix in r156212, as with the change in removing the shift the  
							
							... 
							
							
							
							SignExtend32<22>(Val<<1) also needs to change to SignExtend32<21>(Val) .
llvm-svn: 156213 
							
						 
						
							2012-05-04 22:09:52 +00:00  
				
					
						
							
							
								 
						
							
								8ce1ada1be 
								
							 
						 
						
							
							
								
								Fix a bug in the ARM disassembler for wide branch conditional instructions  
							
							... 
							
							
							
							where the symbolic operand's displacement was incorrectly shifted left by 1.
rdar://11387046
llvm-svn: 156212 
							
						 
						
							2012-05-04 22:02:27 +00:00  
				
					
						
							
							
								 
						
							
								914223010c 
								
							 
						 
						
							
							
								
								Fix issues with the ARM bl and blx thumb instructions and the J1 and J2 bits  
							
							... 
							
							
							
							for the assembler and disassembler.  Which were not being set/read correctly
for offsets greater than 22 bits in some cases.
Changes to lib/Target/ARM/ARMAsmBackend.cpp from Gideon Myles!
llvm-svn: 156118 
							
						 
						
							2012-05-03 22:41:56 +00:00  
				
					
						
							
							
								 
						
							
								9560af848c 
								
							 
						 
						
							
							
								
								Fixed disassembler for vstm/vldm ARM VFP instructions.  
							
							... 
							
							
							
							llvm-svn: 156077 
							
						 
						
							2012-05-03 16:38:40 +00:00  
				
					
						
							
							
								 
						
							
								9d8f6f3d9d 
								
							 
						 
						
							
							
								
								ARM: Tweak tADDrSP definition for consistent operand order.  
							
							... 
							
							
							
							Make the operand order of the instruction match that of the asm syntax.
llvm-svn: 155747 
							
						 
						
							2012-04-27 23:51:33 +00:00  
				
					
						
							
							
								 
						
							
								f435b09eaf 
								
							 
						 
						
							
							
								
								Refactor IT handling not to store the bottom bit of the condition code in the mask operand in the MCInst.  
							
							... 
							
							
							
							llvm-svn: 155700 
							
						 
						
							2012-04-27 08:42:59 +00:00  
				
					
						
							
							
								 
						
							
								e9600009e9 
								
							 
						 
						
							
							
								
								Refactor Thumb ITState handling in ARM Disassembler to more efficiently use its vector  
							
							... 
							
							
							
							llvm-svn: 155439 
							
						 
						
							2012-04-24 11:13:20 +00:00  
				
					
						
							
							
								 
						
							
								ca45af9a75 
								
							 
						 
						
							
							
								
								Added support for disassembling unpredictable swp/swpb ARM instructions.  
							
							... 
							
							
							
							llvm-svn: 155004 
							
						 
						
							2012-04-18 14:18:57 +00:00  
				
					
						
							
							
								 
						
							
								41f1fcd80e 
								
							 
						 
						
							
							
								
								Added support for unpredictable mcrr/mcrr2/mrrc/mrrc2 ARM instruction in the disassembler. Since the upredicability conditions are complex, C++ code was added to handle them.  
							
							... 
							
							
							
							llvm-svn: 155001 
							
						 
						
							2012-04-18 13:12:50 +00:00  
				
					
						
							
							
								 
						
							
								29ae538647 
								
							 
						 
						
							
							
								
								Fix ARM disassembly of VLD2 (single 2-element structure to all lanes)  
							
							... 
							
							
							
							instructions with writebacks. And add test a case for all opcodes handed by
DecodeVLD2DupInstruction() in ARMDisassembler.cpp .
llvm-svn: 154884 
							
						 
						
							2012-04-17 00:49:27 +00:00  
				
					
						
							
							
								 
						
							
								40d4e47003 
								
							 
						 
						
							
							
								
								Fix a few more places in the ARM disassembler so that branches get  
							
							... 
							
							
							
							symbolic operands added when using the C disassembler API.
llvm-svn: 154628 
							
						 
						
							2012-04-12 23:13:34 +00:00  
				
					
						
							
							
								 
						
							
								72f18bbcff 
								
							 
						 
						
							
							
								
								Fixed a case of ARM disassembly getting an assert on a bad encoding  
							
							... 
							
							
							
							of a VST instruction.
llvm-svn: 154544 
							
						 
						
							2012-04-11 22:40:17 +00:00  
				
					
						
							
							
								 
						
							
								d2980cd041 
								
							 
						 
						
							
							
								
								Fix ARM disassembly of VLD instructions with writebacks.  And add test a case  
							
							... 
							
							
							
							for all opcodes handed by DecodeVLDInstruction() in ARMDisassembler.cpp .
llvm-svn: 154459 
							
						 
						
							2012-04-11 00:25:40 +00:00  
				
					
						
							
							
								 
						
							
								7a3973d3e0 
								
							 
						 
						
							
							
								
								ARMDisassembler: drop bogus dependency on ARMCodeGen  
							
							... 
							
							
							
							And indirectly, a dependency on most of the core LLVM optimization
libraries.
llvm-svn: 153957 
							
						 
						
							2012-04-03 15:48:14 +00:00  
				
					
						
							
							
								 
						
							
								f6e7e12f75 
								
							 
						 
						
							
							
								
								Remove unnecessary llvm:: qualifications  
							
							... 
							
							
							
							llvm-svn: 153500 
							
						 
						
							2012-03-27 07:21:54 +00:00  
				
					
						
							
							
								 
						
							
								4afd7d2316 
								
							 
						 
						
							
							
								
								Added soft fail checks for the disassembler when decoding some corner cases of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM.  
							
							... 
							
							
							
							llvm-svn: 153252 
							
						 
						
							2012-03-22 14:14:49 +00:00  
				
					
						
							
							
								 
						
							
								d213f2111a 
								
							 
						 
						
							
							
								
								Added soft fail cases for the disassembler when decoding LDRSBT, LDRHT or LDRSHT instruction on ARM  
							
							... 
							
							
							
							llvm-svn: 153251 
							
						 
						
							2012-03-22 13:24:43 +00:00  
				
					
						
							
							
								 
						
							
								7e7d5eefb2 
								
							 
						 
						
							
							
								
								Fix ARM disassembly of VST1 and VST2 instructions with writeback.  And add test  
							
							... 
							
							
							
							case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp .
llvm-svn: 153218 
							
						 
						
							2012-03-21 20:54:32 +00:00  
				
					
						
							
							
								 
						
							
								32a49333ec 
								
							 
						 
						
							
							
								
								The ARM instructions that have an unpredictable behavior when the pc register operand is given now fail with soft fail. Modified the regression tests to reflect this.  
							
							... 
							
							
							
							llvm-svn: 153089 
							
						 
						
							2012-03-20 15:54:56 +00:00  
				
					
						
							
							
								 
						
							
								ca658c2264 
								
							 
						 
						
							
							
								
								Use uint16_t to store registers and opcode in static tables in the target specific backends.  
							
							... 
							
							
							
							llvm-svn: 152537 
							
						 
						
							2012-03-11 07:16:55 +00:00  
				
					
						
							
							
								 
						
							
								eed9992b26 
								
							 
						 
						
							
							
								
								Tidy up. Remove dead code that slipped into previous commit.  
							
							... 
							
							
							
							llvm-svn: 152184 
							
						 
						
							2012-03-07 00:52:39 +00:00  
				
					
						
							
							
								 
						
							
								ed428bc1ce 
								
							 
						 
						
							
							
								
								ARM more NEON VLD/VST composite physical register refactoring.  
							
							... 
							
							
							
							Register pair, all lanes subscripting.
llvm-svn: 152157 
							
						 
						
							2012-03-06 23:10:38 +00:00  
				
					
						
							
							
								 
						
							
								13a292cc74 
								
							 
						 
						
							
							
								
								ARM refactor more NEON VLD/VST instructions to use composite physregs  
							
							... 
							
							
							
							Register pair VLD1/VLD2 all-lanes instructions. Kill off more of the
pseudos as a result.
llvm-svn: 152150 
							
						 
						
							2012-03-06 22:01:44 +00:00  
				
					
						
							
							
								 
						
							
								520eb3ba8a 
								
							 
						 
						
							
							
								
								Fix a bug in the ARM disassembly of the neon VLD2 all lanes instruction.  
							
							... 
							
							
							
							llvm-svn: 152127 
							
						 
						
							2012-03-06 18:33:12 +00:00  
				
					
						
							
							
								 
						
							
								e5307f9019 
								
							 
						 
						
							
							
								
								ARM Refactor VLD/VST spaced pair instructions.  
							
							... 
							
							
							
							Use the new composite physical registers.
llvm-svn: 152063 
							
						 
						
							2012-03-05 21:43:40 +00:00  
				
					
						
							
							
								 
						
							
								c988e0c521 
								
							 
						 
						
							
							
								
								ARM refactor away a bunch of VLD/VST pseudo instructions.  
							
							... 
							
							
							
							With the new composite physical registers to represent arbitrary pairs
of DPR registers, we don't need the pseudo-registers anymore. Get rid of
a bunch of them that use DPR register pairs and just use the real
instructions directly instead.
llvm-svn: 152045 
							
						 
						
							2012-03-05 19:33:30 +00:00  
				
					
						
							
							
								 
						
							
								56b662ce0f 
								
							 
						 
						
							
							
								
								Make MemoryObject accessor members const again  
							
							... 
							
							
							
							llvm-svn: 151687 
							
						 
						
							2012-02-29 01:09:06 +00:00  
				
					
						
							
							
								 
						
							
								1489b523c3 
								
							 
						 
						
							
							
								
								Fix the symbolic operand added for the C disassmbler API for the ARM bl  
							
							... 
							
							
							
							thumb instruction.  The PC adjustment is +4 in Thumb mode and +8 in ARM mode.
llvm-svn: 151530 
							
						 
						
							2012-02-27 18:15:15 +00:00  
				
					
						
							
							
								 
						
							
								6fbcd8d439 
								
							 
						 
						
							
							
								
								Updated the llvm-mc disassembler C API to support for the X86 target.  
							
							... 
							
							
							
							rdar://10873652
As part of this I updated the llvm-mc disassembler C API to always call the
SymbolLookUp call back even if there is no getOpInfo call back.  If there is a
getOpInfo call back that is tried first and then if that gets no information
then the  SymbolLookUp is called.  I also made the code more robust by
memset(3)'ing to zero the LLVMOpInfo1 struct before then setting
SymbolicOp.Value before for the call to getOpInfo.  And also don't use any
values from the  LLVMOpInfo1 struct if getOpInfo returns 0.  And also don't
use any of the ReferenceType or ReferenceName values from SymbolLookUp if it
returns NULL. rdar://10873563 and rdar://10873683
For the X86 target also fixed bugs so the annotations get printed. 
Also fixed a few places in the ARM target that was not producing symbolic
operands for some instructions.  rdar://10878166
llvm-svn: 151267 
							
						 
						
							2012-02-23 18:18:17 +00:00  
				
					
						
							
							
								 
						
							
								b22310fda6 
								
							 
						 
						
							
							
								
								Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore.  
							
							... 
							
							
							
							llvm-svn: 150878 
							
						 
						
							2012-02-18 12:03:15 +00:00  
				
					
						
							
							
								 
						
							
								428704eb52 
								
							 
						 
						
							
							
								
								Make the EDis tables const.  
							
							... 
							
							
							
							llvm-svn: 150304 
							
						 
						
							2012-02-11 14:51:07 +00:00  
				
					
						
							
							
								 
						
							
								e55c556a24 
								
							 
						 
						
							
							
								
								Convert assert(0) to llvm_unreachable  
							
							... 
							
							
							
							llvm-svn: 149961 
							
						 
						
							2012-02-07 02:50:20 +00:00  
				
					
						
							
							
								 
						
							
								8b2dcad4b5 
								
							 
						 
						
							
							
								
								Enable streaming of bitcode  
							
							... 
							
							
							
							This CL delays reading of function bodies from initial parse until
materialization, allowing overlap of compilation with bitcode download.
llvm-svn: 149918 
							
						 
						
							2012-02-06 22:30:29 +00:00  
				
					
						
							
							
								 
						
							
								46a9f016c5 
								
							 
						 
						
							
							
								
								More dead code removal (using -Wunreachable-code)  
							
							... 
							
							
							
							llvm-svn: 148578 
							
						 
						
							2012-01-20 21:51:11 +00:00  
				
					
						
							
							
								 
						
							
								4a5c887370 
								
							 
						 
						
							
							
								
								ARM NEON VTBL/VTBX assembly parsing and encoding.  
							
							... 
							
							
							
							llvm-svn: 146691 
							
						 
						
							2011-12-15 22:27:11 +00:00  
				
					
						
							
							
								 
						
							
								88ac761aa4 
								
							 
						 
						
							
							
								
								ARM NEON refactor VST2 w/ writeback instructions.  
							
							... 
							
							
							
							In addition to improving the representation, this adds support for assembly
parsing of these instructions.
llvm-svn: 146588 
							
						 
						
							2011-12-14 21:32:11 +00:00  
				
					
						
							
							
								 
						
							
								8d24618975 
								
							 
						 
						
							
							
								
								ARM NEON VST2 assembly parsing and encoding.  
							
							... 
							
							
							
							Work in progress. Parsing for non-writeback, single spaced register lists
works now. The rest have the representations better factored, but still
need more to be able to parse properly.
llvm-svn: 146579 
							
						 
						
							2011-12-14 19:35:22 +00:00  
				
					
						
							
							
								 
						
							
								27a7489a03 
								
							 
						 
						
							
							
								
								LLVMBuild: Remove trailing newline, which irked me.  
							
							... 
							
							
							
							llvm-svn: 146409 
							
						 
						
							2011-12-12 19:48:00 +00:00  
				
					
						
							
							
								 
						
							
								d146a02c79 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for VLD2 with writeback.  
							
							... 
							
							
							
							Refactor the instructions into fixed writeback and register-stride
writeback variants to simplify the offset operand (no more optional
register operand using reg0). This is a simpler representation and allows
the assembly parser to more easily handle these instructions.
Add tests for the instruction variants now supported.
llvm-svn: 146278 
							
						 
						
							2011-12-09 21:28:25 +00:00  
				
					
						
							
							
								 
						
							
								23c30b90e3 
								
							 
						 
						
							
							
								
								Remove unused variable  
							
							... 
							
							
							
							llvm-svn: 145517 
							
						 
						
							2011-11-30 19:53:11 +00:00  
				
					
						
							
							
								 
						
							
								a68c9a847e 
								
							 
						 
						
							
							
								
								ARM parsing for VLD1 all lanes, with writeback.  
							
							... 
							
							
							
							llvm-svn: 145510 
							
						 
						
							2011-11-30 19:35:44 +00:00  
				
					
						
							
							
								 
						
							
								5ee209ce3a 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for four-register VST1.  
							
							... 
							
							
							
							llvm-svn: 145450 
							
						 
						
							2011-11-29 22:58:48 +00:00  
				
					
						
							
							
								 
						
							
								98d032fd67 
								
							 
						 
						
							
							
								
								ARM assembly parsing and encoding for three-register VST1.  
							
							... 
							
							
							
							llvm-svn: 145442 
							
						 
						
							2011-11-29 22:38:04 +00:00  
				
					
						
							
							
								 
						
							
								539d0a8a09 
								
							 
						 
						
							
							
								
								build/CMake: Finish removal of add_llvm_library_dependencies.  
							
							... 
							
							
							
							llvm-svn: 145420 
							
						 
						
							2011-11-29 19:25:30 +00:00  
				
					
						
							
							
								 
						
							
								05060f0748 
								
							 
						 
						
							
							
								
								Fix a misplaced paren bug.  
							
							... 
							
							
							
							llvm-svn: 144692 
							
						 
						
							2011-11-15 20:30:41 +00:00  
				
					
						
							
							
								 
						
							
								0ac9058f89 
								
							 
						 
						
							
							
								
								Fix an ambiguous decoding where we failed to properly decode VMOVv2f32 and VMOVv4f32.  
							
							... 
							
							
							
							llvm-svn: 144683 
							
						 
						
							2011-11-15 19:55:00 +00:00  
				
					
						
							
							
								 
						
							
								52823cc91c 
								
							 
						 
						
							
							
								
								build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies.  
							
							... 
							
							
							
							- The hope is that we have a tool/test to verify these are accurate (and tight) soon.
llvm-svn: 144444 
							
						 
						
							2011-11-12 02:10:57 +00:00  
				
					
						
							
							
								 
						
							
								8ca13deecf 
								
							 
						 
						
							
							
								
								Re-apply 144430, this time with the associated isel and disassmbler bits.  
							
							... 
							
							
							
							Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.'
llvm-svn: 144437 
							
						 
						
							2011-11-12 00:31:53 +00:00