- Jan 26, 2016
-
-
Derek Schuff authored
This pass runs after FrameIndex elimination, so it should never see FI operands. NFC llvm-svn: 258860
-
Evgeniy Stepanov authored
Move all internal stuff into namespace __cfi. Remove the double underscore prefix from anything that's now inside the namespace. llvm-svn: 258859
-
Sanjay Patel authored
LowerBUILD_VECTOR is still over 300 lines long, but it's a start... llvm-svn: 258858
-
Evgeniy Stepanov authored
Add dlopen/dlclose interceptors to update CFI shadow for loaded/unloaded libraries. llvm-svn: 258857
-
Hemant Kulkarni authored
llvm-svn: 258856
-
Eric Fiselier authored
llvm-svn: 258855
-
Hemant Kulkarni authored
llvm-svn: 258854
-
JF Bastien authored
I forgot to update this one in my previous patch. llvm-svn: 258853
-
Eric Fiselier authored
llvm-svn: 258852
-
JF Bastien authored
r258781 optimized memcpy/memmove/memcpy so the intrinsic call can return its first argument, but missed the frame index case. Teach it to ignore that case so C code doesn't assert out in these cases. llvm-svn: 258851
-
Yunzhong Gao authored
This is same as GCC behavior (tested with GCC 4.8.2). Differential Revision: http://reviews.llvm.org/D16365 llvm-svn: 258850
-
Mike Aizatsky authored
Differential Revision: http://reviews.llvm.org/D16546 llvm-svn: 258849
-
Cong Hou authored
llvm-svn: 258848
-
Cong Hou authored
Currently, AnalyzeBranch() fails non-equality comparison between floating points on X86 (see https://llvm.org/bugs/show_bug.cgi?id=23875). This is because this function can modify the branch by reversing the conditional jump and removing unconditional jump if there is a proper fall-through. However, in the case of non-equality comparison between floating points, this can turn the branch "unanalyzable". Consider the following case: jne.BB1 jp.BB1 jmp.BB2 .BB1: ... .BB2: ... AnalyzeBranch() will reverse "jp .BB1" to "jnp .BB2" and then "jmp .BB2" will be removed: jne.BB1 jnp.BB2 .BB1: ... .BB2: ... However, AnalyzeBranch() cannot analyze this branch anymore as there are two conditional jumps with different targets. This may disable some optimizations like block-placement: in this case the fall-through behavior is enforced even if the fall-through block is very cold, which is suboptimal. Actually this optimization is also done in block-placement pass, which means we can remove this optimization from AnalyzeBranch(). However, currently X86::COND_NE_OR_P and X86::COND_NP_OR_E are not reversible: there is no defined negation conditions for them. In order to reverse them, this patch defines two new CondCode X86::COND_E_AND_NP and X86::COND_P_AND_NE. It also defines how to synthesize instructions for them. Here only the second conditional jump is reversed. This is valid as we only need them to do this "unconditional jump removal" optimization. Differential Revision: http://reviews.llvm.org/D11393 llvm-svn: 258847
-
Davide Italiano authored
llvm-svn: 258846
-
Hemant Kulkarni authored
Adds a way to inspect SHT_GROUP sections in ELF objects. Displays signature, member sections of these sections. Differential revision: http://reviews.llvm.org/D16555 llvm-svn: 258845
-
Jonathan Peyton authored
This change fixes the bug: https://llvm.org/bugs/show_bug.cgi?id=25975 by bypassing the perl module files which try to deduce system information. These perl modules files don't offer useful information and are from the original build system. They can be removed after this change. llvm-svn: 258843
-
Chad Rosier authored
The call to isInvariantLoad() already returns false for non-load instructions. llvm-svn: 258841
-
David Majnemer authored
Member pointers in the MS ABI are tricky for a variety of reasons. The size of a member pointer is indeterminate until the program reaches a point where the representation is required to be known. However, *pointers* to member pointers may exist without knowing the pointee type's representation. In these cases, we synthesize an opaque LLVM type for the pointee type. However, we can be in a situation where the underlying member pointer's representation became known mid-way through the program. To account for this, we attempted to manicure CodeGen's type-cache so that we can replace the opaque member pointer type with the real deal while leaving the pointer types unperturbed. This, unfortunately, is a problematic approach to take as we will violate CodeGen's invariants. These violations are mostly harmless but let's do the right thing instead: invalidate the type-cache if a member pointer's LLVM representation changes. This fixes PR26313. llvm-svn: 258839
-
Sanjay Patel authored
llvm-svn: 258838
-
Davide Italiano authored
llvm-svn: 258837
-
Eugene Zelenko authored
Differential revision: http://reviews.llvm.org/D16567 llvm-svn: 258836
-
Jonathan Coe authored
llvm-svn: 258835
-
Manman Ren authored
This is the third patch in a series of patches to support class properties in addition to instance properties in objective-c. rdar://23891898 llvm-svn: 258834
-
Sanjay Patel authored
Let DAG.getConstant() handle the splatting; there's no need to repeat that logic here. llvm-svn: 258833
-
Arpith Chacko Jacob authored
Summary: This patch adds parsing + sema for the target parallel directive and its clauses along with testcases. Reviewers: ABataev Differential Revision: http://reviews.llvm.org/D16553 Rebased to current trunk and updated test cases. llvm-svn: 258832
-
Eugene Zelenko authored
Differential revision: reviews.llvm.org/D16568 llvm-svn: 258831
-
Aditya Nandakumar authored
Previously the RedoInsts was processed at the end of the block. However it was possible that it left behind some instructions that were not canonicalized. This should guarantee that any previous instruction in the basic block is canonicalized before we process a new instruction. llvm-svn: 258830
-
Eugene Zelenko authored
Differential revision: http://reviews.llvm.org/D16565 llvm-svn: 258829
-
Sanjay Patel authored
llvm-svn: 258828
-
Benjamin Kramer authored
llvm-svn: 258827
-
Kevin Enderby authored
llvm-objdump when printing the Mach Header to print the unknown cputype and cpusubtype fields as decimal instead of not printing them at all. And change the test to check for that. llvm-svn: 258826
-
Sanjay Patel authored
llvm-svn: 258825
-
Manman Ren authored
All current properties are instance properties. This is the second patch in a series of patches to support class properties in addition to instance properties in objective-c. rdar://23891898 llvm-svn: 258824
-
Justin Lebar authored
Summary: Turns out the variadic function checking added in r258643 was too strict for some existing users; give them an escape valve. When -fcuda-allow-variadic-functions is passed, the front-end makes no attempt to disallow C-style variadic functions. Calls to va_arg are still not allowed. Reviewers: tra Subscribers: cfe-commits, jhen, echristo, bkramer Differential Revision: http://reviews.llvm.org/D16559 llvm-svn: 258822
-
Saleem Abdulrasool authored
Seems that the patch was rebased on top of another change which obsoleted the change but wasnt caught. Thanks to nbjoerg for pointing this out! llvm-svn: 258821
-
Sanjay Patel authored
llvm-svn: 258820
-
Benjamin Kramer authored
llvm-svn: 258819
-
Benjamin Kramer authored
No functional change, just moving code around. llvm-svn: 258818
-
Arpith Chacko Jacob authored
Summary: This patch adds parsing + sema for the defaultmap clause associated with the target directive (among others). Reviewers: ABataev Differential Revision: http://reviews.llvm.org/D16527 llvm-svn: 258817
-