- May 05, 2013
-
-
Arnold Schwaighofer authored
Add support for matching 'ordered' and 'unordered' floating point min/max constructs. In LLVM we can express min/max functions as a combination of compare and select. We have support for matching such constructs for integers but not for floating point. In floating point math there is no total order because of the presence of 'NaN'. Therefore, we have to be careful to preserve the original fcmp semantics when interpreting floating point compare select combinations as a minimum or maximum function. The resulting 'ordered/unordered' floating point maximum function has to select the same value as the select/fcmp combination it is based on. ordered_max(x,y) = max(x,y) iff x and y are not NaN, y otherwise unordered_max(x,y) = max(x,y) iff x and y are not NaN, x otherwise ordered_min(x,y) = min(x,y) iff x and y are not NaN, y otherwise unordered_min(x,y) = min(x,y) iff x and y are not NaN, x otherwise This matches the behavior of the underlying select(fcmp(olt/ult/.., L, R), L, R) construct. Any code using this predicate has to preserve this semantics. A follow-up patch will use this to implement floating point min/max reductions in the vectorizer. radar://13723044 llvm-svn: 181143
-
- May 02, 2013
-
-
Filip Pizlo authored
CodeModel: It's now possible to create an MCJIT instance with any CodeModel you like. Previously it was only possible to create an MCJIT that used CodeModel::JITDefault. EnableFastISel: It's now possible to turn on the fast instruction selector. The CodeModel option required some trickery. The problem is that previously, we were ensuring future binary compatibility in the MCJITCompilerOptions by mandating that the user bzero's the options struct and passes the sizeof() that he saw; the bindings then bzero the remaining bits. This works great but assumes that the bitwise zero equivalent of any field is a sensible default value. But this is not the case for LLVMCodeModel, or its internal equivalent, llvm::CodeModel::Model. In both of those, the default for a JIT is CodeModel::JITDefault (or LLVMCodeModelJITDefault), which is not bitwise zero. Hence this change introduces LLVMInitializeMCJITCompilerOptions(), which will initialize the user's options struct with defaults. The user will use this in the same way that they would have previously used memset() or bzero(). MCJITCAPITest.cpp illustrates the change, as does the comment in ExecutionEngine.h. llvm-svn: 180893
-
- May 01, 2013
-
-
Filip Pizlo authored
llvm-svn: 180839
-
- Apr 30, 2013
-
-
Reid Kleckner authored
This seemed like the cleanest way to find the test executable. Also fix the file mode. llvm-svn: 180770
-
- Apr 29, 2013
-
-
Andrew Kaylor authored
Re-submitting with fix for OCaml dependency problems (removing dependency on SectionMemoryManager when it isn't used). Patch by Fili Pizlo llvm-svn: 180720
-
- Apr 25, 2013
-
-
Andrew Kaylor authored
llvm-svn: 180575
-
Rafael Espindola authored
This reverts commit 07f03923137a91e3cca5d7fc075a22f8c9baf33a. Looks like it broke the valgrind bot: http://lab.llvm.org:8011/builders/llvm-x86_64-linux-vg_leak/builds/649 llvm-svn: 180249
-
Rafael Espindola authored
This reverts commit 8c31b298149ca3c3f2bbd9e8aa9a01c4d91f3d74. It looks like this commit broke some bots: http://lab.llvm.org:8011/builders/llvm-ppc64-linux2/builds/5209 llvm-svn: 180248
-
Andrew Kaylor authored
Patch by Filip Pizlo llvm-svn: 180229
-
- Apr 24, 2013
-
-
Reid Kleckner authored
That seems to interact poorly with the environ and _environ macros defined in MSVC's <stdlib.h>. Also remove the incorrect comment about _NSGetEnviron(). llvm-svn: 180200
-
- Apr 23, 2013
-
-
Andrew Kaylor authored
llvm-svn: 180150
-
Andrew Kaylor authored
llvm-svn: 180146
-
Reid Kleckner authored
This was r180041 and r180046, which was reverted in r180066. Re-committing this should fix the dragonegg bootstrap, which I presume needs LD_LIBRARY_PATH to be propagated to the child. Tested on Linux, Windows, and Mac OS 10.6. llvm-svn: 180099
-
Alexey Samsonov authored
llvm-svn: 180084
-
Alexey Samsonov authored
Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools. llvm-svn: 180083
-
Michael Gottesman authored
Revert "[Support] Propagate the environment into the test child process" This reverts commit r180046. This reverts commit r180041. These have broken buildbots for ~3 hours: http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/763 llvm-svn: 180066
-
- Apr 22, 2013
-
-
Reid Kleckner authored
Pointed out by Eli. The test passes for me either way, so I missed this. llvm-svn: 180046
-
Reid Kleckner authored
Should fix the dragonegg bootstrap builder, which reasonably needs LD_LIBRARY_PATH to be set. llvm-svn: 180041
-
Reid Kleckner authored
Summary: This is http://llvm.org/PR15802. Backslashes preceding double quotes in arguments must be escaped. The interesting bit is that all other backslashes should *not* be escaped, because the un-escaping logic is only triggered by the presence of a double quote character. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D705 llvm-svn: 180035
-
- Apr 17, 2013
-
-
Alexey Samsonov authored
Moves one DWARF-specific header to include/llvm/DebugInfo from lib/. Add a short unittest for r179095. llvm-svn: 179678
-
- Apr 12, 2013
-
-
Benjamin Kramer authored
Fix a disconcerting bug in Value::isUsedInBasicBlock, which gave wrong answers for blocks larger than 3 instrs. Also add a unit test. PR15727. llvm-svn: 179370
-
- Apr 11, 2013
-
-
Joey Gouly authored
llvm-svn: 179239
-
- Apr 10, 2013
-
-
Joey Gouly authored
rather than checking if the source and destination have the same number of arguments and copying the attributes over directly. llvm-svn: 179169
-
- Apr 05, 2013
-
-
Michael J. Spencer authored
llvm-svn: 178905
-
Jyotsna Verma authored
Change unittests/ExecutionEngine/Makefile to include Makefile.config before TARGET_HAS_JIT flag is checked. Fixes bug: http://llvm.org/bugs/show_bug.cgi?id=15669 llvm-svn: 178871
-
- Apr 04, 2013
-
-
Rafael Espindola authored
Looks like cmake on windows is not expanding ENABLE_EXPORTS to -Wl,--export-all-symbols on mingw or cygwin, so add this back. llvm-svn: 178730
-
Rafael Espindola authored
On freebsd this makes sure that symbols are exported on the binaries that need them. The net result is that we should get symbols in the binaries that need them on every platform. On linux x86-64 this reduces the size of the bin directory from 262MB to 250MB. Patch by Stephen Checkoway. llvm-svn: 178725
-
- Mar 29, 2013
-
-
Jean-Luc Duprat authored
This time tested on both OSX and Linux. llvm-svn: 178377
-
Rafael Espindola authored
This reverts commit 617330909f0c26a3f2ab8601a029b9bdca48aa61. It broke the bots: /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:150: PushPopTest /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:118: Failure Value of: v[i].getValue() Actual: 0 Expected: value Which is: 2 llvm-svn: 178334
-
Jean-Luc Duprat authored
being power-of-two sized. llvm-svn: 178332
-
- Mar 28, 2013
-
-
Jyotsna Verma authored
llvm-svn: 178221
-
- Mar 27, 2013
-
-
Evgeniy Stepanov authored
Fails due to insufficient thread stack. llvm-svn: 178135
-
- Mar 16, 2013
-
-
Aaron Ballman authored
llvm-svn: 177223
-
- Mar 14, 2013
-
-
Michael J. Spencer authored
llvm-svn: 176996
-
- Feb 28, 2013
-
-
Michael J. Spencer authored
llvm-svn: 176228
-
- Feb 21, 2013
-
-
David Blaikie authored
llvm-svn: 175730
-
David Blaikie authored
Code review feedback for r175580 by Jordan Rose. llvm-svn: 175729
-
- Feb 20, 2013
-
-
Benjamin Kramer authored
llvm-svn: 175621
-
David Blaikie authored
Code review feedback on r175580 from Jordan Rose. llvm-svn: 175595
-
David Blaikie authored
This generalizes Optional to require less from the T type by using aligned storage for backing & placement new/deleting the T into it when necessary. Also includes unit tests. llvm-svn: 175580
-