| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Re-run tests changed in r211110 to test both paths.
Also fix broken check line.
llvm-svn: 212895
|
| |
|
|
|
|
|
| |
The unpromoted path still needs to be tested since we can't
always promote to using LDS.
llvm-svn: 212894
|
| |
|
|
|
|
|
| |
This can make writing some tests harder, so add a flag
to disable it.
llvm-svn: 212893
|
| |
|
|
| |
llvm-svn: 212889
|
| |
|
|
| |
llvm-svn: 212888
|
| |
|
|
| |
llvm-svn: 212886
|
| |
|
|
|
|
| |
Theoretically this should now work for MachineBasicBlocks.
llvm-svn: 212885
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds a llvm.aarch64.hint intrinsic to mirror the llvm.arm.hint in order to
support the various hint intrinsic functions in the ACLE.
Add an optional pattern field that permits the subclass to specify the pattern
that matches the selection. The intrinsic pattern is set as mayLoad, mayStore,
so overload the value for the definition of the hint instruction.
llvm-svn: 212883
|
| |
|
|
|
|
|
|
|
| |
Due to the fact that the windows unwinding has the concept of chained frames, we
maintain a current frame info pointer that is adjusted on any push and pop of a
unwinding context. This just removes an unnecessary variable that was used to
mirror the DWARF unwinding code.
llvm-svn: 212882
|
| |
|
|
|
|
|
|
| |
This structure contains information related to the call frame used to generate
unwinding information. Rename this to reflect the future use to represent the
shared state between various architectures for WinCFI information.
llvm-svn: 212881
|
| |
|
|
|
|
| |
Recognize only flags which correspond to the current target.
llvm-svn: 212880
|
| |
|
|
|
|
|
|
|
|
| |
not properly handle the case where the predecessor block was the entry block to
the function. The only in-tree client of this is JumpThreading, which worked
around the issue in its own code. This patch moves the solution into the helper
so that JumpThreading (and other clients) do not have to replicate the same fix
everywhere.
llvm-svn: 212875
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
error reports.
Currently ASan instrumentation pass creates a string with global name
for each instrumented global (to include global names in the error report). Global
name is already mangled at this point, and we may not be able to demangle it
at runtime (e.g. there is no __cxa_demangle on Android).
Instead, create a string with fully qualified global name in Clang, and pass it
to ASan instrumentation pass in llvm.asan.globals metadata. If there is no metadata
for some global, ASan will use the original algorithm.
This fixes https://code.google.com/p/address-sanitizer/issues/detail?id=264.
llvm-svn: 212872
|
| |
|
|
| |
llvm-svn: 212870
|
| |
|
|
| |
llvm-svn: 212868
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementation is small now -- the interesting logic was moved to
`BranchProbability` a while ago. Move it into `bfi_detail` and get rid
of the related TODOs.
I was originally planning to define it within `BlockFrequencyInfoImpl`
(or `BFIIBase`), but it seems cleaner in a namespace. Besides,
`isPodLike` needs to be specialized before `BlockMass` can be used in
some of the other data structures, and there isn't a clear way to do
that.
llvm-svn: 212866
|
| |
|
|
|
|
|
| |
This should make it easy to set a flag for a whole group of clang driver
options.
llvm-svn: 212865
|
| |
|
|
|
|
| |
<rdar://problem/17648000>
llvm-svn: 212864
|
| |
|
|
| |
llvm-svn: 212862
|
| |
|
|
| |
llvm-svn: 212861
|
| |
|
|
|
|
|
|
| |
Test cases to follow once RuntimeDyldChecker supports introspection of stubs.
Fixes <rdar://problem/17648000>
llvm-svn: 212859
|
| |
|
|
|
|
| |
This reverts commit r212851, because it broke the memset lowering.
llvm-svn: 212855
|
| |
|
|
|
|
|
| |
Rename X86VisitIntrinsicCall -> FastLowerIntrinsicCall, which effectively
implements the target hook.
llvm-svn: 212851
|
| |
|
|
|
|
|
|
| |
llvm.asan.globals.
No functionality change.
llvm-svn: 212850
|
| |
|
|
|
|
|
|
|
|
| |
This implements the target-independent lowering for the patchpoint
intrinsic. Targets have to implement the FastLowerCall
hook to support this intrinsic.
Related to <rdar://problem/17427052>
llvm-svn: 212849
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lowering hook in FastISel. WIP
The infrastructure mimics the call lowering we have already in place for
SelectionDAG, but with limitations. For example structure return demotion and
non-simple types are not supported (yet).
Currently every backend has its own implementation and duplicated code for call
lowering. There is also no specified interface that could be called from
target-independent code. The target-hook is opt-in and doesn't affect current
implementations.
llvm-svn: 212848
|
| |
|
|
|
|
| |
to be sunk - add them to the worklist
llvm-svn: 212847
|
| |
|
|
|
|
|
|
| |
llvm::Triple::getARMCPUForArch().
Suggested by Eric Christopher.
llvm-svn: 212846
|
| |
|
|
|
|
|
| |
Break out the arguemnts required from SelectionDAG, so that this function can
also be used by FastISel.
llvm-svn: 212844
|
| |
|
|
|
|
|
|
|
|
|
| |
target-hook.
Create a separate helper function for target-independent intrinsic lowering. Also
add an target-hook that allows to directly call into a target-sepcific intrinsic
lowering method. Currently the implementation is opt-in and doesn't affect
existing target implementations.
llvm-svn: 212843
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the specified section. This is same functionality as darwin’s nm(1) "-s" flag.
There is one FIXME in the code and I’m all ears to anyone that can help me
with that. This option takes exactly two strings and should be allowed
anywhere on the command line. Such that "llvm-nm -s __TEXT __text foo.o"
would work. But that does not as the CommandLine Library does not have a
way to make this work as far as I can tell. For now the "-s __TEXT __text"
has to be last on the command line.
llvm-svn: 212842
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The memcpy() and overlap helps didn't help much with timings, so clean up the change.
The difference at this point is that we now leave growth of the storage buffer
up to SmallVector's implementation:
- OS.reserve(OS.capacity() * 2);
+ OS.reserve(OS.size() + 64);
llvm-svn: 212837
|
| |
|
|
|
|
|
| |
These two routines didn't take a "const MCSymbolData &SD"
like the other MCELF::Get routines for some reason ...
llvm-svn: 212834
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes a bug in PPCRegisterInfo::isFrameOffsetLegal that
could result in the LocalStackAlloc pass creating an MI instruction
out-of-range displacement:
%vreg17<def> = LD 33184, %vreg31; mem:LD8[%g](align=32)
%G8RC:%vreg17 G8RC_and_G8RC_NOX0:%vreg31
(In final assembler output the top bits are stripped off, resulting
in a negative offset loading from below the stack pointer.)
Common code expects the isFrameOffsetLegal routine to verify whether
adding a given offset to the offset already present in the instruction
results in a valid displacement. However, on PowerPC the routine
did not take the already present instruction offset into account.
This commit fixes isFrameOffsetLegal to add the instruction offset,
and updates a local caller (needsFrameBaseReg) to no longer add the
instruction offset itself before calling isFrameOffsetLegal.
Reviewed by Hal Finkel.
llvm-svn: 212832
|
| |
|
|
|
|
|
|
| |
This affects new intrinsics only.
What surprises me is that v32i8 still works.
llvm-svn: 212831
|
| |
|
|
|
|
|
|
|
|
|
| |
We need the intrinsics with offsets, so why not just add them all.
The R128 parameter will also be useful for reducing SGPR usage.
GL_ARB_image_load_store also adds some image GLSL modifiers like "coherent",
so Mesa will probably translate those to slc, glc, etc.
When LLVM 3.5 is released, I'll switch Mesa to these new intrinsics.
llvm-svn: 212830
|
| |
|
|
|
|
|
| |
It was conflicting with def TEX_SHADOW_ARRAY, which also handles them.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 212829
|
| |
|
|
| |
llvm-svn: 212828
|
| |
|
|
|
|
| |
script, compile-custom.ll.py, for shebang-incapable hosts.
llvm-svn: 212820
|
| |
|
|
| |
llvm-svn: 212819
|
| |
|
|
|
|
| |
affects add_library(SHARED) for Win32.DLL.
llvm-svn: 212818
|
| |
|
|
|
|
|
|
|
|
| |
Including the scratch buffer size in the initial reservation eliminates the
subsequent malloc+move operation and offers a healthier constant growth with
less memory wastage.
When doing this, take care to avoid invalidating the source buffer.
llvm-svn: 212816
|
| |
|
|
|
|
|
| |
ACLE 2.0 allows __fp16 to be used as a function argument or return
type. This enables this for AArch64.
llvm-svn: 212812
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adding too many CHECK-NOTs manually.
Summary:
Add FileCheck -implicit-check-not option which allows specifying a
pattern that should only occur in the input when explicitly matched by a
positive check. This feature allows checking tool diagnostics in a way
clang -verify does it for compiler diagnostics.
The option has been tested on a number of clang-tidy checks, I'll post a link to
the clang-tidy patch to this thread.
Once there's an agreement on the general direction, I can add tests and
documentation.
Reviewers: djasper, bkramer
Reviewed By: bkramer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D4462
llvm-svn: 212810
|
| |
|
|
|
|
|
|
| |
Also add a few comments.
<rdar://problem/17581756>
llvm-svn: 212808
|
| |
|
|
| |
llvm-svn: 212803
|
| |
|
|
|
|
|
|
| |
This commit fixes bug http://llvm.org/bugs/show_bug.cgi?id=20103.
Thanks to Qwertyuiop for the report and the proposed fix.
llvm-svn: 212802
|
| |
|
|
|
|
|
|
| |
No functional change. As I was trying to understand this function, I found
that variables were reused with confusing names and the broadcast case was a
bit too implicit. Hopefully, this is an improvement.
llvm-svn: 212795
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It was computing the VL/n case as:
MemObjSize = VectorByteSize / ElemByteSize / Divider * ElemByteSize
ElemByteSize not only falls out but VectorByteSize/Divider now actually
matches the definition of VL/n.
Also some formatting fixes.
llvm-svn: 212794
|
| |
|
|
|
|
|
|
|
|
|
|
| |
instructions within a function, lead to the function itself.""
This reverts commit r212776.
Nope, still seems to be failing on the sanitizer bots... but hey, not
the msan self-host anymore, it's failing in asan now. I'll start looking
there next.
llvm-svn: 212793
|