llvm-6502/lib/Target/Mips
Toma Tabacu e39f000353 [mips] [IAS] Fix parsing of memory offset expressions with parenthesis depth >1.
Summary:
In an expression such as "(((a+b)+c)+d)", parseParenExpression() would only parse the "a+b)+c", which would result in an error later on in the parser.
This means that we can only parse one level of inner parentheses.

In order to fix this, I added a new function called parseParenExprOfDepth(), which parses a specified number of trailing parenthesis expressions
(except for the outermost parenthesis), and changed MipsAsmParser to use it in parseMemOffset instead of parseParenExpression().

Reviewers: dsanders, rafael

Reviewed By: dsanders, rafael

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9742

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240625 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-25 09:52:02 +00:00
..
AsmParser [mips] [IAS] Fix parsing of memory offset expressions with parenthesis depth >1. 2015-06-25 09:52:02 +00:00
Disassembler [mips] Fix some UB by shifting before sign-extending 2015-06-23 07:28:57 +00:00
InstPrinter MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
MCTargetDesc [mips64] Emit correct addend for some PC-relative relocations 2015-06-23 13:54:42 +00:00
TargetInfo [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6 2015-05-28 13:48:41 +00:00
CMakeLists.txt
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile
MicroMips32r6InstrFormats.td [mips][microMIPS] Implement BREAK, EHB and EI instructions 2015-06-24 10:32:16 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPS] Implement BREAK, EHB and EI instructions 2015-06-24 10:32:16 +00:00
MicroMipsInstrFormats.td
MicroMipsInstrFPU.td [mips] Only use FGR_{32,64} in TableGen descriptions. NFC. 2015-05-08 12:15:04 +00:00
MicroMipsInstrInfo.td [mips][microMIPS] Implement BREAK, EHB and EI instructions 2015-06-24 10:32:16 +00:00
Mips16FrameLowering.cpp [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
Mips16FrameLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16HardFloat.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16HardFloatInfo.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16HardFloatInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16InstrFormats.td
Mips16InstrInfo.cpp [mips] Make sure that we don't adjust the stack pointer by zero amount. 2015-04-02 10:14:54 +00:00
Mips16InstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
Mips16ISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16ISelLowering.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16ISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16RegisterInfo.cpp Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips16RegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips32r6InstrFormats.td [mips][microMIPSr6] Implement initial mapping support 2015-04-20 12:42:08 +00:00
Mips32r6InstrInfo.td [mips][microMIPSr6] Implement BEQZALC, BGEZALC, BGTZALC, BLEZALC, BLTZALC and BNEZALC instructions 2015-05-27 14:19:22 +00:00
Mips64InstrInfo.td Recommit "[mips] [IAS] Add support for BNE and BEQ with an immediate operand." (r239396). 2015-06-11 10:36:10 +00:00
Mips64r6InstrInfo.td
Mips.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsAsmPrinter.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsAsmPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsCallingConv.td Rename the MIPS routine abiUsesSoftFloat -> useSoftFloat to match 2015-05-07 23:10:21 +00:00
MipsCCState.cpp
MipsCCState.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsCondMov.td [mips] Add the SoftFloat MipsSubtarget feature. 2015-05-07 10:29:52 +00:00
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [mips] Do not place users of $ra in the delay slot of call instructions. 2015-05-14 13:17:56 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Use MCSymbols for FastISel. 2015-06-23 12:21:54 +00:00
MipsFrameLowering.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsFrameLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsInstrFormats.td [mips] Add new format for dmtc2/dmfc2 for Octeon CPUs. 2015-05-28 16:23:16 +00:00
MipsInstrFPU.td [mips] Only use FGR_{32,64} in TableGen descriptions. NFC. 2015-05-08 12:15:04 +00:00
MipsInstrInfo.cpp [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC. 2015-06-11 19:30:37 +00:00
MipsInstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsInstrInfo.td [mips][microMIPS] Implement BREAK, EHB and EI instructions 2015-06-24 10:32:16 +00:00
MipsISelDAGToDAG.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsISelLowering.cpp Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
MipsISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsLongBranch.cpp
MipsMachineFunction.cpp [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMachineFunction.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMCInstLower.cpp Use MCSymbols for FastISel. 2015-06-23 12:21:54 +00:00
MipsMCInstLower.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsModuleISelDAGToDAG.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsOptimizePICCall.cpp
MipsOptionRecord.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MipsOs16.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsRegisterInfo.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsRegisterInfo.h [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsRegisterInfo.td [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. 2015-02-23 17:22:16 +00:00
MipsSchedule.td [mips] Add itineraries for ext and ins instructions. 2015-03-18 06:28:38 +00:00
MipsSEFrameLowering.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEFrameLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEInstrInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEInstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEISelDAGToDAG.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelDAGToDAG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEISelLowering.cpp [mips] Correct and improve special-case shuffle instructions. 2015-05-19 12:24:52 +00:00
MipsSEISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSERegisterInfo.cpp [mips] Add support for dynamic stack realignment. 2015-06-02 13:14:46 +00:00
MipsSERegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
MipsSubtarget.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsSubtarget.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsTargetMachine.cpp Clean up redundant copies of Triple objects. NFC 2015-06-16 15:44:21 +00:00
MipsTargetMachine.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsTargetObjectFile.cpp Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only. 2015-05-27 08:44:01 +00:00
MipsTargetObjectFile.h Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only. 2015-05-27 08:44:01 +00:00
MipsTargetStreamer.h [mips] [IAS] Move some function definitions to MipsTargetStreamer.cpp. NFC. 2015-06-23 12:34:19 +00:00
MSA.txt