[LLVMdev] Mips patches for LLVM 3.5.2

Tom Stellard tom at stellard.net
Fri Mar 6 08:02:31 PST 2015


On Fri, Mar 06, 2015 at 03:34:55PM +0000, Daniel Sanders wrote:
> 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?

Sure, LGTM.

-Tom

> 
> ________________________________________
> 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/>
> >



More information about the llvm-dev mailing list