summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Adding tests for multiple GOTs with MCJITAndrew Kaylor2013-10-054-0/+44
| | | | llvm-svn: 192021
* Adding multiple GOT handling to RuntimeDyldELFAndrew Kaylor2013-10-052-59/+81
| | | | | | Patch by Ashok Thirumurthi llvm-svn: 192020
* Debug Info: update testing cases when the derived-from field of aManman Ren2013-10-055-15/+16
| | | | | | | | DW_TAG_pointer_type is updated to use DITypeRef. Paired commit with r192018. llvm-svn: 192019
* Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_typeManman Ren2013-10-0510-96/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | is updated to use DITypeRef. Move isUnsignedDIType and getOriginalTypeSize from DebugInfo.h to be static helper functions in DwarfCompileUnit. We already have a static helper function "isTypeSigned" in DwarfCompileUnit, and a pointer to DwarfDebug is added to resolve the derived-from field. All three functions need to go across link for derived-from fields, so we need to get hold of a type identifier map. A pointer to DwarfDebug is also added to DbgVariable in order to resolve the derived-from field. Debug info verifier is updated to check a derived-from field is a TypeRef. Verifier will not go across link for derived-from fields, in debug info finder, we go across the link to add derived-from fields to types. Function getDICompositeType is only used by dragonegg and since dragonegg does not generate identifier for types, we use an empty map to resolve the derived-from field. When printing a derived-from field, we use DITypeRef::getName to either return the type identifier or getName of the DIType. A paired commit at clang is required due to changes to DIBuilder. llvm-svn: 192018
* Reorganize some member variables and update a comment.Eric Christopher2013-10-051-6/+6
| | | | llvm-svn: 192017
* Fix one comment and update another. Slightly reformat.Eric Christopher2013-10-052-4/+3
| | | | llvm-svn: 192016
* [Sparc] Respect hasHardQuad parameter correctly when lowering SINT_TO_FP ↵Venkatraman Govindaraju2013-10-052-1/+14
| | | | | | with fp128 operand. llvm-svn: 192015
* Add a resolve method on CompileUnit that forwards to DwarfDebug.Eric Christopher2013-10-052-8/+13
| | | | llvm-svn: 192014
* Cleaner way to work around the lack of delegating constructors on some ↵Enrico Granata2013-10-052-35/+41
| | | | | | versions of GCC llvm-svn: 192013
* G M: Remove unneeded warnings in buildit that are hindering porting.Howard Hinnant2013-10-051-2/+1
| | | | llvm-svn: 192012
* Debug info: Don't crash in SelectionDAGISel when a vreg that is beingAdrian Prantl2013-10-052-3/+142
| | | | | | | | pointed to by a dbg_value belonging to a function argument is eliminated during instruction selection. rdar://problem/15094721. llvm-svn: 192011
* G M: Attached is a patch for libcxx's cmake file.Howard Hinnant2013-10-051-1/+3
| | | | | | | | | I've changed it so we don't set highest level warnings (all) for MSVC when building projects using cmake and instead leave the default. That's /W4 on my machine and seems to be ok. With all warnings on for msvc, we see literally thousands of warnings. 99.99% aren't relevant and just obscure the ones that are. I think the user can still override things if they want something different from the command line when using cmake. llvm-svn: 192010
* Make a bunch of CompileUnit member functions private.Eric Christopher2013-10-052-36/+38
| | | | llvm-svn: 192009
* <rdar://problem/15154623>Enrico Granata2013-10-051-37/+37
| | | | | | | Several CF* data formatters were in the AppKit category This puts them back where they belong, i.e. in category CoreFoundation llvm-svn: 192008
* G M: The attached patch is for libcxx's new.cpp and __config files. The ↵Howard Hinnant2013-10-042-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | patch's intent is to make new.cpp compile using MS's cl.exe compiler without changing the meaning of anything for any other compiler. The issue this patch seeks to address is that MS's compiler (cl.exe) doesn't support the __attribute__((__weak__)) or __atribute__((__visibility__("default")) syntax; so a solution must be found where cl.exe doesn't see this syntax. This patch seeks to solve this problem by changing code patterned like this: __attribute__((__weak__, __visibility__("default"))) void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { /*snip*/; return p; } to code like this: _LIBCPP_WEAK void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { return p; } Howard: Thanks for all the comments regarding the default visibility tag on the definition. I agree it isn't needed, and that there are lots of other places where it is missing. That being said, I'm not wanting to rock the boat on that issue right now. So I've added it back to the definition via _LIBCPP_FUNC_VIS. A later pass dedicated just to this issue can bring things in to a consistent state one way or the other. Note that we do not want to have the exact same attributes on the declaration and defintion in this case. The declaration should not be marked weak, whereas the definition should (which is what G M's patch did). I've fully tested on OS X to ensure that the resultant attribute syntax actually works. llvm-svn: 192007
* [Sparc] Correct the floating point conditional code mapping in ↵Venkatraman Govindaraju2013-10-042-8/+40
| | | | | | GetOppositeBranchCondition(). llvm-svn: 192006
* Minor formatting/comment rewording/etc.David Blaikie2013-10-041-5/+3
| | | | llvm-svn: 192005
* Remove odd use of this.Eric Christopher2013-10-041-1/+1
| | | | llvm-svn: 192004
* Reformat some odd formattings.Eric Christopher2013-10-041-32/+19
| | | | llvm-svn: 192003
* Tighten up some type arguments to functions. Where we expect aEric Christopher2013-10-042-6/+6
| | | | | | scope, pass a scope. llvm-svn: 192002
* UpdatePHINodes in BasicBlockUtils should not crash on duplicate predecessorsHal Finkel2013-10-042-2/+52
| | | | | | | | | | | UpdatePHINodes has an optimization to reuse an existing PHI node, where it first deletes all of its entries and then replaces them. Unfortunately, in the case where we had duplicate predecessors (which are allowed so long as the associated PHI entries have the same value), the loop removing the existing PHI entries from the to-be-reused PHI would assert (if that PHI was not the one which had the duplicates). llvm-svn: 192001
* Remove some dead code.David Blaikie2013-10-042-7/+0
| | | | llvm-svn: 192000
* Pull this out for a bit of readability.Eric Christopher2013-10-041-15/+18
| | | | llvm-svn: 191999
* Simplify setting of DIE tag for type DIEs by setting it in one* place.David Blaikie2013-10-041-16/+8
| | | | | | * two actually due to some weird template thing... investigating that. llvm-svn: 191998
* Reformat.Eric Christopher2013-10-041-832/+791
| | | | llvm-svn: 191997
* <rdar://problem/12042982>Enrico Granata2013-10-0419-92/+188
| | | | | | | | | | | | | | | | | | | This radar extends the notion of one-liner summaries to automagically apply in a few interesting cases More specifically, this checkin changes the printout of ValueObjects to print on one-line (as if type summary add -c had been applied) iff: this ValueObject does not have a summary its children have no synthetic children its children are not a non-empty base class without a summary its children do not have a summary that asks for children to show up the aggregate length of all the names of all the children is <= 50 characters you did not ask to see the types during a printout your pointer depth is 0 This is meant to simplify the way LLDB shows data on screen for small structs and similarly compact data types (e.g. std::pair<int,int> anyone?) Feedback is especially welcome on how the feature feels and corner cases where we should apply this printout and don't (or viceversa, we are applying it when we shouldn't be) llvm-svn: 191996
* Formatting.Eric Christopher2013-10-041-1/+1
| | | | llvm-svn: 191995
* Prune includes.Eric Christopher2013-10-041-2/+0
| | | | llvm-svn: 191994
* forgot to remove this file as wellJack Carter2013-10-041-53/+0
| | | | llvm-svn: 191993
* reverting per requestJack Carter2013-10-047-56/+6
| | | | llvm-svn: 191992
* Use addFlag to add the enum class attribute.Eric Christopher2013-10-042-3/+3
| | | | | | This has the side effect of using DW_FORM_flag_present on dwarf4 and above. llvm-svn: 191991
* Use Die->addValue and DIEIntegerOne directly when we want to addEric Christopher2013-10-041-3/+2
| | | | | | a flag. No functional change. llvm-svn: 191990
* Fix DAGCombiner::visitFP_EXTEND to ignore indexed loadsHal Finkel2013-10-041-1/+1
| | | | | | | | | | | | | | | | DAGCombiner::visitFP_EXTEND will apply the following transformation: fold (fpext (load x)) -> (fpext (fptrunc (extload x))) but the implementation does not handle indexed loads (pre/post inc.), but did not specifically ignore them either (unlike for extending loads, which it already ignored), causing an assert when the transformation was applied to an indexed load. This is the minimal fix for correctness (causing the transformation to be skipped for indexed loads). Unfortunately, I don't have an in-tree test case. llvm-svn: 191989
* G M: A small patch to fix a couple of warnings in stdexcept.cpp for cl.exe ↵Howard Hinnant2013-10-041-0/+4
| | | | | | which does not support #pragma visibility. llvm-svn: 191988
* G M: Changes all references to "x inline" to "inline x" where x = ↵Howard Hinnant2013-10-0410-185/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | _libcpp_always_inline or _libcpp_inline_visibility macros. The patch touches these files: locale array deque new string utility vector __bit_reference __split_buffer locale_win32.h There is no intended functionality change and it is expected that reversing the position of the inline keyword with regard to the other keywords does not change the meaning of anything, least not for apple/Linux etc. It is intended to make libcxx more consistent with itself and to prevent the 1000 or so "inline.cpp(3) : warning C4141: 'inline' : used more than once" warnings that MS's cl.exe compiler emits without this patch, i.e. if inline is not the first keyword before a function name etc. Prefer "inline [other inline related keyword]" over "[other related keyword] inline". After this patch, libcxx should be consistent to this pattern. llvm-svn: 191987
* Support tblockaddr for static compilation in Mips16.Reed Kotler2013-10-042-1/+14
| | | | llvm-svn: 191986
* Fix object file writing in llvm-lto on Windows.Rafael Espindola2013-10-043-5/+3
| | | | | | | | We were writing in text mode. Patch by Greg Bedwell. llvm-svn: 191985
* Made all other "operator bool"s explicit and ensuredSean Callanan2013-10-0416-25/+25
| | | | | | | | | | that all clients use them explicitly. This will hopefully prevent any future confusion where things get cast to types we don't expect. <rdar://problem/15146458> llvm-svn: 191984
* Consumed Analysis: Change callable_when so that it can take a list of statesDeLesley Hutchins2013-10-0410-382/+488
| | | | | | | | that a function can be called in. This reduced the total number of annotations needed and makes writing more complicated behaviour less burdensome. Patch by chriswails@gmail.com. llvm-svn: 191983
* [MC][AsmParser] Hook for post assembly file processingJack Carter2013-10-048-7/+111
| | | | | | | | | | | | | | | | | | | | | This patch handles LLVM standalone assembler (llvm-mc) ELF flag setting based on input file directive processing. Mips assembly requires processing inline directives that directly and indirectly affect the output ELF header flags. This patch handles one ".abicalls". To process these directives we are following the model the code generator uses by storing state in a container as we go through processing and when we detect the end of input file processing, AsmParser is notified and we update the ELF header flags through a MipsELFStreamer method with a call from MCTargetAsmParser::emitEndOfAsmFile(MCStreamer &OutStreamer). This patch will allow other targets the same functionality. Jack llvm-svn: 191982
* G M: Fix libcxx's detection of rtti disablement for g++.exe and cl.exe. When ↵Howard Hinnant2013-10-041-0/+12
| | | | | | RTTI is NOT enabled, _LIBCPP_NO_RTTI is defined. llvm-svn: 191981
* G M: Provides the _LIBCPP_WARNING macro, to be used for MSVC only, since ↵Howard Hinnant2013-10-046-25/+78
| | | | | | that compiler doesn't support #warning. llvm-svn: 191980
* Attempting to fix lli build errorAndrew Kaylor2013-10-041-3/+3
| | | | llvm-svn: 191979
* [mips] Fix a bug in MipsLongBranch::replaceBranch, which was erasingAkira Hatanaka2013-10-042-2/+11
| | | | | | instructions in delay slots along with the original branch instructions. llvm-svn: 191978
* SLPVectorizer: Sort inputs to commutative binary operationsArnold Schwaighofer2013-10-042-4/+357
| | | | | | | | | | | | | | | | | | | | | | | Sort the operands of the other entries in the current vectorization root according to the first entry's operands opcodes. %conv0 = uitofp ... %load0 = load float ... = fmul %conv0, %load0 = fmul %load0, %conv1 = fmul %load0, %conv2 Make sure that we recursively vectorize <%conv0, %conv1, %conv2> and <%load0, %load0, %load0>. This makes it more likely to obtain vectorizable trees. We have to be careful when we sort that we don't destroy 'good' existing ordering implied by source order. radar://15080067 llvm-svn: 191977
* Fixing container/pointer bug in remote-lli found by ASanAndrew Kaylor2013-10-042-28/+29
| | | | llvm-svn: 191976
* Temporarily revert r176882 as it needs to be implemented in a differentEric Christopher2013-10-046-60/+5
| | | | | | way for all platforms. llvm-svn: 191975
* Remove unused local variable.Michael Sartain2013-10-041-2/+0
| | | | llvm-svn: 191974
* lli: Check pipe creation for errors.Benjamin Kramer2013-10-041-2/+3
| | | | | | | This is unlikely to ever fail, but ubuntu GCC warns when the return value is unused. llvm-svn: 191973
* Correct typo: Intructions -> InstructionsEd Maste2013-10-043-5/+5
| | | | llvm-svn: 191972
OpenPOWER on IntegriCloud