diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-30 17:37:31 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-30 17:37:31 +0000 |
commit | ee2f195dd3e40f49698ca4dc2666ec09c770e80d (patch) | |
tree | 66fa9a69e5789356dfe844991e64bac9222f3a35 /utils | |
parent | ab44ce3d598882e51a25eb82eb7ae6308de85ae6 (diff) |
Notes
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/GlobalISelEmitter.cpp | 2 | ||||
-rw-r--r-- | utils/TableGen/X86FoldTablesEmitter.cpp | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/utils/TableGen/GlobalISelEmitter.cpp b/utils/TableGen/GlobalISelEmitter.cpp index 185119c2ca43f..e0303b7b1ab44 100644 --- a/utils/TableGen/GlobalISelEmitter.cpp +++ b/utils/TableGen/GlobalISelEmitter.cpp @@ -1602,7 +1602,7 @@ Expected<BuildMIAction &> GlobalISelEmitter::createAndImportInstructionRenderer( Error GlobalISelEmitter::importDefaultOperandRenderers( BuildMIAction &DstMIBuilder, DagInit *DefaultOps) const { - for (const auto *DefaultOp : DefaultOps->args()) { + for (const auto *DefaultOp : DefaultOps->getArgs()) { // Look through ValueType operators. if (const DagInit *DefaultDagOp = dyn_cast<DagInit>(DefaultOp)) { if (const DefInit *DefaultDagOperator = diff --git a/utils/TableGen/X86FoldTablesEmitter.cpp b/utils/TableGen/X86FoldTablesEmitter.cpp index f211a8fab9756..99429c5f96a25 100644 --- a/utils/TableGen/X86FoldTablesEmitter.cpp +++ b/utils/TableGen/X86FoldTablesEmitter.cpp @@ -77,7 +77,14 @@ const char *const NoFoldSet[] = { "TCRETURNri64", "TCRETURNmi64", // Special dealing (in X86InstrCompiler.td under "TCRETURNri", // "tailcall stuff" section). - "TCRETURNmi" + "TCRETURNmi", + + // Never fold XCHG, the register and memory forms have different locking + // semantics. + "XCHG8rr", "XCHG8rm", + "XCHG16rr", "XCHG16rm", + "XCHG32rr", "XCHG32rm", + "XCHG64rr", "XCHG64rm", // Different calculations of the folded operand between // memory and register forms (folding is illegal). |