Chris Lattner
0f79084117
break testcase over multiple lines to make it easier to read.
...
llvm-svn: 125810
2011-02-18 01:25:14 +00:00
Johnny Chen
fc9d00beb7
Add emulation of Encoding A1 "A8.6.6 ADD (register)" and "A8.6.5 ADD (immediate, ARM)".
...
llvm-svn: 125809
2011-02-18 01:22:22 +00:00
Caroline Tice
29c9b64096
Add code to emulate LDR (immediate,ARM) instruction.
...
llvm-svn: 125808
2011-02-18 00:55:53 +00:00
Jim Ingham
e16c50a11a
Factor all the code that does "Execute a list of lldb command interpreter commands" into a single function in the Interpreter, and then use that in all the places that used to do this by hand.
...
llvm-svn: 125807
2011-02-18 00:54:25 +00:00
Chris Lattner
d12b480e29
handle labeldecls.
...
llvm-svn: 125806
2011-02-18 00:52:55 +00:00
Joerg Sonnenberger
f69c80bac2
Recognize monitor/mwait with explicit register arguments
...
llvm-svn: 125805
2011-02-18 00:48:11 +00:00
Argyrios Kyrtzidis
4f3f9c7ba9
Check the errorcode.
...
llvm-svn: 125804
2011-02-18 00:47:07 +00:00
Jakob Stoklund Olesen
73e203e3d3
Trim debugging output.
...
llvm-svn: 125802
2011-02-18 00:32:47 +00:00
Johnny Chen
ae147cafa9
Finished renamings to make the emulation method names consistent case-wise.
...
llvm-svn: 125801
2011-02-18 00:07:39 +00:00
Johnny Chen
a18ae1ffde
Some renamings to make the emulation method names consistent case-wise.
...
llvm-svn: 125800
2011-02-18 00:02:28 +00:00
Chris Lattner
60f844916c
make block bodies handle undefined labels just like functions.
...
llvm-svn: 125799
2011-02-17 23:58:47 +00:00
Johnny Chen
d4926266f3
Removed redundant entry EmulateTBB() (there's an existing one EmulateTB()) and fixed some typos
...
in section headings.
llvm-svn: 125796
2011-02-17 23:44:53 +00:00
Joerg Sonnenberger
889a508157
Recognize leavel and leaveq aliases for leave.
...
Validate encoding of leave in 64bit mode.
llvm-svn: 125795
2011-02-17 23:36:39 +00:00
Devang Patel
f922a431ee
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs.
...
llvm-svn: 125794
2011-02-17 23:33:27 +00:00
Johnny Chen
2a7e05a3d7
Fix a bug in EmulateTB() (TBB, TBH) where the branch length should be "twice"
...
the value of the byte/halfword returned from the table.
llvm-svn: 125793
2011-02-17 23:27:44 +00:00
Joerg Sonnenberger
07cbde967f
Check that MnemonicAlias doesn't map back to the same string.
...
llvm-svn: 125792
2011-02-17 23:22:19 +00:00
Caroline Tice
16443905f3
Add header declarations for the remaining instructions we need to
...
emulate, to cover those that can change the PC.
llvm-svn: 125791
2011-02-17 23:09:13 +00:00
Chris Lattner
a8fed47eed
have instcombine preserve nsw/nuw/exact when sinking
...
common operations through a phi.
llvm-svn: 125790
2011-02-17 23:01:49 +00:00
Jakob Stoklund Olesen
99827e861f
Add basic register allocator statistics.
...
llvm-svn: 125789
2011-02-17 22:53:48 +00:00
Johnny Chen
34dd9ba9c7
Refactoring. Abstracted the set flags operation into its own helper method
...
WriteFlags() and renamed WriteCoreRegisterWithFlags() to WriteCoreRegOptionalFlags().
Modified the call sites to use the helper methods.
llvm-svn: 125788
2011-02-17 22:37:12 +00:00
Chris Lattner
75ae5a45ff
fix typo
...
llvm-svn: 125787
2011-02-17 22:32:54 +00:00
Oscar Fuentes
c9b7c4af5a
New library: LLVMX86Utils.
...
llvm-svn: 125786
2011-02-17 22:26:11 +00:00
Chris Lattner
abb8eb2c63
fix instcombine merging GEPs through a PHI to only make the
...
result inbounds if all of the inputs are inbounds.
llvm-svn: 125785
2011-02-17 22:21:26 +00:00
Chris Lattner
fb59c7c7d8
improve support for big endian targets, fixing PR8171, patch
...
by Heikki Kultala!
llvm-svn: 125784
2011-02-17 22:09:58 +00:00
Oscar Fuentes
79b52bfc46
CMake: updated source file list.
...
llvm-svn: 125783
2011-02-17 22:07:39 +00:00
Johnny Chen
fc5c19dec5
A8.6.6 ADD (register)
...
Renamed EmulateAddRdnRm() to EmulateAddReg(), and added Encoding T1 to it.
Where Encoding T2 can potentially modify the PC, causing a brnach.
llvm-svn: 125782
2011-02-17 22:03:29 +00:00
Ted Kremenek
48d9626055
Add -Warray-bounds test showing how the warning currently interoperates with macros.
...
llvm-svn: 125781
2011-02-17 21:40:51 +00:00
Argyrios Kyrtzidis
57d736fd46
[analyzer] Use the new registration mechanism for the debugging info "checks".
...
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
2011-02-17 21:39:39 +00:00
Argyrios Kyrtzidis
af45aca670
[analyzer] Use the new registration mechanism on the non-path-sensitive-checkers:
...
DeadStoresChecker
ObjCMethSigsChecker
ObjCUnusedIvarsChecker
SizeofPointerChecker
ObjCDeallocChecker
SecuritySyntaxChecker
llvm-svn: 125779
2011-02-17 21:39:33 +00:00
Argyrios Kyrtzidis
24ffc08f39
[analyzer]
...
-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
2011-02-17 21:39:24 +00:00
Argyrios Kyrtzidis
507ff53e39
[analyzer] Pass CheckerManager to the registration functions.
...
llvm-svn: 125777
2011-02-17 21:39:17 +00:00
Nadav Rotem
7cc6d12ad0
Enhance constant folding of bitcast operations on vectors of floats.
...
Add getAllOnesValue of FP numbers to Constants and APFloat.
Add more tests.
llvm-svn: 125776
2011-02-17 21:22:27 +00:00
Chandler Carruth
1af88f12a3
Enhance the array bounds checking to work for several other constructs,
...
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
2011-02-17 21:10:52 +00:00
Chris Lattner
d406764d52
add is always integer, thanks to Frits for noticing this.
...
llvm-svn: 125774
2011-02-17 20:55:29 +00:00
Chandler Carruth
2a666fc2c7
Clean up the style of this function to match the conventions in the rest
...
of Clang, and reflows the code a bit to make it easier to read.
llvm-svn: 125773
2011-02-17 20:55:08 +00:00
Chris Lattner
d28cc8113b
add a fixme
...
llvm-svn: 125772
2011-02-17 20:54:00 +00:00
Chris Lattner
cab02a60d2
Step #2/N of __label__ support: keep pushing LabelDecl forward,
...
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
2011-02-17 20:34:02 +00:00
Chris Lattner
50c3c1316a
Inline LocalInstantiationScope::getInstantiationOf into its one
...
client, making room for future hacking.
llvm-svn: 125770
2011-02-17 19:47:42 +00:00
Chris Lattner
15a776fff7
remove some defensive code: LocalInstantiationScope::getInstantiationOf
...
and findInstantiationOf can never return null, even on invalid code.
llvm-svn: 125769
2011-02-17 19:38:27 +00:00
Chris Lattner
bdc1a42aef
remove some dead overloads.
...
llvm-svn: 125768
2011-02-17 19:37:28 +00:00
Johnny Chen
2789706059
Add EmulateTB() method to emulate "Table Branch Byte" and "Table Branch Halfword"
...
operations for Thumb2.
llvm-svn: 125767
2011-02-17 19:34:27 +00:00
Caroline Tice
032d2dd576
Add stubs for pseudocode functions "MemA[]" amd "MemU[]", corresponding to 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
2011-02-17 19:20:40 +00:00
David Greene
3a2b508e8f
[AVX] Recorganize X86ShuffleDecode into its own library
...
(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
2011-02-17 19:18:59 +00:00
Jakob Stoklund Olesen
93c8736abb
Split local live ranges.
...
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
2011-02-17 19:13:53 +00:00
Douglas Gregor
d6f8124c9c
Eliminate the internal command-line option for viewing inheritance in C++ 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
2011-02-17 19:04:40 +00:00
John McCall
e6be5e1c0d
Remove the "conditional save" hashtables from IR generation.
...
llvm-svn: 125761
2011-02-17 19:02:56 +00:00
Douglas Gregor
428d75ffd9
The internal -fdump-record-layouts flag already dumps the layout when it was computed; no need to do so again at the end of the translation unit
...
llvm-svn: 125760
2011-02-17 18:59:06 +00:00
Dan Gohman
f0f8e14370
The labyrinthine X86 backend no longer appears to require
...
these patterns.
llvm-svn: 125759
2011-02-17 18:50:19 +00:00
Argyrios Kyrtzidis
9d5235d527
When building StaticAnalyzer/Frontend add -I "<Checkers build dir>" to allow Checkers.inc to be
...
included without '..', thus being compatible with build systems of *BSDs.
Patch by Joerg Sonnenberger!
llvm-svn: 125758
2011-02-17 18:40:33 +00:00
Douglas Gregor
65f57fe6ea
Replace a FIXME with a comment describing why we did what we did
...
llvm-svn: 125757
2011-02-17 18:32:37 +00:00