Krzysztof Parzyszek
							
						 
						
							 
							
							
							
							
								
							
							
								e737b86f8c 
								
							 
						 
						
							
							
								
								[Hexagon] Handle double-vector registers as new-value producers  
							
							 
							
							... 
							
							
							
							Patch by Colin LeMahieu.
llvm-svn: 267897 
							
						 
						
							2016-04-28 15:54:48 +00:00  
						
					 
				
					
						
							
							
								 
								Krzysztof Parzyszek
							
						 
						
							 
							
							
							
							
								
							
							
								c6f1e1a709 
								
							 
						 
						
							
							
								
								[Hexagon] Properly encode registers in duplex instructions  
							
							 
							
							... 
							
							
							
							llvm-svn: 263980 
							
						 
						
							2016-03-21 20:13:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chad Rosier
							
						 
						
							 
							
							
							
							
								
							
							
								c00ab4f27d 
								
							 
						 
						
							
							
								
								[Hexagon] Remove redundant check.  
							
							 
							
							... 
							
							
							
							llvm-svn: 261232 
							
						 
						
							2016-02-18 17:49:57 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								ecef1d9cbc 
								
							 
						 
						
							
							
								
								[Hexagon] Adding relocation for code size, cold path optimization allowing a 23-bit 4-byte aligned relocation to be a valid instruction encoding.  
							
							 
							
							... 
							
							
							
							The usual way to get a 32-bit relocation is to use a constant extender which doubles the size of the instruction, 4 bytes to 8 bytes.
Another way is to put a .word32 and mix code and data within a function.  The disadvantage is it's not a valid instruction encoding and jumping over it causes prefetch stalls inside the hardware.
This relocation packs a 23-bit value in to an "r0 = add(rX, #a)" instruction by overwriting the source register bits.  Since r0 is the return value register, if this instruction is placed after a function call which return void, r0 will be filled with an undefined value, the prefetch won't be confused, and the callee can access the constant value by way of the link register.
llvm-svn: 261006 
							
						 
						
							2016-02-16 20:38:17 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								98c8e070b9 
								
							 
						 
						
							
							
								
								[Hexagon] Wrapping all MCExprs inside MCOperands within HexagonMCExpr to simplify handling and allow flags on the expression.  
							
							 
							
							... 
							
							
							
							llvm-svn: 260902 
							
						 
						
							2016-02-15 18:42:07 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								0e05192d49 
								
							 
						 
						
							
							
								
								[MC] Merge VK_PPC_TPREL in to generic VK_TPREL.  
							
							 
							
							... 
							
							
							
							Differential Revision: http://reviews.llvm.org/D17038 
llvm-svn: 260401 
							
						 
						
							2016-02-10 18:32:01 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								1c79d9be6e 
								
							 
						 
						
							
							
								
								[Hexagon] Fixing relocation generation and adding tests.  
							
							 
							
							... 
							
							
							
							llvm-svn: 260259 
							
						 
						
							2016-02-09 19:18:02 +00:00  
						
					 
				
					
						
							
							
								 
								Krzysztof Parzyszek
							
						 
						
							 
							
							
							
							
								
							
							
								bc17b68a47 
								
							 
						 
						
							
							
								
								[Hexagon] Add check for nullptr in getFixupNoBits  
							
							 
							
							... 
							
							
							
							llvm-svn: 257338 
							
						 
						
							2016-01-11 15:51:53 +00:00  
						
					 
				
					
						
							
							
								 
								Craig Topper
							
						 
						
							 
							
							
							
							
								
							
							
								e5e035a3a8 
								
							 
						 
						
							
							
								
								Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef.  
							
							 
							
							... 
							
							
							
							llvm-svn: 254843 
							
						 
						
							2015-12-05 07:13:35 +00:00  
						
					 
				
					
						
							
							
								 
								Tilmann Scheller
							
						 
						
							 
							
							
							
							
								
							
							
								bfd7ce01ea 
								
							 
						 
						
							
							
								
								[Hexagon] Remove redundant local variable.  
							
							 
							
							... 
							
							
							
							Identified by the Clang static analyzer.
llvm-svn: 253660 
							
						 
						
							2015-11-20 12:10:17 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								13cc3ab785 
								
							 
						 
						
							
							
								
								[Hexagon] Fixing compound register printing and reenabling more tests.  
							
							 
							
							... 
							
							
							
							llvm-svn: 252574 
							
						 
						
							2015-11-10 00:51:56 +00:00  
						
					 
				
					
						
							
							
								 
								Alexander Kornienko
							
						 
						
							 
							
							
							
							
								
							
							
								f00654e31b 
								
							 
						 
						
							
							
								
								Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)  
							
							 
							
							... 
							
							
							
							Apparently, the style needs to be agreed upon first.
