| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 125792
|
| |
|
|
|
|
| |
emulate, to cover those that can change the PC.
llvm-svn: 125791
|
| |
|
|
|
|
| |
common operations through a phi.
llvm-svn: 125790
|
| |
|
|
| |
llvm-svn: 125789
|
| |
|
|
|
|
|
| |
WriteFlags() and renamed WriteCoreRegisterWithFlags() to WriteCoreRegOptionalFlags().
Modified the call sites to use the helper methods.
llvm-svn: 125788
|
| |
|
|
| |
llvm-svn: 125787
|
| |
|
|
| |
llvm-svn: 125786
|
| |
|
|
|
|
| |
result inbounds if all of the inputs are inbounds.
llvm-svn: 125785
|
| |
|
|
|
|
| |
by Heikki Kultala!
llvm-svn: 125784
|
| |
|
|
| |
llvm-svn: 125783
|
| |
|
|
|
|
|
| |
Renamed EmulateAddRdnRm() to EmulateAddReg(), and added Encoding T1 to it.
Where Encoding T2 can potentially modify the PC, causing a brnach.
llvm-svn: 125782
|
| |
|
|
|
|
| |
macros.
llvm-svn: 125781
|
| |
|
|
|
|
|
|
|
|
| |
The relative checker package is 'debug':
'-dump-live-variables' is replaced by '-analyzer-checker=debug.DumpLiveVars'
'-cfg-view' is replaced by '-analyzer-checker=debug.ViewCFG'
'-cfg-dump' is replaced by '-analyzer-checker=debug.DumpCFG'
llvm-svn: 125780
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
non-path-sensitive-checkers:
DeadStoresChecker
ObjCMethSigsChecker
ObjCUnusedIvarsChecker
SizeofPointerChecker
ObjCDeallocChecker
SecuritySyntaxChecker
llvm-svn: 125779
|
| |
|
|
|
|
|
|
|
|
| |
-Introduce CheckerV2, a set of templates for convenient declaration & registration of checkers.
Currently useful just for checkers working on the AST not the path-sensitive ones.
-Enhance CheckerManager to actually collect the checkers and turn it into the entry point for
running the checkers.
-Use the new mechanism for the LLVMConventionsChecker.
llvm-svn: 125778
|
| |
|
|
| |
llvm-svn: 125777
|
| |
|
|
|
|
|
| |
Add getAllOnesValue of FP numbers to Constants and APFloat.
Add more tests.
llvm-svn: 125776
|
| |
|
|
|
|
|
|
|
| |
especially C++ code, and generally expand the test coverage.
Logic adapted from a patch by Kaelyn Uhrain <rikka@google.com> and
another Googler.
llvm-svn: 125775
|
| |
|
|
| |
llvm-svn: 125774
|
| |
|
|
|
|
| |
of Clang, and reflows the code a bit to make it easier to read.
llvm-svn: 125773
|
| |
|
|
| |
llvm-svn: 125772
|
| |
|
|
|
|
|
|
|
|
| |
making them be template instantiated in a more normal way and
make them handle attributes like other decls.
This fixes the used/unused label handling stuff, making it use
the same infrastructure as other decls.
llvm-svn: 125771
|
| |
|
|
|
|
| |
client, making room for future hacking.
llvm-svn: 125770
|
| |
|
|
|
|
| |
and findInstantiationOf can never return null, even on invalid code.
llvm-svn: 125769
|
| |
|
|
| |
llvm-svn: 125768
|
| |
|
|
|
|
|
|
| |
Halfword"
operations for Thumb2.
llvm-svn: 125767
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
aligned
and unaligned memory accesses. The new stub functions are MemARead, MemAWrite,
MemURead, and MemUWrite. At the moment these stubs just call ReadMemoryUnsigned or
WriteMemoryUnsigned, but we can fill them out further later if we decide we need
more accurate emulation of the memory system.
Replaced all the direct calls to ReadMemoryUnsigned and WriteMemoryUnsigned in
EmulateInstructionARM.cpp with calls to the appropriate new stub function.
llvm-svn: 125766
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(LLVMX86Utils.a) to break cyclic library dependencies between
LLVMX86CodeGen.a and LLVMX86AsmParser.a. Previously this code was in
a header file and marked static but AVX requires some additional
functionality here that won't be used by all clients. Since including
unused static functions causes a gcc compiler warning, keeping it as a
header would break builds that use -Werror. Putting this in its own
library solves both problems at once.
llvm-svn: 125765
|
| |
|
|
|
|
|
|
| |
A local live range is live in a single basic block. If such a range fails to
allocate, try to find a sub-range that would get a larger spill weight than its
interference.
llvm-svn: 125764
|
| |
|
|
|
|
| |
classes, since it's only really worked for the trivial cases anyway due to lame pseudo-parsing of the class name. The viewInheritance() function is still available for use in the debugger, where this is far more useful
llvm-svn: 125762
|
| |
|
|
| |
llvm-svn: 125761
|
| |
|
|
|
|
| |
computed; no need to do so again at the end of the translation unit
llvm-svn: 125760
|
| |
|
|
|
|
| |
these patterns.
llvm-svn: 125759
|
| |
|
|
|
|
|
|
|
|
| |
Checkers.inc to be
included without '..', thus being compatible with build systems of *BSDs.
Patch by Joerg Sonnenberger!
llvm-svn: 125758
|
| |
|
|
| |
llvm-svn: 125757
|
| |
|
|
|
|
|
|
| |
reducing the size of all declarations by one pointer. For a 64-bit
Clang parsing Cocoa.h, this saves ~630k of memory (about 3.5% of
ASTContext's memory usage for this header).
llvm-svn: 125756
|
| |
|
|
| |
llvm-svn: 125755
|
| |
|
|
| |
llvm-svn: 125754
|
| |
|
|
| |
llvm-svn: 125753
|
| |
|
|
| |
llvm-svn: 125752
|
| |
|
|
| |
llvm-svn: 125751
|
| |
|
|
| |
llvm-svn: 125750
|
| |
|
|
|
|
|
|
|
| |
the time but presumably my email got lost). Examples where the previous logic
got it wrong: (1) a signed i8 multiply of 64 by 2 overflows, but the high part is
zero; (2) a signed i8 multiple of -128 by 2 overflows, but the high part is all
ones.
llvm-svn: 125748
|
| |
|
|
|
|
| |
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way.
llvm-svn: 125747
|
| |
|
|
| |
llvm-svn: 125746
|
| |
|
|
|
|
|
|
|
|
|
| |
specifically targets literals which are implicitly converted, a those
are more often unintended and trivial to fix. This can be especially
helpful for diagnosing what makes 'const int x = 1e6' not an ICE.
Original patch authored by Jim Meehan with contributions from other
Googlers and a few cleanups from myself.
llvm-svn: 125745
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
class and to bind the shared value using OpaqueValueExpr. This fixes an
unnoticed problem with deserialization of these expressions where the
deserialized form would lose the vital pointer-equality trait; or rather,
it fixes it because this patch also does the right thing for deserializing
OVEs.
Change OVEs to not be a "temporary object" in the sense that copy elision is
permitted.
This new representation is not totally unawkward to work with, but I think
that's really part and parcel with the semantics we're modelling here. In
particular, it's much easier to fix things like the copy elision bug and to
make the CFG look right.
I've tried to update the analyzer to deal with this in at least some
obvious cases, and I think we get a much better CFG out, but the printing
of OpaqueValueExprs probably needs some work.
llvm-svn: 125744
|
| |
|
|
| |
llvm-svn: 125743
|
| |
|
|
|
|
| |
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32.
llvm-svn: 125742
|
| |
|
|
| |
llvm-svn: 125741
|