| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
c++ objects with non-trivial assignment/copy functions.
Also, one additional sema check. // rdar://6137845
llvm-svn: 147817
|
| |
|
|
|
|
|
|
|
|
| |
functions that can create file descriptors and close them. It will warn when
there close file descriptor call that returns with EBADF and show the
corresponding stack backtraces that caused the issue. It will also log all
file descriptor create and delete calls. See the comments at the top of
FDInterposing.cpp for all of the details.
llvm-svn: 147816
|
| |
|
|
|
|
|
| |
in the module when dumping the information in addition to all info that we
were previously showing.
llvm-svn: 147815
|
| |
|
|
|
|
| |
the linker driver is found.
llvm-svn: 147814
|
| |
|
|
|
|
| |
takes to open and index BSD archives.
llvm-svn: 147813
|
| |
|
|
| |
llvm-svn: 147812
|
| |
|
|
| |
llvm-svn: 147811
|
| |
|
|
|
|
| |
build failulre which I failed to observe before the commit
llvm-svn: 147810
|
| |
|
|
| |
llvm-svn: 147809
|
| |
|
|
|
|
| |
intended to cover C++ class definitions.
llvm-svn: 147808
|
| |
|
|
| |
llvm-svn: 147807
|
| |
|
|
|
|
|
|
|
| |
The pass is prone to looping, and it is better to crash than loop
forever, even in a -Asserts build.
<rdar://problem/10660175>
llvm-svn: 147806
|
| |
|
|
| |
llvm-svn: 147805
|
| |
|
|
| |
llvm-svn: 147802
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After collecting chains, check if any should be materialized. If so,
hide the chained IV users from the LSR solver. LSR will only solve for
the head of the chain. GenerateIVChains will then materialize the
chained IV users by computing the IV relative to its previous value in
the chain.
In theory, chained IV users could be exposed to LSR's solver. This
would be considerably complicated to implement and I'm not aware of a
case where we need it. In practice it's more important to
intelligently prune the search space of nontrivial loops before
running the solver, otherwise the solver is often forced to prune the
most optimal solutions. Hiding the chained users does this well, so
that LSR is more likely to find the best IV for the chain as a whole.
llvm-svn: 147801
|
| |
|
|
| |
llvm-svn: 147799
|
| |
|
|
|
|
| |
specialization.
llvm-svn: 147798
|
| |
|
|
|
|
|
|
| |
This collects a set of IV uses within the loop whose values can be
computed relative to each other in a sequence. Following checkins will
make use of this information.
llvm-svn: 147797
|
| |
|
|
| |
llvm-svn: 147796
|
| |
|
|
| |
llvm-svn: 147794
|
| |
|
|
| |
llvm-svn: 147793
|
| |
|
|
| |
llvm-svn: 147792
|
| |
|
|
| |
llvm-svn: 147791
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
it was checked in as:
virtual bool ABI::FixCodeAddress (lldb::addr_t pc);
when it should have been:
virtual lldb::addr_t ABI::FixCodeAddress (lldb::addr_t pc);
llvm-svn: 147790
|
| |
|
|
| |
llvm-svn: 147789
|
| |
|
|
| |
llvm-svn: 147788
|
| |
|
|
|
|
|
| |
AsmParser holds info specific to target parser.
AsmParserVariant holds info specific to asm variants supported by the target.
llvm-svn: 147787
|
| |
|
|
|
|
| |
padding insertion will not work if the coerced type is not a structure.
llvm-svn: 147786
|
| |
|
|
| |
llvm-svn: 147785
|
| |
|
|
| |
llvm-svn: 147784
|
| |
|
|
|
|
| |
Thanks to David Blaikie for pointing this out.
llvm-svn: 147783
|
| |
|
|
|
|
|
|
| |
the anonymous namespace to its parent. Semantically, this means that
the anonymous namespaces defined in one module are distinct from the
anonymous namespaces defined in another module.
llvm-svn: 147782
|
| |
|
|
|
|
| |
Patch by Joe Groff!
llvm-svn: 147781
|
| |
|
|
|
|
|
|
|
|
| |
that we can merge, for example, two occurrences of
namespace N { void f(); }
in two disjoint modules.
llvm-svn: 147780
|
| |
|
|
| |
llvm-svn: 147779
|
| |
|
|
|
|
|
|
|
| |
modules. Teach name lookup into namespaces to search in each of the
merged DeclContexts as well as the (now-primary) DeclContext. This
supports the common case where two different modules put something
into the same namespace.
llvm-svn: 147778
|
| |
|
|
|
|
|
|
| |
tests.
This subsumes several other transforms while enabling us to catch more cases.
llvm-svn: 147777
|
| |
|
|
| |
llvm-svn: 147776
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is important because it's fairly common for headers (especially system
headers) to want to provide only those typedefs needed for that
particular header, based on some guard macro, e.g.,
#ifndef _SIZE_T
#define _SIZE_T
typedef long size_t;
#endif
which is repeated in a number of headers. The guard macro protects
against duplicate definitions. However, this means that only the first
occurrence of this pattern actually defines size_t, so the submodule
corresponding to this header has the only visible definition. If a
user then imports a different submodule from the same module, size_t
will be known but not visible, and therefore cannot be used.
By allowing redefinition of typedefs, each header that wants to define
size_t can do so independently, so it will be available in the
corresponding submodules.
llvm-svn: 147775
|
| |
|
|
| |
llvm-svn: 147774
|
| |
|
|
|
|
|
|
|
|
|
|
| |
this substraction will result in small negative numbers at worst which
become very large positive numbers on assignment and are thus caught by
the <=4 check on the next line. The >0 check clearly intended to catch
these as negative numbers.
Spotted by inspection, and impossible to trigger given the shift widths
that can be used.
llvm-svn: 147773
|
| |
|
|
| |
llvm-svn: 147772
|
| |
|
|
| |
llvm-svn: 147771
|
| |
|
|
|
|
| |
Predicate functions have been altered to maintain previous names and behavior.
llvm-svn: 147770
|
| |
|
|
| |
llvm-svn: 147769
|
| |
|
|
|
|
| |
priority over the SSE version. Another step towards trying to remove the AVX hack that disables SSE from X86Subtarget.
llvm-svn: 147768
|
| |
|
|
|
|
| |
on MOVNTPS and MOVNTDQ. And v4i64 was completely missing.
llvm-svn: 147767
|
| |
|
|
|
|
| |
AVX equivalent so we should use the SSE version.
llvm-svn: 147766
|
| |
|
|
|
|
| |
operations ANDPS/ORPS/XORPS/ANDNPS. This fixes a pattern ordering issue that meant that the SSE2 instructions could never be directly selected since the SSE1 patterns would always match first. This is largely moot with the ExeDepsFix pass, but I'm trying to audit for all such ordering issues.
llvm-svn: 147765
|
| |
|
|
|
|
| |
hasXMM/hasXMMInt instead. Also fix one place that checked SSE3, but accidentally excluded AVX to use hasSSE3orAVX. This is a step towards removing the AVX hack from the X86Subtarget.h
llvm-svn: 147764
|