- Aug 05, 2013
-
-
Alexey Samsonov authored
llvm-svn: 187725
-
Elena Demikhovsky authored
LLVM Interpreter: This patch implements vector support for cast operations (zext, sext, uitofp, sitofp, trunc, fpext, fptosi, fptrunc, bitcast) and shift operations (shl, ashr, lshr) for integer and floating point data types. Added tests. Done by Yuri Veselov (mailto:Yuri.Veselov@intel.com). llvm-svn: 187724
-
Richard Sandiford authored
This patch just uses a peephole test for "add; compare; branch" sequences within a single block. The IR optimizers already convert loops to decrement-and-branch-on-nonzero form in some cases, so even this simplistic test triggers many times during a clang bootstrap and projects/test-suite run. It looks like there are still cases where we need to more strongly prefer branches on nonzero though. E.g. I saw a case where a loop that started out with a check for 0 ended up with a check for -1. I'll try to look at that sometime. I ended up adding the Reference class because MachineInstr::readsRegister() doesn't check for subregisters (by design, as far as I could tell). llvm-svn: 187723
-
Benjamin Kramer authored
llvm-svn: 187722
-
Richard Sandiford authored
llvm-svn: 187721
-
Richard Sandiford authored
llvm-svn: 187720
-
Richard Sandiford authored
Just the definitions and MC support. The next patch uses them for codegen. llvm-svn: 187719
-
Richard Sandiford authored
Perhaps predictably, doing comparison elimination on the fly during SystemZLongBranch turned out to be a bad idea. The next patches make use of LOAD AND TEST and BRANCH ON COUNT, both of which require changes to earlier instructions. No functionality change intended. llvm-svn: 187718
-
Elena Demikhovsky authored
Added intrinsics and tests. llvm-svn: 187717
-
Craig Topper authored
Use a shuffle with undef elements instead of inserting 0s in the 128-bit to 256-bit casting intrinsics to improve performance. Thanks to Katya Romanova for identifying this issue. llvm-svn: 187716
-
David Majnemer authored
Sema::PerformObjectMemberConversion assumed that the Qualifier it was given holds a type. However, the specifier could hold just a namespace. In this case, we should ignore the qualifier and not attempt to cast to it. llvm-svn: 187715
-
Nadav Rotem authored
llvm-svn: 187714
-
Nadav Rotem authored
llvm-svn: 187713
-
Reed Kotler authored
helper functions. This can be optimized out later when the remaining parts of the helper function work is moved into the Mips16HardFloat pass. For now it forces us to use the 32 bit save/restore instructions instead of the 16 bit ones. llvm-svn: 187712
-
Bob Wilson authored
Note that this will require a recent version of the linker for Darwin builds with LTO to pass these tests. llvm-svn: 187711
-
Bob Wilson authored
Part of <rdar://problem/14620988> llvm-svn: 187710
-
- Aug 04, 2013
-
-
Timur Iskhodzhanov authored
llvm-svn: 187709
-
Benjamin Kramer authored
Fixes shared cmake build. llvm-svn: 187708
-
Daniel Jasper authored
This addresses comments in post-commit review of r187345. llvm-svn: 187707
-
Benjamin Kramer authored
double test(double a, double b, double c, double d) { return a<b ? c : d; } before: _test: ucomisd %xmm0, %xmm1 ja LBB0_2 movaps %xmm3, %xmm2 LBB0_2: movaps %xmm2, %xmm0 after: _test: cmpltsd %xmm1, %xmm0 andpd %xmm0, %xmm2 andnpd %xmm3, %xmm0 orpd %xmm2, %xmm0 Small speedup on Benchmarks/SmallPT llvm-svn: 187706
-
Elena Demikhovsky authored
llvm-svn: 187705
-
Tim Northover authored
Apparently Atoms use lea for stack adjustment, which we weren't looking for. llvm-svn: 187704
-
Tim Northover authored
Due to the weird and wondeful usual arithmetic conversions, some calculations involving negative values were getting performed in uint32_t and then promoted to int64_t, which is really not a good idea. Patch by Katsuhiro Ueno. llvm-svn: 187703
-
Benjamin Kramer authored
llvm-svn: 187702
-
Reed Kotler authored
llvm-svn: 187701
-
Benjamin Kramer authored
Store them in a place that gets cleaned up properly. llvm-svn: 187700
-
Benjamin Kramer authored
llvm-svn: 187699
-
Benjamin Kramer authored
llvm-svn: 187698
-
Benjamin Kramer authored
Dyld never outlives MemMgr, just put both on the stack. llvm-svn: 187697
-
Benjamin Kramer authored
Using an object to do the cleanup may look like overkill, but it's safer and nicer than putting deletes everywhere. llvm-svn: 187696
-
Benjamin Kramer authored
llvm-svn: 187695
-
- Aug 03, 2013
-
-
Craig Topper authored
Add support for passing -1 to __builtin_shufflevector to signify an undefined element value to match IR capabilities. llvm-svn: 187694
-
Hal Finkel authored
Internally, the PowerPC backend names the 32-bit GPRs R[0-9]+, and names the 64-bit parent GPRs X[0-9]+. When matching inline assembly constraints with explicit register names, on PPC64 when an i64 MVT has been requested, we need to follow gcc's convention of using r[0-9]+ to refer to the 64-bit (parent) registers. At some point, we'll probably want to arrange things so that the generic code in TargetLowering uses the AsmName fields declared in *RegisterInfo.td in order to match these inline asm register constraints. If we do that, this change can be reverted. llvm-svn: 187693
-
Matt Arsenault authored
Remove assertion that the verifier should catch. llvm-svn: 187692
-
Rui Ueyama authored
llvm-svn: 187690
-
Hans Wennborg authored
Since LLVM r187675, this is handled by the option parsing code itself. llvm-svn: 187689
-
Rui Ueyama authored
llvm-svn: 187688
-
Bob Wilson authored
llvm-svn: 187687
-
Bob Wilson authored
Recent versions of the OS X linker support this but follow the existing OS X linker convention of using an underscore in the option name, i.e., -export_dynamic. Rather than changing our configure scripts to check for that alternate spelling, it is simpler to just use the compiler's -rdynamic option and let it deal with translating that to the appropriate linker option. One potential disadvantage of this approach is that the compiler will typically ignore -rdynamic on platforms where it is not supported, so the HAVE_LINK_EXPORT_DYNAMIC in config.h will not necessarily show whether that option has any effect or not. I don't see any in-tree uses of that macro, so I'm assuming it is OK. llvm-svn: 187686
-
Peter Collingbourne authored
This is for the benefit of those of us with inferior debuggers which do not permit member function calls on value types. llvm-svn: 187685
-