1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib
Sanjay Patel 7089a6d8e2 make fast unaligned memory accesses implicit with SSE4.2 or SSE4a
This is a follow-on from the discussion in http://reviews.llvm.org/D12154.

This change allows memset/memcpy to use SSE or AVX memory accesses for any chip that has
generally fast unaligned memory ops.

A motivating use case for this change is a clang invocation that doesn't explicitly set
the CPU, but does target a feature that we know only exists on a CPU that supports fast
unaligned memops. For example:
$ clang -O1 foo.c -mavx

This resolves a difference in lowering noted in PR24449:
https://llvm.org/bugs/show_bug.cgi?id=24449

Before this patch, we used different store types depending on whether the example can be
lowered as a memset or not.

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

llvm-svn: 245950
2015-08-25 16:29:21 +00:00
..
Analysis [WinEH] Require token linkage in EH pad/ret signatures 2015-08-23 00:26:33 +00:00
AsmParser [WinEH] Require token linkage in EH pad/ret signatures 2015-08-23 00:26:33 +00:00
Bitcode [IR] Cleanup EH instructions a little bit 2015-08-23 19:22:31 +00:00
CodeGen Pass function attributes instead of boolean in isIntDivCheap(). 2015-08-25 02:31:21 +00:00
DebugInfo [dwarfdump] Do not apply relocations in mach-o files if there is no LoadedObjectInfo. 2015-08-23 04:44:21 +00:00
ExecutionEngine [RuntimeDyld] Make sure code-sections aren't under-aligned. 2015-08-14 06:26:42 +00:00
Fuzzer Fix missing space in libfuzzer's help text. 2015-08-12 20:00:10 +00:00
IR fix typos; NFC 2015-08-24 23:20:16 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LibDriver There is only one saver of strings. 2015-08-13 01:07:02 +00:00
LineEditor
Linker Linker: Remove empty destructor. 2015-08-21 04:51:24 +00:00
LTO LTO: Simplify merged module ownership. 2015-08-24 22:22:53 +00:00
MC Fix symbol value computation when part of the expression is weak. 2015-08-20 16:18:30 +00:00
Object [MachO] Introduce MinVersion API. 2015-08-25 15:02:23 +00:00
Option Add an ArgList::AddAllArgs that accepts a vector of OptSpecifier. 2015-07-29 17:34:41 +00:00
Passes [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
ProfileData Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Support [ARM] Fix MachO CPU Subtype selection 2015-08-21 21:52:48 +00:00
TableGen TableGen: Support folding casts from bits to int 2015-07-31 01:12:06 +00:00
Target make fast unaligned memory accesses implicit with SSE4.2 or SSE4a 2015-08-25 16:29:21 +00:00
Transforms Convert SampleProfile pass into a Module pass. 2015-08-25 15:25:11 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00