- Oct 15, 2013
-
-
Anders Waldenborg authored
This new library will be linked in when using the "all-targets" component and contains the LLVMInitializeAll* functions. This means that those functions will exist as real symbols in the shared library, and can therefore can be called from bindings that are using ffi the shared library. llvm-svn: 192690
-
Richard Sandiford authored
llvm-svn: 192681
-
Job Noorman authored
llvm-svn: 192678
-
Craig Topper authored
Remove x86_sse42_crc32_64_8 intrinsic. It has no functional difference from x86_sse42_crc32_32_8 and was not mapped to a clang builtin. I'm not even sure why this form of the instruction is even called out explicitly in the docs. Also add AutoUpgrade support to convert it into the other intrinsic with appropriate trunc and zext. llvm-svn: 192672
-
Akira Hatanaka authored
parts of the accumulators and gets expanded post-RA. llvm-svn: 192667
-
Akira Hatanaka authored
of relying on AddedComplexity. llvm-svn: 192665
-
Akira Hatanaka authored
llvm-svn: 192663
-
Akira Hatanaka authored
llvm-svn: 192662
-
Akira Hatanaka authored
llvm-svn: 192661
-
Akira Hatanaka authored
llvm-svn: 192660
-
Quentin Colombet authored
through bitcast, ptrtoint, and inttoptr instructions. This is valid only if the related instructions are in that same basic block, otherwise we may reference variables that were not live accross basic blocks resulting in undefined virtual registers. The bug was exposed when both SDISel and FastISel were used within the same function, i.e., one basic block is issued with FastISel and another with SDISel, as demonstrated with the testcase. <rdar://problem/15192473> llvm-svn: 192636
-
Andrew Trick authored
This pass is needed to break false dependencies. Without it, unlucky register assignment can result in wild (5x) swings in performance. This pass was trying to handle AVX but not getting it right. AVX doesn't have partial register defs, it has unused register reads in which the high bits of a source operand are copied into the unused bits of the dest. Fixing this requires conservative liveness analysis. This is awkard because the pass already has its own pseudo-liveness. However, proper liveness is expensive, and we would like to use a generic utility to compute it. The fix only invokes liveness on-demand. It is rare to detect a case that needs undef-read dependence breaking, but when it happens, it can be needed many times within a very large block. I think the existing heuristic which uses a register window of 16 is too conservative for loop-carried false dependencies. If the loop is a reduction. The out-of-order engine may be able to execute several loop iterations in parallel. However, I'll leave this tuning exercise for next time. llvm-svn: 192635
-
Andrew Trick authored
llvm-svn: 192633
-
- Oct 14, 2013
-
-
Eric Christopher authored
a) x86-64 TLS has been documented b) the code path should use movq for the correct relocation to be generated. I've also added a fixme for the test case that we should improve the code generated, it should look something like is documented in the tls abi document. llvm-svn: 192631
-
Eric Christopher authored
llvm-svn: 192630
-
Eric Christopher authored
llvm-svn: 192629
-
Chad Rosier authored
llvm-svn: 192596
-
Bernard Ogden authored
llvm-svn: 192591
-
Bernard Ogden authored
Some previous implicit defaults have changed, for example FP and NEON are now on by default. llvm-svn: 192590
-
Matheus Almeida authored
List of instructions: bclri.{b,h,w,d} binsli.{b,h,w,d} binsri.{b,h,w,d} bnegi.{b,h,w,d} bseti.{b,h,w,d} sat_s.{b,h,w,d} sat_u.{b,h,w,d} slli.{b,h,w,d} srai.{b,h,w,d} srari.{b,h,w,d} srli.{b,h,w,d} srlri.{b,h,w,d} llvm-svn: 192589
-
Matheus Almeida authored
List of instructions: and.v, bmnz.v, bmz.v, bsel.v, nor.v, or.v, xor.v. llvm-svn: 192588
-
Matheus Almeida authored
llvm-svn: 192587
-
Matheus Almeida authored
List of instructions: copy_s.{b,h,w} copy_u.{b,h,w} sldi.{b,h,w,d} splati.{b,h,w,d} llvm-svn: 192586
-
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: 192582
-
Elena Demikhovsky authored
The alignment of allocated space was wrong, see Bugzila 17345. Done by Zvi Rackover <zvi.rackover@intel.com>. llvm-svn: 192573
-
Craig Topper authored
llvm-svn: 192568
-
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
-
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
-
- 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
-
- Oct 12, 2013
-
-
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
-