llvm-svn: 240390 
							
						 
						
							2015-06-23 09:49:53 +00:00  
						
					 
				
					
						
							
							
								 
								Alexander Kornienko
							
						 
						
							 
							
							
							
							
								
							
							
								70bc5f1398 
								
							 
						 
						
							
							
								
								Fixed/added namespace ending comments using clang-tidy. NFC  
							
							 
							
							... 
							
							
							
							The patch is generated using this command:
tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \
  -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \
  llvm/lib/
Thanks to Eugene Kosov for the original patch!
llvm-svn: 240137 
							
						 
						
							2015-06-19 15:57:42 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								a071a8e5b6 
								
							 
						 
						
							
							
								
								[Hexagon] PC-relative offsets are relative to packet start rather than the offset of the relocation.  Set relocation addend and check it's correct in the ELF.  
							
							 
							
							... 
							
							
							
							llvm-svn: 239769 
							
						 
						
							2015-06-15 21:52:13 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								be8c453d58 
								
							 
						 
						
							
							
								
								[Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 239161 
							
						 
						
							2015-06-05 16:00:11 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								c40be85adc 
								
							 
						 
						
							
							
								
								Revert r239095 incorrect test tree.  
							
							 
							
							... 
							
							
							
							llvm-svn: 239102 
							
						 
						
							2015-06-04 21:32:42 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								fc52c11d80 
								
							 
						 
						
							
							
								
								[Hexagon] Adding functionality for duplexing.  Duplexing is a way to compress commonly used pairs of instructions in order to reduce code size.  The test case duplex.ll normally would be 8 bytes, assign register to 0 and jump to link register.  After duplexing this is only 4 bytes.  This also tests the HexagonMCShuffler code path which is used to make sure duplexed instructions still follow slot requirements.  
							
							 
							
							... 
							
							
							
							llvm-svn: 239095 
							
						 
						
							2015-06-04 21:16:16 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								50e2a29385 
								
							 
						 
						
							
							
								
								Replace custom fixed endian to raw_ostream emission with EndianStream.  
							
							 
							
							... 
							
							
							
							Less code, clearer and more efficient. No functionality change intended.
llvm-svn: 239040 
							
						 
						
							2015-06-04 15:03:02 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								13760bd152 
								
							 
						 
						
							
							
								
								MC: Clean up MCExpr naming. NFC.  
							
							 
							
							... 
							
							
							
							llvm-svn: 238634 
							
						 
						
							2015-05-30 01:25:56 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								68d967d92e 
								
							 
						 
						
							
							
								
								[Hexagon] Disassembling, printing, and emitting instructions a whole-bundle at a time which is the semantic unit for Hexagon.  Fixing tests to use the new format.  Disabling tests in the direct object emission path for a followup patch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 238556 
							
						 
						
							2015-05-29 14:44:13 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								91df21f740 
								
							 
						 
						
							
							
								
								MC: Update MCCodeEmitter naming. NFC.  
							
							 
							
							... 
							
							
							
							s/EncodeInstruction/encodeInstruction/
llvm-svn: 237469 
							
						 
						
							2015-05-15 19:13:16 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								63661f8d73 
								
							 
						 
						
							
							
								
								MC: Update MCFixup naming. NFC.  
							
							 
							
							... 
							
							
							
							s/MCFixup::Create/MCFixup::create/
llvm-svn: 237468 
							
						 
						
							2015-05-15 19:13:05 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								6efd273a61 
								
							 
						 
						
							
							
								
								[Hexagon] Removing variable unused in release.  
							
							 
							
							... 
							
							
							
							llvm-svn: 236351 
							
						 
						
							2015-05-01 21:30:22 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								b662565475 
								
							 
						 
						
							
							
								
								[Hexagon] Adding expression MC emission and removing XFAIL from test that hits this code path.  
							
							 
							
							... 
							
							
							
							llvm-svn: 236348 
							
						 
						
							2015-05-01 21:14:21 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								0169e42c3b 
								
							 
						 
						
							
							
								
								Remove the use of the subtarget in MCCodeEmitter creation and  
							
							 
							
							... 
							
							
							
							update all ports accordingly. Required a couple of small rewrites
in handling subtarget features during creation in PPC.
llvm-svn: 231861 
							
						 
						
							2015-03-10 22:03:14 +00:00  
						
					 
				
					
						
							
							
								 
								NAKAMURA Takumi
							
						 
						
							 
							
							
							
							
								
							
							
								3d61760bd6 
								
							 
						 
						
							
							
								
								Fix a warning on HexagonMCCodeEmitter::MCII. [-Wunused-private-field]  
							
							 
							
							... 
							
							
							
							llvm-svn: 230170 
							
						 
						
							2015-02-22 09:58:29 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								1174fea31c 
								
							 
						 
						
							
							
								
								[Hexagon] Moving remaining methods off of HexagonMCInst in to HexagonMCInstrInfo and eliminating HexagonMCInst class.  
							
							 
							
							... 
							
							
							
							llvm-svn: 229914 
							
						 
						
							2015-02-19 21:10:50 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								af304e5192 
								
							 
						 
						
							
							
								
								[Hexagon] Creating HexagonMCInstrInfo namespace as landing zone for static functions detached from HexagonMCInst.  
							
							 
							
							... 
							
							
							
							llvm-svn: 229885 
							
						 
						
							2015-02-19 19:00:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								d9903888d9 
								
							 
						 
						
							
							
								
								[cleanup] Re-sort all the #include lines in LLVM using  
							
							 
							
							... 
							
							
							
							utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This
even uncovered a missing include from the InstrProf library that I've
added. No functionality changed here, just mechanical cleanup of the
include order.
llvm-svn: 225974 
							
						 
						
							2015-01-14 11:23:27 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								5691eb5ee7 
								
							 
						 
						
							
							
								
								Reverting 225045 and 225043 and XFAIL multiline.ll on hexagon  
							
							 
							
							... 
							
							
							
							llvm-svn: 225047 
							
						 
						
							2014-12-31 17:14:35 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								79e8ebada2 
								
							 
						 
						
							
							
								
								[Hexagon] Removing assertion to appease buildbot until I can reproduce the problem  
							
							 
							
							... 
							
							
							
							llvm-svn: 225045 
							
						 
						
							2014-12-31 16:20:00 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								94272611ac 
								
							 
						 
						
							
							
								
								[Hexagon] Changing an llvm_unreachable to an assertion and returning 0.  Relocations aren't implemented yet but we don't need to abort for this in release builds.  
							
							 
							
							... 
							
							
							
							llvm-svn: 225043 
							
						 
						
							2014-12-31 15:57:38 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								5241881bbc 
								
							 
						 
						
							
							
								
								[Hexagon] Reverting 220584 to address ASAN errors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 221210 
							
						 
						
							2014-11-04 00:14:36 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								838307b31f 
								
							 
						 
						
							
							
								
								[Hexagon] Resubmission of 220427  
							
							 
							
							... 
							
							
							
							Modified library structure to deal with circular dependency between HexagonInstPrinter and HexagonMCInst.
Adding encoding bits for add opcode.
Adding llvm-mc tests.
Removing unit tests.
http://reviews.llvm.org/D5624 
llvm-svn: 220584 
							
						 
						
							2014-10-24 19:00:32 +00:00  
						
					 
				
					
						
							
							
								 
								NAKAMURA Takumi
							
						 
						
							 
							
							
							
							
								
							
							
								504bbf91cd 
								
							 
						 
						
							
							
								
								Revert r220427, "[Hexagon] Adding encoding bits for add opcode."  
							
							 
							
							... 
							
							
							
							It brought cyclic dependecy between HexagonAsmPrinter and HexagonDesc.
llvm-svn: 220478 
							
						 
						
							2014-10-23 11:31:22 +00:00  
						
					 
				
					
						
							
							
								 
								Colin LeMahieu
							
						 
						
							 
							
							
							
							
								
							
							
								73a51a1a68 
								
							 
						 
						
							
							
								
								[Hexagon] Adding encoding bits for add opcode.  
							
							 
							
							... 
							
							
							
							Adding llvm-mc tests.
Removing unit tests.
http://reviews.llvm.org/D5624 
llvm-svn: 220427 
							
						 
						
							2014-10-22 20:58:35 +00:00  
						
					 
				
					
						
							
							
								 
								NAKAMURA Takumi
							
						 
						
							 
							
							
							
							
								
							
							
								2a295fd337 
								
							 
						 
						
							
							
								
								HexagonMCCodeEmitter.cpp: Prune 2nd redundant \brief. [-Wdocumentation]  
							
							 
							
							... 
							
							
							
							llvm-svn: 219073 
							
						 
						
							2014-10-05 04:54:54 +00:00  
						
					 
				
					
						
							
							
								 
								Sid Manning
							
						 
						
							 
							
							
							
							
								
							
							
								7da3f9acba 
								
							 
						 
						
							
							
								
								Adding skeleton for unit testing Hexagon Code Emission  
							
							 
							
							... 
							
							
							
							Adding and modifying CMakeLists.txt files to run unit tests under
unittests/Target/* if the directory exists.  Adding basic unit test to check
that code emitter object can be retrieved.
Differential Revision: http://reviews.llvm.org/D5523 
Change by: Colin LeMahieu
llvm-svn: 218986 
							
						 
						
							2014-10-03 13:18:11 +00:00