- Jun 14, 2013
-
-
Benjamin Kramer authored
Give it the right register format so we can also emit it when AVX is enabled. llvm-svn: 183971
-
Chandler Carruth authored
Previously, it only ever fired for zeros which formed null pointers. Now, hilariously, in C++98 this was almost anything. Including tricks like warning on the divisor in this code: typedef char c3[3]; size_t f(c3* ptr) { return (sizeof(ptr) / sizeof(*ptr)) / (size_t)(!(sizeof(ptr) % sizeof(*ptr))); } Why the RHS of the outer divide is a null pointer constant is a sordid tale of sorrow. Anyways, the committee fixed this for C++11 and onward as part of core isssue 903, and Richard recently implemented this fix causing the warning to go away here (and elsewhere). This patch restores the warning here and adds it for numerous other somewhat obvious gaffes: int g(int x) { return x / (int)(0.0); } The patch is essentially just using the full power of our constant folding in Clang to produce the warning, but insisting that it must fold to an *integer* which is zero so that we don't get false positives anywhere. llvm-svn: 183970
-
Tobias Grosser authored
llvm-svn: 183969
-
Rafael Espindola authored
llvm-svn: 183968
-
Richard Smith authored
possible. llvm-svn: 183967
-
JF Bastien authored
This is a resubmit of r182877, which was reverted because it broken MCJIT tests on ARM. The patch leaves MCJIT on ARM as it was before: only enabled for iOS. I've CC'ed people from the original review and revert. FastISel was only enabled for iOS ARM and Thumb2, this patch enables it for ARM (not Thumb2) on Linux and NaCl, but not MCJIT. Thumb2 support needs a bit more work, mainly around register class restrictions. The patch punts to SelectionDAG when doing TLS relocation on non-Darwin targets. I will fix this and other FastISel-to-SelectionDAG failures in a separate patch. The patch also forces FastISel to retain frame pointers: iOS always keeps them for backtracking (so emitted code won't change because of this), but Linux was getting much worse code that was incorrect when using big frames (such as test-suite's lencod). I'll also fix this in a later patch, it will probably require a peephole so that FastISel doesn't rematerialize frame pointers back-to-back. The test changes are straightforward, similar to: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130513/174279.html They also add a vararg test that got dropped in that change. I ran all of lnt test-suite on A15 hardware with --optimize-option=-O0 and all the tests pass. All the tests also pass on x86 make check-all. I also re-ran the check-all tests that failed on ARM, and they all seem to pass. llvm-svn: 183966
-
Rui Ueyama authored
llvm-svn: 183965
-
Rui Ueyama authored
Summary: COFFReference class is defined to represent relocation information for COFFDefinedAtom, as ELFReference for ELFDefinedAtom. ReaderCOFF can now read relocation entries and create COFFReferences accordingly. I need to make WriterPECOFF to handle the relocation references created by the reader, but this patch is already big, so I think it's probably better to get it reviewed now. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D976 llvm-svn: 183964
-
Rui Ueyama authored
llvm-svn: 183963
-
Sean Silva authored
For consistency, change the address in the test case from 0xDEADBEEF to 0xCAFEBABE since 0xCAFEBABE that actually has a 2-byte alignment. llvm-svn: 183962
-
Greg Clayton authored
- specify the architecture - specify the platform - specify if only external symbols should be dumped - specify if types in the function signatures should be canonicalized llvm-svn: 183961
-
Jakub Staszak authored
llvm-svn: 183960
-
Greg Clayton authored
llvm-svn: 183959
-
Jakub Staszak authored
llvm-svn: 183958
-
Jakub Staszak authored
llvm-svn: 183957
-
Tim Northover authored
Nothing useful to AArch64 will (should!) be found in any Mips-specific directories. Patch by Luke Zarko. llvm-svn: 183956
-
Sean Silva authored
llvm-svn: 183955
-
Sean Silva authored
llvm-svn: 183954
-
Sean Silva authored
The current functionality is extremely basic and a bit rough around the edges, but it will flesh out in future commits. llvm-svn: 183953
-
Richard Smith authored
build with Clang's -Wimplicit-fallthrough warning enabled. The fallthrough was not making this code better. llvm-svn: 183952
-
- Jun 13, 2013
-
-
Eli Friedman authored
process of trying to fix the related issue for block literals.) llvm-svn: 183951
-
Rafael Espindola authored
llvm-svn: 183950
-
Greg Clayton authored
Added a new makefile setting that can be set in LLDB makefiles: USE_LIBCPP. This will enable libc++ support. Improved the makefile "clean" to include deleting all ".d.[0-9]+" files. Added options to the "lldb/examples/lookup" example and made it build using the LLDB_BUILD_DIR. If this is not set, it will default to "/Applications/Xcode.app/Contents/SharedFrameworks" on Darwin. Added options to the "lldb/examples/function" example and made it build using the LLDB_BUILD_DIR. llvm-svn: 183949
-
Greg Clayton authored
llvm-svn: 183948
-
Rafael Espindola authored
llvm-svn: 183947
-
Rafael Espindola authored
llvm-svn: 183946
-
Rafael Espindola authored
llvm-svn: 183945
-
Rafael Espindola authored
llvm-svn: 183944
-
Rafael Espindola authored
llvm-svn: 183943
-
Eli Friedman authored
llvm-svn: 183942
-
Rafael Espindola authored
llvm-svn: 183941
-
Rafael Espindola authored
llvm-svn: 183940
-
Bill Schmidt authored
This is a preliminary patch for fast instruction selection on PowerPC. Code generation can differ between DAG isel and fast isel. Existing tests that specify -O0 were written to expect DAG isel. Make this explicit by adding -fast-isel=false to the tests. In some cases specifying -fast-isel=false produces different code even when there isn't a fast instruction selector specified. This is because TM.Options.EnableFastISel = 1 at -O0 whether or not a FastISel object exists. Thus disabling fast isel can actually produce less conservative code. Because of this, some of the expected code generation in the -O0 tests needs to be adjusted. In particular, handling of function arguments is less conservative with -fast-isel=false (see isOnlyUsedInEntryBlock() in SelectionDAGBuilder.cpp). This results in fewer stack accesses and, in some cases, reduced stack size as uselessly loaded values are no longer stored back to spill locations in the stack. No functional change with this patch; test case adjustments only. llvm-svn: 183939
-
Tom Stellard authored
The test case for this is way too complex to be useful as a lit test, and I was unable to reduce it. https://bugs.freedesktop.org/show_bug.cgi?id=65438 llvm-svn: 183937
-
Rafael Espindola authored
llvm-svn: 183936
-
Rafael Espindola authored
Also don't depend on Program.h including PathV1.h. llvm-svn: 183935
-
Rafael Espindola authored
llvm-svn: 183934
-
Derek Schuff authored
This pass was assuming that if hasAddressTaken() returns false for a function, the function's only uses are call sites. That's not true because there can be references by BlockAddresses too. Fix the pass to handle this case. Fix BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type to be changed by RAUW'ing the function with a bitcast of the recreated function. Patch by Mark Seaborn. llvm-svn: 183933
-
Greg Clayton authored
Be sure to print out the full file path when dumping breakpoint resolvers for file and line when the full path was specified. llvm-svn: 183932
-
Eli Friedman authored
llvm-svn: 183931
-