Hi Tom, I've got a few patches that I'd like to get into 3.5.2 if I can. * r230235 - [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. o Fixes a failure in the test-suite when -mno-odd-spreg and -mmsa are used together. * r227089 - [mips] Enable arithmetic and binary operations for the i128 data type. o This fixes an instruction selection failure reported by Android and a Debian package maintainer. * r227087 - [mips] Add tests for bitwise binary and integer arithmetic operators. o Required to make r227089 apply cleanly. * Testcase from r221686 - [mips] Add preliminary support for the MIPS II target. o Only the testcase minus the MIPS-II cases should be merged. o Required to make r227089 apply cleanly. * r226171 - [mips] Fix a typo in the compare patterns for MIPS32r6/MIPS64r6. o Fixes bad code generation in the test-suite for certain option combinations. * r225529 - [mips] Add support for accessing $gp as a named register. o Fixes bad code generation in LLVMLinux * r224425 and r225521 - [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks. o Fixes bad code generation in LLVMLinux o Makes our inline assembly compatible with GCC's. If you're ok with these then I'll start merging them in advance of 3.5.2-rc1. I was considering these too but I decided against them: * r226652 - [Mips][Disassembler]When disassembler meets load/store from coprocessor 2 instructions for mips r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method that properly handles decoding of these instructions. o LLVM 3.5.2 doesn't have any of the test cases it modifies. I could merge the testcases too but I'm not aware of any downstream projects that need this fix. * r227005 - [mips] Fix 'jumpy' debug line info around calls. o The original is fairly safe, but it doesn't apply cleanly and would need some re-work that doesn't look trivial. * r227430 - [Mips][Disassembler] When disassembler meets cache/pref instructions for r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method for R6 CACHE_HINT_DESC class that properly handles decoding of these instructions. o LLVM 3.5.2 doesn't have any of the test cases it modifies. I could merge the testcases too but I'm not aware of any downstream projects that need this fix. Daniel Sanders Leading Software Design Engineer, MIPS Processor IP Imagination Technologies Limited www.imgtec.com<http://www.imgtec.com/> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150304/d1f39200/attachment.html>
On Wed, Mar 04, 2015 at 04:12:25PM +0000, Daniel Sanders wrote:> Hi Tom, > > I've got a few patches that I'd like to get into 3.5.2 if I can. > > * r230235 - [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. > > o Fixes a failure in the test-suite when -mno-odd-spreg and -mmsa are used together. > > * r227089 - [mips] Enable arithmetic and binary operations for the i128 data type. > > o This fixes an instruction selection failure reported by Android and a Debian package maintainer. > > * r227087 - [mips] Add tests for bitwise binary and integer arithmetic operators. > > o Required to make r227089 apply cleanly. > > * Testcase from r221686 - [mips] Add preliminary support for the MIPS II target. > > o Only the testcase minus the MIPS-II cases should be merged. > > o Required to make r227089 apply cleanly. > > * r226171 - [mips] Fix a typo in the compare patterns for MIPS32r6/MIPS64r6. > > o Fixes bad code generation in the test-suite for certain option combinations. > > * r225529 - [mips] Add support for accessing $gp as a named register. > > o Fixes bad code generation in LLVMLinux > > * r224425 and r225521 - [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks. > > o Fixes bad code generation in LLVMLinux > > o Makes our inline assembly compatible with GCC's. > > If you're ok with these then I'll start merging them in advance of 3.5.2-rc1. >These all LGTM, go ahead and merge. Also, you think any of these are critical fixes, it would be good if you could update the release notes too. -Tom> I was considering these too but I decided against them: > > * r226652 - [Mips][Disassembler]When disassembler meets load/store from coprocessor 2 instructions for mips r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method that properly handles decoding of these instructions. > > o LLVM 3.5.2 doesn't have any of the test cases it modifies. I could merge the testcases too but I'm not aware of any downstream projects that need this fix. > > * r227005 - [mips] Fix 'jumpy' debug line info around calls. > > o The original is fairly safe, but it doesn't apply cleanly and would need some re-work that doesn't look trivial. > > * r227430 - [Mips][Disassembler] When disassembler meets cache/pref instructions for r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method for R6 CACHE_HINT_DESC class that properly handles decoding of these instructions. > > o LLVM 3.5.2 doesn't have any of the test cases it modifies. I could merge the testcases too but I'm not aware of any downstream projects that need this fix. > > Daniel Sanders > Leading Software Design Engineer, MIPS Processor IP > Imagination Technologies Limited > www.imgtec.com<http://www.imgtec.com/> >
All merged except for:> * r224425 and r225521 - [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks. > Fixes bad code generation in LLVMLinux > Makes our inline assembly compatible with GCC's.It turns out that these two patches depend on: * r217254 - [mips] Rename data members and member functions in MipsAssemblerOptions. * r217432 - [mips] Add assembler support for .set push/pop directive. Is it ok to merge those two too? ________________________________________ From: Tom Stellard [tom at stellard.net] Sent: 04 March 2015 16:30 To: Daniel Sanders Cc: LLVM Developers Mailing List (llvmdev at cs.uiuc.edu) Subject: Re: Mips patches for LLVM 3.5.2 On Wed, Mar 04, 2015 at 04:12:25PM +0000, Daniel Sanders wrote:> Hi Tom, > > I've got a few patches that I'd like to get into 3.5.2 if I can. > > * r230235 - [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. > > o Fixes a failure in the test-suite when -mno-odd-spreg and -mmsa are used together. > > * r227089 - [mips] Enable arithmetic and binary operations for the i128 data type. > > o This fixes an instruction selection failure reported by Android and a Debian package maintainer. > > * r227087 - [mips] Add tests for bitwise binary and integer arithmetic operators. > > o Required to make r227089 apply cleanly. > > * Testcase from r221686 - [mips] Add preliminary support for the MIPS II target. > > o Only the testcase minus the MIPS-II cases should be merged. > > o Required to make r227089 apply cleanly. > > * r226171 - [mips] Fix a typo in the compare patterns for MIPS32r6/MIPS64r6. > > o Fixes bad code generation in the test-suite for certain option combinations. > > * r225529 - [mips] Add support for accessing $gp as a named register. > > o Fixes bad code generation in LLVMLinux > > * r224425 and r225521 - [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks. > > o Fixes bad code generation in LLVMLinux > > o Makes our inline assembly compatible with GCC's. > > If you're ok with these then I'll start merging them in advance of 3.5.2-rc1. >These all LGTM, go ahead and merge. Also, you think any of these are critical fixes, it would be good if you could update the release notes too. -Tom> I was considering these too but I decided against them: > > * r226652 - [Mips][Disassembler]When disassembler meets load/store from coprocessor 2 instructions for mips r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method that properly handles decoding of these instructions. > > o LLVM 3.5.2 doesn't have any of the test cases it modifies. I could merge the testcases too but I'm not aware of any downstream projects that need this fix. > > * r227005 - [mips] Fix 'jumpy' debug line info around calls. > > o The original is fairly safe, but it doesn't apply cleanly and would need some re-work that doesn't look trivial. > > * r227430 - [Mips][Disassembler] When disassembler meets cache/pref instructions for r6 it crashes as the access to operands array is out of range. This patch adds dedicated decoder method for R6 CACHE_HINT_DESC class that properly handles decoding of these instructions. > > o LLVM 3.5.2 doesn't have any of the test cases it modifies. I could merge the testcases too but I'm not aware of any downstream projects that need this fix. > > Daniel Sanders > Leading Software Design Engineer, MIPS Processor IP > Imagination Technologies Limited > www.imgtec.com<http://www.imgtec.com/> >