1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib
Daniel Sanders 6ec0cf9dc8 [mips][microMIPS] Fix an issue with selecting sqrt instruction in LLVM backend
Summary:
This fixes 7 tests during fast LLVM test-suite run:
* MultiSource/Benchmarks/McCat/18-imp/imp
* MultiSource/Applications/oggenc/oggenc
* MultiSource/Benchmarks/MallocBench/gs/gs
* MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan
* MultiSource/Benchmarks/VersaBench/beamformer/beamformer
* MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame
* MultiSource/Benchmarks/Bullet/bullet

Error message was in the form of:
fatal error: error in backend: Cannot select: 0x95c3288: f32 = fsqrt 0x95c0190 [ORD=9] [ID=18]
  0x95c0190: f32 = fadd 0x95bef30, 0x95c4d00 [ORD=8] [ID=17]
    0x95bef30: f32 = fmul 0x95c4988, 0x95c4988 [ORD=5] [ID=16]
...

There was problem with selecting sqrt instruction in LLVM backend.

To fix the issue changes are made in TableGen definition for sqrt instruction in MipsInstrFPU.td and new test file sqrt.ll is added to LLVM regression tests.

Patch by Zlatko Buljan

Reviewers: zoran.jovanovic, hvarga, dsanders

Subscribers: llvm-commits, petarj

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

llvm-svn: 249416
2015-10-06 15:17:25 +00:00
..
Analysis Try to appease MSVC, NFCI. 2015-10-03 00:34:19 +00:00
AsmParser HHVM calling conventions. 2015-09-29 22:09:16 +00:00
Bitcode Make sure the CastInst is valid before trying to create it 2015-10-06 12:37:54 +00:00
CodeGen [TwoAddressInstructionPass] When looking for a 3 addr conversion after commuting, make sure regB has been updated to take into account the commute. 2015-10-06 05:39:59 +00:00
DebugInfo Use makeArrayRef or None to avoid unnecessarily mentioning the ArrayRef type extra times. NFC 2015-09-21 05:32:41 +00:00
ExecutionEngine Fix performance problem in long-running SectionMemoryManagers 2015-10-01 02:45:07 +00:00
Fuzzer [libFuzzer] trying to fix at-exit hang 2015-10-03 07:02:05 +00:00
IR Simplify code. No functionality change. 2015-10-05 18:53:30 +00:00
IRReader
LibDriver There is only one saver of strings. 2015-08-13 01:07:02 +00:00
LineEditor
Linker [opaque pointer types] Switch a few cases of getElementType over, since I had them lying around anyway 2015-09-14 20:29:26 +00:00
LTO Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
MC Fix pr24486. 2015-10-05 12:07:05 +00:00
Object Support for function summary index bitcode sections and files. 2015-10-04 14:33:43 +00:00
Option Add an ArgList::AddAllArgs that accepts a vector of OptSpecifier. 2015-07-29 17:34:41 +00:00
Passes [PM] Port SROA to the new pass manager. 2015-09-12 09:09:14 +00:00
ProfileData Remove AutoFDO profile handling for GCC's LIPO. NFC. 2015-10-05 21:08:05 +00:00
Support [Support] Add a version of fs::make_absolute with a custom CWD. 2015-10-05 13:02:43 +00:00
TableGen TableGen: Support folding casts from bits to int 2015-07-31 01:12:06 +00:00
Target [mips][microMIPS] Fix an issue with selecting sqrt instruction in LLVM backend 2015-10-06 15:17:25 +00:00
Transforms [EarlyCSE] Constify ParseMemoryInst methods (NFC). 2015-10-06 13:35:30 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile