- Oct 14, 2013
-
-
Craig Topper authored
Allow pinsrw/pinsrb/pextrb/pextrw/movmskps/movmskpd/pmovmskb/extractps instructions to parse either GR32 or GR64 without resorting to duplicating instructions. llvm-svn: 192567
-
Craig Topper authored
Add disassembler support for SSE4.1 register/register form of PEXTRW. There is a shorter encoding that was part of SSE2, but a memory form was added in SSE4.1. This is the register form of that encoding. llvm-svn: 192566
-
Craig Topper authored
Mark MOVMSKPS/MOVMSKPD/VPINSRWrr64i as AsmParserOnly to remove them from the disassembler tables. Add PINSRWrr64i to complement the AVX version. llvm-svn: 192565
-
David Majnemer authored
llvm-svn: 192564
-
Craig Topper authored
Don't use 64-bit versions of MOVMSKPD in CodeGen. The instructions only produce a 1-bit result so we can just use SUBREG_TO_REG to extend the 32-bit versions. llvm-svn: 192562
-
David Majnemer authored
We don't delay load it so it shouldn't be going anywhere. llvm-svn: 192561
-
Will Dietz authored
This can happen when processing command line arguments, which are often stored as std::string's and later turned into StringRef's via std::string::data(). Unfortunately this is not guaranteed to return a null-terminated string until C++11, causing breakage on platforms that don't do this. llvm-svn: 192558
-
- Oct 13, 2013
-
-
Vincent Lejeune authored
llvm-svn: 192557
-
Vincent Lejeune authored
llvm-svn: 192556
-
Vincent Lejeune authored
llvm-svn: 192555
-
Vincent Lejeune authored
llvm-svn: 192554
-
Vincent Lejeune authored
llvm-svn: 192553
-
Vincent Lejeune authored
It makes apparently no change it to set this bit or not but the docs recommand to left it cleared. llvm-svn: 192552
-
David Majnemer authored
We were using an anti-pattern of: - LoadLibrary - GetProcAddress - FreeLibrary This is problematic because of several reasons: - We are holding on to pointers into a library we just unloaded. - Calling LoadLibrary results in an increase in the reference count of the library in question and any libraries that it depends on and so-on and so-forth. This is none too quick. Instead, use GetModuleHandleEx with GET_MODULE_HANDLE_EX_FLAG_PIN. This is done because because we didn't bring the reference for the library into existence and therefor shouldn't count on it being around later. llvm-svn: 192550
-
Will Dietz authored
(This is triggered by current lit tests) llvm-svn: 192549
-
- Oct 12, 2013
-
-
Arnold Schwaighofer authored
Before this patch we relied on the order of phi nodes when we looked for phi nodes of the same type. This could prevent vectorization of cases where there was a phi node of a second type in between phi nodes of some type. This is important for vectorization of an internal graphics kernel. On the test suite + external on x86_64 (and on a run on armv7s) it showed no impact on either performance or compile time. radar://15024459 llvm-svn: 192537
-
Tobias Grosser authored
Contributed-by:
Peter Zotov <whitequark@whitequark.org> llvm-svn: 192536
-
Craig Topper authored
llvm-svn: 192525
-
Tom Stellard authored
Patch by: Jay Cornwall Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 192523
-
Craig Topper authored
llvm-svn: 192522
-
Reed Kotler authored
they can be better handled and optimized in the Mips16 constant island code. llvm-svn: 192520
-
Will Dietz authored
llvm-svn: 192519
-
Manman Ren authored
The form must be a reference form in addDIEEntry. Which reference form to use will be decided by the callee. No functionality change. llvm-svn: 192517
-
- Oct 11, 2013
-
-
Andrew Kaylor authored
llvm-svn: 192504
-
Matt Arsenault authored
llvm-svn: 192499
-
Benjamin Kramer authored
llvm-svn: 192492
-
Benjamin Kramer authored
llvm-svn: 192487
-
Benjamin Kramer authored
This doesn't change the meaning of the output, but makes look right. PR17539. llvm-svn: 192483
-
Matthias Braun authored
When if converting something like: true: ... = R0<kill> false: ... = R0<kill> then the instructions of the true block must not have a <kill> flag anymore, as the instruction of the false block follow and do still read the R0 value. Specifically this patch determines the set of register live-in in the false block (possibly after simulating the liveness changes of the duplicated instructions). Each of these live-in registers mustn't be killed. llvm-svn: 192482
-
Quentin Colombet authored
This should fix the buildbots. Original commit message: [DAGCombiner] Slice a big load in two loads when the element are next to each other in memory and the target has paired load and performs post-isel loads combining. E.g., this optimization will transform something like this: a = load i64* addr b = trunc i64 a to i32 c = lshr i64 a, 32 d = trunc i64 c to i32 into: b = load i32* addr1 d = load i32* addr2 Where addr1 = addr2 +/- sizeof(i32), if the target supports paired load and performs post-isel loads combining. One should overload TargetLowering::hasPairedLoad to provide this information. The default is false. <rdar://problem/14477220> llvm-svn: 192476
-
Quentin Colombet authored
llvm-svn: 192474
-
Quentin Colombet authored
other in memory and the target has paired load and performs post-isel loads combining. E.g., this optimization will transform something like this: a = load i64* addr b = trunc i64 a to i32 c = lshr i64 a, 32 d = trunc i64 c to i32 into: b = load i32* addr1 d = load i32* addr2 Where addr1 = addr2 +/- sizeof(i32), if the target supports paired load and performs post-isel loads combining. One should overload TargetLowering::hasPairedLoad to provide this information. The default is false. <rdar://problem/14477220> llvm-svn: 192471
-
Renato Golin authored
llvm-svn: 192460
-
Amara Emerson authored
llvm-svn: 192458
-
Matthias Braun authored
llvm-svn: 192455
-
Matheus Almeida authored
llvm-svn: 192451
-
Matheus Almeida authored
llvm-svn: 192450
-
Matheus Almeida authored
llvm-svn: 192449
-
Matheus Almeida authored
INSERT is the first type of MSA instruction that requires a change to the way MSA registers are parsed. This happens because MSA registers may be suffixed by an index in the form of an immediate or a general purpose register. The changes to parseMSARegs reflect that requirement. llvm-svn: 192447
-
Justin Holewinski authored
[NVPTX] Switch from StrongPHIElimination to PHIElimination in NVPTXTargetMachine, and add some missing optimization passes to addOptimizedRegAlloc Fixes PR17529 llvm-svn: 192445
-