Commit Graph

96315 Commits

Author SHA1 Message Date
Jason Molenda 2d107dd02b Change the DWARFExpression::Evaluate methods to take an optional
RegisterContext* - normally this is retrieved from the ExecutionContext's
StackFrame but when we need to evaluate an expression while creating
the stack frame list this can be a little tricky.

Add DW_OP_deref_size, needed for the _sigtramp FDE expression.

Add support for processing DWARF expressions in RegisterContextLLDB.

Update callers to DWARFExpression::Evaluate.

llvm-svn: 119885
2010-11-20 01:28:30 +00:00
Jakob Stoklund Olesen 40e78b4da0 Fix old GCC build error.
llvm-svn: 119884
2010-11-20 01:24:43 +00:00
Bill Wendling 284326bd69 Add more Thumb add instruction encodings.
llvm-svn: 119883
2010-11-20 01:18:47 +00:00
Bill Wendling fe1de03629 Add Thumb encodings for some add instructions.
llvm-svn: 119882
2010-11-20 01:00:29 +00:00
Bill Wendling e60fd5a9db Add more encodings for Thumb instructions.
llvm-svn: 119881
2010-11-20 00:53:35 +00:00
Jakob Stoklund Olesen 8bf9e546d4 Detemplatize NodeRef.
It is now possible to navigate the B+-tree using NodeRef::subtree() and
NodeRef::size() without knowing the key and value template types used in the
tree.

llvm-svn: 119880
2010-11-20 00:49:00 +00:00
Jakob Stoklund Olesen 3864c518c2 Rename NodeBase::{key,val} as {first,second} and swap the BranchNode arrays such
that the noderefs are the first member in the object.

This is in preparation of detemplatization of tree navigation.

llvm-svn: 119879
2010-11-20 00:48:57 +00:00
Bill Wendling 0914d44fa4 Have the getAddrMode3OpValue() function in ARMCodeEmitter.cpp produce the same
value that the one in ARMMCCodeEmitter.cpp does.

llvm-svn: 119878
2010-11-20 00:26:37 +00:00
Greg Clayton cd55b1957e Revert the End of file stuff that was added as it was causing read threads
to hang around and take a ton of CPU time. Caroline will fix this when she
gets back from vacation.

llvm-svn: 119877
2010-11-20 00:17:57 +00:00
Douglas Gregor 06a3f30be9 Implement a simple hash function for libclang cursors
llvm-svn: 119876
2010-11-20 00:09:34 +00:00
Bill Wendling 54df187f25 Check for _setjmp too, because it's also used.
llvm-svn: 119875
2010-11-20 00:03:09 +00:00
Douglas Gregor fec4dc9418 Implement clang_getCanonicalCursor() in libclang, which does the obvious thing.
llvm-svn: 119874
2010-11-19 23:44:15 +00:00
Jakob Stoklund Olesen 6ae70b2e0f Implement IntervalMap destructor.
Key and value objects may not be destructed instantly when they are erased from
the container, but they will be destructed eventually by the IntervalMap
destructor.

llvm-svn: 119873
2010-11-19 23:28:59 +00:00
Jakob Stoklund Olesen c041268c8c Implement IntervalMap::clear().
llvm-svn: 119872
2010-11-19 23:28:57 +00:00
Jakob Stoklund Olesen 46389fda3b Support backwards iteration starting from end().
llvm-svn: 119871
2010-11-19 23:28:53 +00:00
Dale Johannesen 87a98b57b8 Add test for PR 8111. By Frits van Bommel.
llvm-svn: 119870
2010-11-19 23:23:22 +00:00
Jim Grosbach 2aff392af9 Fix ARM LDR* post-indexed operand encoding.
llvm-svn: 119869
2010-11-19 23:14:43 +00:00
Bill Wendling 1825cc74f4 Encodings for the compare instructions.
llvm-svn: 119868
2010-11-19 23:14:32 +00:00
Owen Anderson b4fd2c90e9 The Vm and Vn register fields must be the same for a register-register vmov.
llvm-svn: 119867
2010-11-19 23:12:43 +00:00
Evan Cheng a5f048485f Fix a cut-n-paste-error.
llvm-svn: 119866
2010-11-19 23:01:16 +00:00
Owen Anderson ea326db47b Document the new GVN number table structure.
llvm-svn: 119865
2010-11-19 22:48:40 +00:00
Jim Grosbach 785952e5ac Operand names
llvm-svn: 119864
2010-11-19 22:43:08 +00:00
Jim Grosbach 5876e41c9f trailing whitespace
llvm-svn: 119863
2010-11-19 22:42:55 +00:00
Eric Christopher 35e2d7f610 Don't need to save piecemeal now.
llvm-svn: 119862
2010-11-19 22:39:56 +00:00
Eric Christopher cee83d6e6b Update comment.
llvm-svn: 119861
2010-11-19 22:37:58 +00:00
Bill Wendling a82fb71324 Add encodings for some of the thumb ADD instructions. Tests will come once the
asm parser can handle them.

