mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-22 10:33:23 +00:00
69359ed45b
over each node in the worklist prior to combining. This allows the combiner to produce new nodes which need to go back through legalization. This is particularly useful when generating operands to target specific nodes in a post-legalize DAG combine where the operands are significantly easier to express as pre-legalized operations. My immediate use case will be PSHUFB formation where we need to build a constant shuffle mask with a build_vector node. This also refactors the relevant functionality in the legalizer to support this, and updates relevant tests. I've spoken to the R600 folks and these changes look like improvements to them. The avx512 change needs to be investigated, I suspect there is a disagreement between the legalizer and the DAG combiner there, but it seems a minor issue so leaving it to be re-evaluated after this patch. Differential Revision: http://reviews.llvm.org/D4564 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214020 91177308-0d34-0410-b5e6-96231b3b80d8
+==============================================================================+ | How to organize the lit tests | +==============================================================================+ - If you write a test for matching a single DAG opcode or intrinsic, it should go in a file called {opcode_name,intrinsic_name}.ll (e.g. fadd.ll) - If you write a test that matches several DAG opcodes and checks for a single ISA instruction, then that test should go in a file called {ISA_name}.ll (e.g. bfi_int.ll - For all other tests, use your best judgement for organizing tests and naming the files. +==============================================================================+ | Naming conventions | +==============================================================================+ - Use dash '-' and not underscore '_' to separate words in file names, unless the file is named after a DAG opcode or ISA instruction that has an underscore '_' in its name.