summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GlobalOpt: Optimize in the face of insertvalue/extractvalueDavid Majnemer2014-08-082-2/+26
| | | | | | | | | | GlobalOpt didn't know how to simulate InsertValueInst or ExtractValueInst. Optimizing these is pretty straightforward. N.B. This came up when looking at clang's IRGen for MS ABI member pointers; they are represented as aggregates. llvm-svn: 215184
* [Fix] Broken build after r215121Johannes Doerfert2014-08-081-6/+14
| | | | llvm-svn: 215183
* Add newline at end of IOObject.h to silence clang warning.Jason Molenda2014-08-081-1/+1
| | | | llvm-svn: 215182
* Fix llvm/test/DebugInfo/X86/recursive_inlining.ll to use %llc_dwarf.NAKAMURA Takumi2014-08-081-1/+1
| | | | llvm-svn: 215181
* AArch64InstrInfo.cpp: Fix \param(s). [-Wdocumentation]NAKAMURA Takumi2014-08-081-2/+2
| | | | llvm-svn: 215180
* Suppress clang-tools-extra/test/clang-tidy/llvm-include-order.cpp for ↵NAKAMURA Takumi2014-08-081-0/+3
| | | | | | | | | | | | | | | | | targeting msvc. Investigating. FYI, I can see the order; #include "j.h" #include "i.h" #include "clang-c/c.h" // hi #include "clang/b.h" #include "llvm-c/d.h" // -c #include "llvm/a.h" #include "gtest/foo.h" #include <s.h> llvm-svn: 215179
* Don't duplicate the logic of the ↵Jim Ingham2014-08-081-12/+4
| | | | | | | | ThreadPlanShouldStopHere::DefaultShouldStopHereCallback in the ThreadPlanStepInRange's implementation, just call it... llvm-svn: 215178
* [CMake] Upate libdeps in FrontendTests corresponding to r215145.NAKAMURA Takumi2014-08-081-0/+1
| | | | llvm-svn: 215177
* [tablegen] - Eliminate memory leaks in TGParser.cppAnton Yartsev2014-08-081-4/+26
| | | | | | Ugly solution indicating that a refactoring is necessary to get the ownership under control. llvm-svn: 215176
* [clang-tidy] Fix sed flag, third tryRui Ueyama2014-08-081-1/+1
| | | | llvm-svn: 215175
* MS ABI: Don't force bases to have an inheritance modelDavid Majnemer2014-08-083-8/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, assigning an inheritance model to a derived class would trigger further assiginments to the various bases of the class. This was done to fix a bug where we couldn't handle an implicit base-to-derived conversion for pointers-to-members when the conversion was ambiguous at an earlier point. However, this is not how the MS scheme works. Instead, assign inheritance models to *just* the class which owns to declaration we ended up referencing. N.B. This result is surprising in many ways. It means that it is possible for a base to have a "larger" inheritance model than it's derived classes. It also means that bases in the conversion path do not get assigned a model. struct A { void f(); void f(int); }; struct B : A {}; struct C : B {}; void f() { void (C::*x)() = &A::f; } We can only begin to assign an inheritance model *after* we've seen the address-of but *before* we've done the implicit conversion the more derived pointer-to-member type. After that point, both 'A' and 'C' will have an inheritance model but 'B' will not. Surprising, right? llvm-svn: 215174
* [AVX512] Add zero-masking variant to AVX512_masking multiclassAdam Nemet2014-08-072-2/+21
| | | | | | | | | | | This completes one item from the todo-list of r215125 "Generate masking instruction variants with tablegen". The AddedComplexity is needed just like for the k variant. Added a codegen test based on valignq. llvm-svn: 215173
* Disable the command pipe in ConnectionFileDescriptor for Windows.Zachary Turner2014-08-071-1/+8
| | | | | | | | | | The select() API on Windows is not compatible with objects other than sockets, so passing a descriptor for the command pipe to this function is guaranteed to fail. ConnectionFileDescriptor is still broken on Windows after this patch, but slightly less broken than before. llvm-svn: 215172
* [clang-tidy] Fix sed flag againRui Ueyama2014-08-071-1/+1
| | | | | | | | | Darwin's sed does not recognize -r to tell the tool that the expression is the extended regexp. Seems we don't really need the flag, as the expression is valid as the standard regexp. Removing the flag. llvm-svn: 215171
* Revert "Fix the build broken as a result of deleting jit from LLVM."Zachary Turner2014-08-073-2/+5
| | | | | | | jit was re-added back to LLVM, so now we require to link against it again. Should it get removed again, then revert this revert. llvm-svn: 215170
* Fix for multi-line comment warningGerolf Hoflehner2014-08-071-12/+12
| | | | llvm-svn: 215169
* [AVX512] Add codegen test for the masking variant of valignAdam Nemet2014-08-072-2/+12
| | | | | | | The AddedComplexity is needed just like in avx512_perm_3src. There may be a bug in the complexity computation... llvm-svn: 215168
* [stack protector] Look through bitcasts to get global variableAkira Hatanaka2014-08-072-9/+45
| | | | | | | | | | | | | | | | __stack_chk_guard. Handle the case where the pointer operand of the load instruction that loads the stack guard is not a global variable but instead a bitcast. %StackGuard = load i8** bitcast (i64** @__stack_chk_guard to i8**) call void @llvm.stackprotector(i8* %StackGuard, i8** %StackGuardSlot) Original test case provided by Ana Pazos. This fixes PR20558. llvm-svn: 215167
* Make these regexes stricter by disallowing any additional characters in the ↵Adrian Prantl2014-08-072-2/+2
| | | | | | | | output. Thanks to dblaikie for pointing this out! llvm-svn: 215166
* Restore the handling of the --arch argument passed to the Driver that was ↵Jim Ingham2014-08-071-1/+6
| | | | | | | | | | inadvertently removed in r214319. <rdar://problem/17948431> llvm-svn: 215165
* MS ABI: Handle member function pointers returning a member data pointerDavid Majnemer2014-08-075-1/+39
| | | | | | | | | MSVC doesn't decide what the inheritance model for a returned member pointer *until* a call expression returns it. This fixes PR20017. llvm-svn: 215164
* [clang-tidy] Fix sed flag.Rui Ueyama2014-08-071-1/+1
| | | | | | | GNU sed does not recognize -E. Use -r that is supported by both BSD and GNU instead. llvm-svn: 215163
* SLPVectorizer: Use the type of the value loaded/stored to get the ABI alignmentArnold Schwaighofer2014-08-072-3/+32
| | | | | | We were using the pointer type which is incorrect. llvm-svn: 215162
* Add a separate testcase for a DWARF expression describing a value in aAdrian Prantl2014-08-071-0/+63
| | | | | | subregister. llvm-svn: 215161
* Reflow this comment.Adrian Prantl2014-08-071-1/+3
| | | | llvm-svn: 215160
* r215124 missed a few Mac OS X only uses of FileSpec::Resolve, fixing to matchJim Ingham2014-08-071-11/+10
| | | | | | the new signature. llvm-svn: 215159
* Fix the description of FileSpec::Resolve to match the new signature.Jim Ingham2014-08-071-4/+2
| | | | llvm-svn: 215158
* DebugInfo: Fix overwriting/loss of inlined arguments to recursively inlined ↵David Blaikie2014-08-072-4/+277
| | | | | | | | | | | | | | | | | | | | | functions. Due to an unnecessary special case, inlined arguments that happened to be from the same function as they were inlined into were misclassified as non-inline arguments and would overwrite the non-inlined arguments. Assert that we never overwrite a function's arguments, and stop misclassifying inlined arguments as non-inline arguments to fix this issue. Excuse the rather crappy test case - handcrafted IR might do better, or someone who understands better how to tickle the inliner to create a recursive inlining situation like this (though it may also be necessary to tickle the variable in a particular way to cause it to be recorded in the MMI side table and go down this particular path for location information). llvm-svn: 215157
* Temporarily Revert "Update for llvm API change."Eric Christopher2014-08-071-0/+1
| | | | | | This reverts commit 215113 to match the reversion in llvm. llvm-svn: 215156
* fix materialization of one bit constants and global values which are ↵Reed Kotler2014-08-072-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | accessed through a base GOT entry. Summary: get tip of tree mips fast-isel to pass test-suite Two bugs were fixed: 1) one bit booleans were treated as 1 bit signed integers and so the literal '1' could become sign extended. 2) mips uses got for pic but in certain cases, as with string constants for example, many items can be referenced from the same got entry and this case was not handled properly. Test Plan: test-suite Reviewers: dsanders Reviewed By: dsanders Subscribers: mcrosier Differential Revision: http://reviews.llvm.org/D4801 llvm-svn: 215155
* Temporarily Revert "Nuke the old JIT." as it's not quite ready toEric Christopher2014-08-07258-184/+12512
| | | | | | | | | | | be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate. Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reverts commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 215154
* Debugging Utility - optional ability for dumping critical path lengthGerolf Hoflehner2014-08-071-2/+16
| | | | llvm-svn: 215153
* [clang-tidy] Implement the include order checker for LLVM.Benjamin Kramer2014-08-0713-10/+169
| | | | | | | | | | There are still a couple of rough edges in here but it is working fine on LLVM and generates the same results as sort_includes.py if there are no blank lines involved. Differential Revision: http://reviews.llvm.org/D4741 llvm-svn: 215152
* MachineCombiner Pass for selecting faster instruction sequence on AArch64Gerolf Hoflehner2014-08-078-21/+564
| | | | | | | | | | Re-commit of r214832,r21469 with a work-around that avoids the previous problem with gcc build compilers The work-around is to use SmallVector instead of ArrayRef of basic blocks in preservesResourceLen()/MachineCombiner.cpp llvm-svn: 215151
* Add two missing ARM cpusubtypes to the switch statement in Kevin Enderby2014-08-071-0/+4
| | | | | | | | | MachOObjectFile::getArch(uint32_t CPUType, uint32_t CPUSubType) . Upcoming changes will cause existing test cases to use this but I wanted to check in this obvious change separately. llvm-svn: 215150
* Debug info: Use the vbtable offset for virtual bases in the MS ABIReid Kleckner2014-08-072-7/+27
| | | | | | | | There are no vtable offset offsets in the MS ABI, but vbtable offsets are analogous. There are no consumers of this information yet, but at least we don't crash now. llvm-svn: 215149
* Fix a case in SROA where lifetime intrinsics could inhibit alloca promotion. InOwen Anderson2014-08-072-0/+35
| | | | | | | | this case, the code path dealing with vector promotion was missing the explicit checks for lifetime intrinsics that were present on the corresponding integer promotion path. llvm-svn: 215148
* [modules] Don't defer performing updates if we have incomplete redecl chains.Richard Smith2014-08-072-25/+39
| | | | | | Instead, perform them carefully immediately. llvm-svn: 215147
* Objective-C arc. Switch the Objective-C dictionary literal in ARC modeFariborz Jahanian2014-08-076-13/+32
| | | | | | | to use non-retain/autorelease API variants of ObjC objects. wip. rdar://17554063 llvm-svn: 215146
* Flip the order the preprocessor and frontendaction are informed of the end ↵Benjamin Kramer2014-08-072-4/+50
| | | | | | | | | | | of a file. This allows using EndOfMainFile from a PPCallback to access data from the action. The pattern of PPCallback referencing an action is common in clang-tidy. Differential Revision: http://reviews.llvm.org/D4773 llvm-svn: 215145
* StringLexer: Fix CMake buildDavid Majnemer2014-08-071-0/+1
| | | | llvm-svn: 215144
* [MCJIT] Replace a c-style cast with reinterpret_cast + static_cast.Lang Hames2014-08-071-4/+4
| | | | | | | | | | C-style casts (and reinterpret_casts) result in implementation defined values when a pointer is cast to a larger integer type. On some platforms this was leading to bogus address computations in RuntimeDyldMachOAArch64. This should fix http://llvm.org/PR20501. llvm-svn: 215143
* Remove Support/IncludeFile.h and its only user. This is actively harmful, sinceRichard Smith2014-08-075-107/+0
| | | | | | | | | | | | | it breaks the modules builds (where CallGraph.h can be quite reasonably transitively included by an unimported portion of a module, and CallGraph.cpp not linked in), and appears to have been entirely redundant since PR780 was fixed back in 2008. If this breaks anything, please revert; I have only tested this with a single configuration, and it's possible that this is still somehow fixing something (though I doubt it, since no other similar file uses this mechanism any more). llvm-svn: 215142
* Revert "Debug info: Use record layout to find vbase offsets instead of vtables"Reid Kleckner2014-08-072-9/+5
| | | | | | | | | This reverts commit r215137. This doesn't work at all, an offset-offset is probably different than an offset. I'm scared that this passed our normal test suite. llvm-svn: 215141
* Fix test failure on ARM.Rafael Espindola2014-08-071-2/+2
| | | | llvm-svn: 215140
* [modules] Update module map workaround to cope with the problematic file havingRichard Smith2014-08-071-2/+2
| | | | | | been relocated. llvm-svn: 215139
* test commit: remove trailing whitespace.Frederic Riss2014-08-071-2/+2
| | | | llvm-svn: 215138
* Debug info: Use record layout to find vbase offsets instead of vtablesReid Kleckner2014-08-072-5/+9
| | | | | | | | | This fixes an assertion when generating full debug info in the MS ABI for classes with virtual bases. Fixes PR20579. llvm-svn: 215137
* Remove a few XFAILs.Rafael Espindola2014-08-0725-25/+0
| | | | | | These tests now pass with MCJIT. llvm-svn: 215136
* [Branch probability] Recompute branch weights of tail-merged basic blocks.Akira Hatanaka2014-08-074-8/+145
| | | | | | | | | | | | | | | BranchFolderPass was not correctly setting the basic block branch weights when tail-merging created or merged blocks. This patch recomutes the weights of tail-merged blocks using the following formula: branch_weight(merged block to successor j) = sum(block_frequency(bb) * branch_probability(bb -> j)) bb is a block that is in the set of merged blocks. <rdar://problem/16256423> llvm-svn: 215135
OpenPOWER on IntegriCloud