llvm-svn: 119860
2010-11-19 22:37:33 +00:00
Eric Christopher 558b61e2d4 Update comment.
llvm-svn: 119859
2010-11-19 22:36:41 +00:00
Jim Grosbach 7d8df3185f Clarify operand names.
llvm-svn: 119858
2010-11-19 22:36:02 +00:00
Owen Anderson c0177aeb71 Add a test for CodeGenPrepare's ability to look through PHI nodes when performing
addressing mode folding, introduced in r119853.

llvm-svn: 119857
2010-11-19 22:34:53 +00:00
Eric Christopher fef5f315af Refactor address mode handling into a single struct (ala x86), this
should give allow a wider range of addressing modes.

No functional change.

llvm-svn: 119856
2010-11-19 22:30:02 +00:00
Jim Grosbach 48bf4f8e56 Fix encoding for ARM MLS instruction.
llvm-svn: 119855
2010-11-19 22:22:37 +00:00
Howard Hinnant ca74048398 N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
llvm-svn: 119854
2010-11-19 22:17:28 +00:00
Owen Anderson dfb8c3bbfc When folding addressing modes in CodeGenPrepare, attempt to look through PHI nodes
if all the operands of the PHI are equivalent.  This allows CodeGenPrepare to undo
unprofitable PRE transforms.

llvm-svn: 119853
2010-11-19 22:15:03 +00:00
Jim Grosbach 09d7bfd886 Add ARM encoding information for STRD.
llvm-svn: 119852
2010-11-19 22:14:31 +00:00
Jim Grosbach 5a77b8b5c4 Shuffle things around a bit to keep like things together. Tidy up formatting.
llvm-svn: 119851
2010-11-19 22:06:57 +00:00
Bill Wendling c92a5770df Revert accidental commit.
llvm-svn: 119850
2010-11-19 22:06:18 +00:00
Bill Wendling 49a2e2384b Change long binary encodings to use hex instead. It's more readable. Also
initialize missing bit.

llvm-svn: 119849
2010-11-19 22:02:18 +00:00
Dale Johannesen c9242c577e Prefetch has a MemOperand now. FileCheckize a test.
This finishes up 8460971.

llvm-svn: 119848
2010-11-19 21:49:38 +00:00
Greg Clayton a651b537d6 Updated to latest and greatest clang for a "print cvr-qualifiers on function
declarations" fix.

llvm-svn: 119847
2010-11-19 21:46:54 +00:00
Jim Grosbach 6e9aace4f3 Factor out operand encoding bits for ARM addressing mode 2 store instructions.
llvm-svn: 119846
2010-11-19 21:35:06 +00:00
Craig Silverstein 1a9ca21881 Several PPCallbacks take an SourceLocation + IdentifierInfo, rather
than a Token that holds the same information all in one easy-to-use
package.  There's no technical reason to prefer the former -- the
information comes from a Token originally -- and it's clumsier to use,
so I've changed the code to use tokens everywhere.

Approved by clattner

llvm-svn: 119845
2010-11-19 21:33:15 +00:00
Jim Grosbach 09f6823eb6 Delete another dead class.
llvm-svn: 119844
2010-11-19 21:16:08 +00:00
Jim Grosbach e093e5f0dc whitespace tweak.
llvm-svn: 119843
2010-11-19 21:14:37 +00:00
Rafael Espindola cf14a382ec Fix a use after free. Patch by Frits van Bommel.
llvm-svn: 119842
2010-11-19 21:14:29 +00:00
Jim Grosbach d6e5c9f2fe Refactor PICSTR* instructions to really be pseudos. Nuke dead classes.
llvm-svn: 119841
2010-11-19 21:14:02 +00:00
Jim Grosbach 4a22eba616 Rename ARM .td class AIldst1 to AI2ldst for consistency with the other classes.
llvm-svn: 119840
2010-11-19 21:07:51 +00:00
Rafael Espindola 64fff2998d Check for gcc 4.3.4.
llvm-svn: 119839
2010-11-19 21:02:06 +00:00
Argyrios Kyrtzidis 90ee2a4ecf Don't warn for empty 'if' body if there is a macro that expands to nothing, e.g:
if (condition)
    CALL(0); // empty macro but don't warn for empty body.

Fixes rdar://8436021.

llvm-svn: 119838
2010-11-19 20:54:25 +00:00
Caroline Tice efed613172 Add the ability to catch and do the right thing with Interrupts (often control-c)
and end-of-file (often control-d).

llvm-svn: 119837
2010-11-19 20:47:54 +00:00
Johnny Chen 601e72c88a Add TestSignedTypes.py to test that variables with signed types display correctly.
llvm-svn: 119836
2010-11-19 20:35:15 +00:00