- Aug 27, 2012
-
-
Craig Topper authored
Add HasAVX1Only predicate and use it for patterns that have an AVX1 instruction and an AVX2 instruction rather than relying on AddedComplexity. llvm-svn: 162654
-
- Aug 25, 2012
-
-
Richard Smith authored
Reviewed offline by chandlerc. llvm-svn: 162623
-
Jakob Stoklund Olesen authored
llvm-svn: 162622
-
- Aug 24, 2012
-
-
Jakob Stoklund Olesen authored
There is special magic happening when returning floating point values on the x87 stack. The RET instructions get extra f80 operands. llvm-svn: 162592
-
Jakob Stoklund Olesen authored
llvm-svn: 162556
-
Craig Topper authored
llvm-svn: 162534
-
Jakob Stoklund Olesen authored
They were inserted to silence TableGen's warning about redundant properties. That warning is now gone. llvm-svn: 162517
-
Jakob Stoklund Olesen authored
llvm-svn: 162514
-
Jakob Stoklund Olesen authored
No test case, this is a generalization of r160260. llvm-svn: 162485
-
- Aug 23, 2012
-
-
Craig Topper authored
llvm-svn: 162454
-
Craig Topper authored
llvm-svn: 162428
-
- Aug 22, 2012
-
-
Chad Rosier authored
Assertion failed: (Start.isValid() == End.isValid() && "Start and end should either both be valid or both be invalid!") when parsing inline asm. SMLoc assumes that the first char * in the source is invalid. However, when parsing an inline asm the mnemonic is at this location. I don't want to change SMLoc, so use a trivial workaround. llvm-svn: 162381
-
Craig Topper authored
Add a getName function to MachineFunction. Use it in places that previously did getFunction()->getName(). Remove includes of Function.h that are no longer needed. llvm-svn: 162347
-
Craig Topper authored
Don't cache the MBB in the class. Its only used by one function. Change a for loop over operands to use unsigned instead of int. llvm-svn: 162344
-
Craig Topper authored
llvm-svn: 162342
-
- Aug 21, 2012
-
-
Richard Smith authored
no cost to using memcpy here: the fixed code is optimized by LLVM to perfect machine code. llvm-svn: 162311
-
Chad Rosier authored
llvm-svn: 162306
-
Chad Rosier authored
this is the index of the operand that failed to match. Note: This may cause a buildbot failure due to an API mismatch in clang. Should recover with my next commit to clang. llvm-svn: 162295
-
Craig Topper authored
llvm-svn: 162270
-
Craig Topper authored
llvm-svn: 162267
-
Craig Topper authored
llvm-svn: 162264
-
Craig Topper authored
llvm-svn: 162263
-
Craig Topper authored
Replace a break with llvm_unreachable in the default case of a nested switch. Condense code a bit. No functional change. llvm-svn: 162261
-
Craig Topper authored
llvm-svn: 162260
-
Craig Topper authored
llvm-svn: 162257
-
- Aug 20, 2012
-
-
Michael Liao authored
llvm-svn: 162214
-
Craig Topper authored
llvm-svn: 162194
-
Craig Topper authored
llvm-svn: 162193
-
Craig Topper authored
llvm-svn: 162192
-
- Aug 19, 2012
-
-
Nadav Rotem authored
this allows for better code generation. Added a new DAGCombine transformation to convert FMAX and FMIN to FMANC and FMINC, which are commutative. For example: movaps %xmm0, %xmm1 movsd LC(%rip), %xmm0 minsd %xmm1, %xmm0 becomes: minsd LC(%rip), %xmm0 llvm-svn: 162187
-
- Aug 18, 2012
-
-
Nadav Rotem authored
Reapply r162160 with a fix: Optimize Arith->Trunc->SETCC sequence to allow better compare/branch code. llvm-svn: 162172
-
Craig Topper authored
Refactor code a bit to reduce number of calls in the final compiled code. No functional change intended. llvm-svn: 162166
-
Nadav Rotem authored
llvm-svn: 162164
-
Nadav Rotem authored
arithmetic instructions. However, when small data types are used, a truncate node appears between the SETCC node and the arithmetic operation. This patch adds support for this pattern. Before: xorl %esi, %edi testb %dil, %dil setne %al ret After: xorb %dil, %sil setne %al ret rdar://12081007 llvm-svn: 162160
-
- Aug 17, 2012
-
-
Craig Topper authored
llvm-svn: 162089
-
Craig Topper authored
Make ReplaceATOMIC_BINARY_64 a static function. Use a nested switch to reduce to only a single call to it thus allowing it to be inlined by the compiler. llvm-svn: 162088
-
- Aug 16, 2012
-
-
Anitha Boyapati authored
llvm-svn: 162012
-
Anitha Boyapati authored
llvm-svn: 162010
-
- Aug 15, 2012
-
-
Michael Liao authored
llvm-svn: 161902
-
- Aug 14, 2012
-
-
Michael Liao authored
- FP_EXTEND only support extending from vectors with matching elements. This results in the scalarization of extending to v2f64 from v2f32, which will be legalized to v4f32 not matching with v2f64. - add X86-specific VFPEXT supproting extending from v4f32 to v2f64. - add BUILD_VECTOR lowering helper to recover back the original extending from v4f32 to v2f64. - test case is enhanced to include different vector width. llvm-svn: 161894
-