summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Convert a use of sys::Path::GetTemporaryDirectory.Rafael Espindola2013-06-142-20/+17
| | | | llvm-svn: 183987
* Correctly convert APInt to gmp valuesTobias Grosser2013-06-142-3/+125
| | | | | | | | | Previously this happend to work for integers up to i64, but we got it wrong for larger numbers. Fix this and add test cases to verify this keeps working. Reported by: Sven Verdoolaege <skimo at kotnet dot org> llvm-svn: 183986
* Remove a use of PathV1.h.Rafael Espindola2013-06-141-3/+5
| | | | llvm-svn: 183985
* Make PrologEpilogInserter save/restore all callee saved registersDerek Schuff2013-06-144-1/+60
| | | | | | | | | | | in functions which call __builtin_unwind_init() __builtin_unwind_init() is an undocumented gcc intrinsic which has this effect, and is used in libgcc_eh. Goes part of the way toward fixing PR8541. llvm-svn: 183984
* Force c++98 so this works on windows where c++11 is the default.Rafael Espindola2013-06-141-1/+1
| | | | llvm-svn: 183983
* Remove a use of PathV1.h.Rafael Espindola2013-06-141-15/+9
| | | | llvm-svn: 183982
* cpp11-migrate: Fixing section markupEdwin Vane2013-06-145-15/+15
| | | | | | Adhering to LLVM's ReST style for section markup. llvm-svn: 183981
* Move PrependMainExecutablePath next to its only user.Rafael Espindola2013-06-143-33/+22
| | | | llvm-svn: 183980
* Remove a use of sys::Path.Rafael Espindola2013-06-141-2/+3
| | | | llvm-svn: 183979
* Don't remove backslashes from block comments.Alexander Kornienko2013-06-144-50/+68
| | | | | | | | | | | | | | | | | | | | | | | Summary: Don't remove backslashes from block comments. Previously this /* \ \ \ \ \ \ */ would be turned to this: /* */ which spoils some kinds of ASCII-art, people use in their comments. The behavior was related to handling escaped newlines in block comments inside preprocessor directives. This patch makes handling it in a more civilized way. Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D979 llvm-svn: 183978
* Properly install LSan interface header, rely on sanitizer header presence in ↵Alexey Samsonov2013-06-146-6/+7
| | | | | | lit tests llvm-svn: 183977
* Also install cpp11-migrate when built with cmake. Fixes bug #16296Sylvestre Ledru2013-06-141-0/+3
| | | | llvm-svn: 183976
* ARM: fix thumb coprocessor instruction with pre-writeback disassemblyAmaury de la Vieuville2013-06-142-1/+4
| | | | | | | was stc2 p0, c0, [r0]! instead of stc2 p0, c0, [r0,#0]! llvm-svn: 183975
* [TSan] use InternalMmapVector to store fired suppressionsAlexey Samsonov2013-06-143-6/+7
| | | | llvm-svn: 183974
* [LSan] Use a typedef for frontier vectorAlexey Samsonov2013-06-143-15/+17
| | | | llvm-svn: 183973
* [Sanitizer] Rename InternalVector to InternalMmapVectorAlexey Samsonov2013-06-147-29/+32
| | | | llvm-svn: 183972
* X86: cvtpi2ps is just an SSE instruction with MMX operands. It has no AVX ↵Benjamin Kramer2013-06-142-7/+16
| | | | | | | | equivalent. Give it the right register format so we can also emit it when AVX is enabled. llvm-svn: 183971
* Fix the warning for divide by zero to be a bit more robust. ;]Chandler Carruth2013-06-142-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* PoCC: Adjust to recent sys::Path removalTobias Grosser2013-06-141-26/+29
| | | | llvm-svn: 183969
* Remove unused header.Rafael Espindola2013-06-141-1/+0
| | | | llvm-svn: 183968
* Emit initializers for static-storage-duration temporaries as constants whereRichard Smith2013-06-146-28/+117
| | | | | | possible. llvm-svn: 183967
* Enable FastISel on ARM for Linux and NaCl, not MCJITJF Bastien2013-06-1427-15/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [PECOFF] Fix build error on Win64.Rui Ueyama2013-06-141-1/+1
| | | | llvm-svn: 183965
* [lld][PECOFF] Read relocation entries.Rui Ueyama2013-06-146-163/+582
| | | | | | | | | | | | | | | | | | | 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
* [docs] Fix wrong clang-format example.Rui Ueyama2013-06-141-1/+1
| | | | llvm-svn: 183963
* [yaml2obj] Add support for sh_addralign via `AddressAlign` key.Sean Silva2013-06-144-3/+7
| | | | | | | 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
* Added the ability options to:Greg Clayton2013-06-141-74/+256
| | | | | | | | | - 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
* Move #include from .h to .cpp file.Jakub Staszak2013-06-142-1/+1
| | | | llvm-svn: 183960
* Remove unneeded include.Greg Clayton2013-06-131-1/+0
| | | | llvm-svn: 183959
* Remove forward declaration of MachineBasicBlock. It is #included anyway.Jakub Staszak2013-06-131-1/+0
| | | | llvm-svn: 183958
* #include <climits> instead of <limits.h> in C++ header file.Jakub Staszak2013-06-131-1/+1
| | | | llvm-svn: 183957
* Remove implicit fallthrough from AArch64 to Mips in lib selectionTim Northover2013-06-131-0/+1
| | | | | | | | | Nothing useful to AArch64 will (should!) be found in any Mips-specific directories. Patch by Luke Zarko. llvm-svn: 183956
* [yaml2obj] Add support for specifying raw section content.Sean Silva2013-06-134-5/+37
| | | | llvm-svn: 183955
* [yaml2obj] Add sh_addr via `Address` key.Sean Silva2013-06-134-1/+5
| | | | llvm-svn: 183954
* [yaml2obj] Initial ELF section support.Sean Silva2013-06-135-8/+212
| | | | | | | The current functionality is extremely basic and a bit rough around the edges, but it will flesh out in future commits. llvm-svn: 183953
* Avoid fallthrough in header, to allow external users of Clang libraries toRichard Smith2013-06-131-4/+1
| | | | | | | build with Clang's -Wimplicit-fallthrough warning enabled. The fallthrough was not making this code better. llvm-svn: 183952
* Fix the linkage of static locals inside a CapturedStmt. (Found in theEli Friedman2013-06-134-4/+42
| | | | | | process of trying to fix the related issue for block literals.) llvm-svn: 183951
* Try to fix the windows build.Rafael Espindola2013-06-131-1/+1
| | | | llvm-svn: 183950
* Added a new makefile setting that can be set in LLDB makefiles: USE_LIBCPP. ↵Greg Clayton2013-06-135-43/+185
| | | | | | | | | | | | 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
* Added a SBSection::GetParent() to the API.Greg Clayton2013-06-133-1/+22
| | | | llvm-svn: 183948
* Don't use PathV1.h in Signals.h.Rafael Espindola2013-06-139-23/+25
| | | | llvm-svn: 183947
* Don't depend on the transitive inclusion of PathV1.hRafael Espindola2013-06-131-0/+1
| | | | llvm-svn: 183946
* Don't depend on the transitive inclusion of PathV1.h.Rafael Espindola2013-06-133-0/+3
| | | | llvm-svn: 183945
* Use the sys::RemoveFileOnSignal that takes a StringRef.Rafael Espindola2013-06-132-2/+2
| | | | llvm-svn: 183944
* Add a RemoveFileOnSignal that takes a StringRef.Rafael Espindola2013-06-131-0/+4
| | | | llvm-svn: 183943
* Followup to r183931 to fix the lambda conversion-to-block-pointer member.Eli Friedman2013-06-132-2/+11
| | | | llvm-svn: 183942
* Don't use PathV1.h in FileUtilities.h.Rafael Espindola2013-06-135-10/+13
| | | | llvm-svn: 183941
* Avoid using PathV1.h in Program.h.Rafael Espindola2013-06-139-65/+58
| | | | llvm-svn: 183940
* [PowerPC] Disable fast-isel for existing -O0 tests for PowerPC.Bill Schmidt2013-06-1310-34/+31
| | | | | | | | | | | | | | | | | | | | | | | | 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
* R600: Don't try to fix reg class when copying IMPLICIT_DEF to a registerTom Stellard2013-06-131-1/+2
| | | | | | | | | 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
OpenPOWER on IntegriCloud