Go to file
Dylan McKay 4c5a5c8db6 [AVR] Fix a backend bug that left extraneous operands after expansion
This patch fixes a bug in the AVR FRMIDX expansion logic.

The expansion would leave a leftover operand from the original FRMIDX,
but now attached to a MOVWRdRr instruction. The MOVWRdRr instruction
did not expect this operand and so LLVM rejected the machine
instruction.

This would trigger an assertion:

    Assertion failed: ((isImpReg || Op.isRegMask() || MCID->isVariadic() ||
                        OpNo < MCID->getNumOperands() || isMetaDataOp) &&
                        "Trying to add an operand to a machine instr that is already done!"),
    function addOperand, file llvm/lib/CodeGen/MachineInstr.cpp

Tim fixed this so that now the FRMIDX is expanded correctly into
a well-formed MOVWRdRr.

Patch by Tim Neumann

llvm-svn: 346117
2018-11-05 05:49:04 +00:00
clang [analyzer] Restrict AnalyzerOptions' interface so that non-checker objects have to be registered 2018-11-05 03:50:37 +00:00
clang-tools-extra [clangd] don't buffer the input-mirror stream, it's used to diagnose crashes 2018-11-02 23:47:55 +00:00
compiler-rt [XRay] Update TSC math to handle wraparound 2018-11-05 05:43:22 +00:00
debuginfo-tests [debuginfo-tests] commands.getoutput -> subprocess.check_output 2018-11-03 04:52:32 +00:00
libclc Remove redundant OVERRRIDES file 2018-11-04 00:54:46 +00:00
libcxx Fix the test for partition_copy so it is not ridiculously slow. Also, detab. 2018-11-04 17:57:25 +00:00
libcxxabi Use C++11 fallthrough attribute syntax when available and add a break 2018-11-01 18:24:03 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld Handle OUTPUT_FORMAT arguments in quotation marks 2018-11-03 05:25:49 +00:00
lldb [LLDB] Fix FreeBSD/Darwin build 2018-11-04 23:19:25 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [AVR] Fix a backend bug that left extraneous operands after expansion 2018-11-05 05:49:04 +00:00
openmp [OPENMP][OFFLOADING]Change the lambda capturing flags. 2018-11-02 15:24:47 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly Fix clang -Wimplicit-fallthrough warnings across llvm, NFC 2018-11-01 19:54:45 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.