mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	(store (op (load ...)), ...)
If store's chain operand is load, then use load's chain operand instead. If it isn't (likely a TokenFactor), then do not allow the folding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25708 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -1931,9 +1931,16 @@ public: | |||||||
|              << ".getValue(" << CInfo.getNumResults() << "))) goto P" |              << ".getValue(" << CInfo.getNumResults() << "))) goto P" | ||||||
|              << PatternNo << "Fail;   // Already selected for a chain use?\n"; |              << PatternNo << "Fail;   // Already selected for a chain use?\n"; | ||||||
|       } |       } | ||||||
|       if (NodeHasChain && !FoundChain) { |       if (NodeHasChain) { | ||||||
|         OS << "      SDOperand Chain = " << RootName << ".getOperand(0);\n"; |         if (!FoundChain) { | ||||||
|         FoundChain = true; |           OS << "      SDOperand Chain = " << RootName << ".getOperand(0);\n"; | ||||||
|  |           FoundChain = true; | ||||||
|  |         } else { | ||||||
|  |           OS << "      if (Chain.Val == " << RootName << ".Val)\n"; | ||||||
|  |           OS << "        Chain = " << RootName << ".getOperand(0);\n"; | ||||||
|  |           OS << "      else\n"; | ||||||
|  |           OS << "        goto P" << PatternNo << "Fail;\n"; | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user