llvm-project/llvm/lib
Dimitry Andric 6a482a73d6 Only attempt to detect AVG if SSE2 is available
Summary:
In PR29973 Sanjay Patel reported an assertion failure when a certain
loop was optimized, for a target without SSE2 support.  It turned out
this was because of the AVG pattern detection introduced in rL253952.

Prevent the assertion failure by bailing out early in
`detectAVGPattern()`, if the target does not support SSE2.

Also add a minimized test case.

Reviewers: congh, eli.friedman, spatel

Subscribers: emaste, llvm-commits

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

llvm-svn: 271548
2016-06-02 17:30:49 +00:00
..
Analysis Inline isDereferenceableFromAttribute; NFC 2016-06-02 00:52:53 +00:00
AsmParser IR: Allow multiple global metadata attachments with the same type. 2016-06-01 01:17:57 +00:00
Bitcode IR: Allow multiple global metadata attachments with the same type. 2016-06-01 01:17:57 +00:00
CodeGen [CodeView] Implement function-type indices 2016-06-02 17:13:53 +00:00
DebugInfo [pdb] Parse and dump section map and section contribs 2016-06-02 05:07:49 +00:00
ExecutionEngine [Orc] Add conversion to/from RuntimeDyld::SymbolInfo for JITSymbol. 2016-05-31 23:14:26 +00:00
Fuzzer [LibFuzzer] Disable compiling and running the LibFuzzer dataflow sanitizer tests on Apple platforms. 2016-06-02 05:48:09 +00:00
IR [X86][SSE] Replace (V)CVTTPS2DQ and VCVTTPD2DQ truncating (round to zero) f32/f64 to i32 with generic IR (llvm) 2016-06-02 10:55:21 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO [ThinLTO] Resolve LinkOnceAny 2016-05-26 14:16:52 +00:00
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
MC Ignore Lexing errors in macro body definitions 2016-06-02 17:15:05 +00:00
Object [COFF] Expose the PE debug data directory and dump it 2016-06-02 17:10:43 +00:00
ObjectYAML [COFF] Expose the PE debug data directory and dump it 2016-06-02 17:10:43 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes [MemorySSA] Port to new pass manager 2016-06-01 21:30:40 +00:00
ProfileData Change llvm-objdump, llvm-nm and llvm-size when reporting an object file error 2016-05-31 20:35:34 +00:00
Support Remove all of the legacy home-grown atomic operations LLVM provided 2016-06-02 17:11:11 +00:00
TableGen [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Target Only attempt to detect AVG if SSE2 is available 2016-06-02 17:30:49 +00:00
Transforms [esan|cfrag] Create the cfrag struct array for the runtime 2016-06-02 17:30:47 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00