Jim Grosbach
7fd9aea67c
For ARM stack frames that utilize variable sized objects and have either
...
large local stack areas or require dynamic stack realignment, allocate a
base register via which to access the local frame. This allows efficient
access to frame indices not accessible via the FP (either due to being out
of range or due to dynamic realignment) or the SP (due to variable sized
object allocation). In particular, this greatly improves efficiency of access
to spill slots in Thumb functions which contain VLAs.
rdar://7352504
rdar://8374540
rdar://8355680
llvm-svn: 112883
2010-09-02 22:29:01 +00:00
John McCall
310083c3e3
sabre points out that the timing here is pretty pessimal; I'll retry the
...
experiment in a few days.
llvm-svn: 112882
2010-09-02 22:27:38 +00:00
Bill Wendling
ec9b5fe131
- Change __builtin_ia32_palignr intrinsic type to match the pattern in clang.
...
- Add patterns to match the following MMX builtins:
* __builtin_ia32_vec_init_v8qi
* __builtin_ia32_vec_init_v4hi
* __builtin_ia32_vec_init_v2si
* __builtin_ia32_vec_ext_v2si
These builtins do not correspond to a single MMX instruction. They will have
to be lowered -- most likely in the back-end.
llvm-svn: 112881
2010-09-02 22:26:35 +00:00
Johnny Chen
57b47384cc
Added comments regarding the two mechanisms of process cleanup to lldbtest.py.
...
Also changed the expected strings to be matched since "thread list" changed its
output format.
llvm-svn: 112880
2010-09-02 22:25:47 +00:00
Douglas Gregor
3ca46b4275
Add libclang visitation for UnresolvedLookupExprs
...
llvm-svn: 112879
2010-09-02 22:19:24 +00:00
Chris Lattner
affc0e42f0
fix more AST updating bugs, correcting miscompilation in PR8041
...
llvm-svn: 112878
2010-09-02 22:19:10 +00:00
John McCall
25f7aa8158
Experimentally move the tautological comparison warnings from -Wsign-compare
...
to -Wtautological-compare. This implies that they're now on by default.
If this causes chaos, I'll figure something else out.
llvm-svn: 112877
2010-09-02 22:18:59 +00:00
Owen Anderson
2912df072d
Remove incorrect and poorly tested code for trying to reason about values on default edges of
...
switches. Just return the conservatively correct answer.
llvm-svn: 112876
2010-09-02 22:16:52 +00:00
Anton Korobeynikov
56291f7e53
Properly allocate win64 shadow reg area.
...
Patch by Jan Sjodin!
llvm-svn: 112875
2010-09-02 22:16:28 +00:00
Dan Gohman
3afbd60320
Remove obsolete comments about throwing exceptions.
...
llvm-svn: 112874
2010-09-02 22:14:51 +00:00
Douglas Gregor
4edb2ff89f
Add libclang visitation for C++ pseudo-destructor expressions.
...
llvm-svn: 112873
2010-09-02 22:09:03 +00:00
Bill Wendling
eeb53e60bc
Reorder the MMX builtins to be in their own ostracized group.
...
llvm-svn: 112872
2010-09-02 22:07:51 +00:00
Bill Wendling
e6fd79bc1c
Newline at end of file.
...
llvm-svn: 112871
2010-09-02 22:07:07 +00:00
John McCall
7f55c258c6
After some discussion with djg, teach SmallVector to grow from a zero
...
capacity and remove the workaround in SmallVector<T,0>. There are some
theoretical benefits to a N->2N+1 growth policy anyway.
llvm-svn: 112870
2010-09-02 21:55:03 +00:00
Bruno Cardoso Lopes
814a69c330
Move decoding of insertps back to avoid unused warnings in x86 isel lowering, and fix movlhps/movhlps to decode 4 elements shuffles
...
llvm-svn: 112869
2010-09-02 21:51:11 +00:00
Douglas Gregor
6429f5cf29
Eliminate CXXBindReferenceExpr, which was used in a ton of
...
well-intentioned but completely unused code.
llvm-svn: 112868
2010-09-02 21:50:02 +00:00
Greg Clayton
6dadd508e7
Added a new bool parameter to many of the DumpStopContext() methods that
...
might dump file paths that allows the dumping of full paths or just the
basenames. Switched the stack frame dumping code to use just the basenames for
the files instead of the full path.
Modified the StackID class to no rely on needing the start PC for the current
function/symbol since we can use the SymbolContextScope to uniquely identify
that, unless there is no symbol context scope. In that case we can rely upon
the current PC value. This saves the StackID from having to calculate the
start PC when the StackFrame::GetStackID() accessor is called.
Also improved the StackID less than operator to correctly handle inlined stack
frames in the same stack.
llvm-svn: 112867
2010-09-02 21:44:10 +00:00
Douglas Gregor
fd81cea70c
Teach libclang not to recursive into default argument expressions
...
llvm-svn: 112866
2010-09-02 21:38:13 +00:00
Daniel Dunbar
5dc823f7ef
Add a compatibility note about why Clang rejects jumps past __block variables.
...
llvm-svn: 112865
2010-09-02 21:35:16 +00:00
Devang Patel
3bffd52d78
Detect undef value early and save unnecessary NodeMap query.
...
llvm-svn: 112864
2010-09-02 21:29:42 +00:00
Johnny Chen
7d1d7537cf
Moved the process cleanup of Script-Bridge-based APIs into TestBase.tearDown()
...
method where they belong. Also fixed a logic error in maintaining the command
interface flag (runStarted) indicating whether the lldb "run"/"process launch"
command has been issued. It was erroneously cleared.
Modified the test cases to take advantage of the refactoring.
llvm-svn: 112863
2010-09-02 21:23:12 +00:00
Douglas Gregor
46af501065
Add libclang visitation for C++ typeid expressions.
...
llvm-svn: 112862
2010-09-02 21:20:16 +00:00
Dan Gohman
3c9b5f394b
Don't narrow the load and store in a load+twiddle+store sequence unless
...
there are clearly no stores between the load and the store. This fixes
this miscompile reported as PR7833.
This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is
safe, but awkward to prove safe. Move it to X86's README.txt.
llvm-svn: 112861
2010-09-02 21:18:42 +00:00
Douglas Gregor
32e4c861c8
In libclang, visit the nested-name-specifier and explicitly-specified template arguments of a MemberExpr.
...
llvm-svn: 112860
2010-09-02 21:07:44 +00:00
Devang Patel
98d3edfe2a
Tidy up.
...
llvm-svn: 112858
2010-09-02 21:02:27 +00:00
Tom Care
9fbfeea05b
Reverting 112850 and 112839 due to test failures on some systems
...
llvm-svn: 112857
2010-09-02 20:58:38 +00:00
Douglas Gregor
aac7c8106a
Visit the nested-name-specifier and explicitly-specified template
...
arguments of a DeclRefExpr.
llvm-svn: 112854
2010-09-02 20:35:02 +00:00
Sandeep Patel
0ca17f7e8a
Fix an unnecessary XFAIL
...
llvm-svn: 112853
2010-09-02 20:19:24 +00:00
Jim Grosbach
b2a9025bad
trailing whitespace
...
llvm-svn: 112852
2010-09-02 19:52:39 +00:00
Owen Anderson
67dee4dcac
Fix typo. I accidentally edited the wrong file before my last commit.
...
llvm-svn: 112851
2010-09-02 19:52:06 +00:00
Tom Care
a25b273a5b
Fixed broken build with GCC
...
llvm-svn: 112850
2010-09-02 19:00:08 +00:00
Benjamin Kramer
e39017cb97
Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.
...
llvm-svn: 112849
2010-09-02 18:53:37 +00:00
John McCall
1ba95136f2
Teach RecursiveASTVisitor to optionally visit bodies of instantiations.
...
Based on a patch by Francois Pichet!
llvm-svn: 112848
2010-09-02 18:48:54 +00:00
Jim Grosbach
6040995128
remove trailing whitespace
...
llvm-svn: 112847
2010-09-02 18:44:51 +00:00
Bruno Cardoso Lopes
c79f50170a
Move x86 specific shuffle mask decoding to its own header, it's also going to be used elsewhere. Also trim trailing whitespaces
...
llvm-svn: 112846
2010-09-02 18:40:13 +00:00
Jim Grosbach
35f3252036
The scavenger should just use getAllocatableSet() rather than reinventing it
...
locally.
llvm-svn: 112845
2010-09-02 18:29:04 +00:00
Dan Gohman
9e857449de
Apply a patch from Kees van Reeuwijk to add support for Minix.
...
Minix apparently doesn't like double-slash separators, and there's
no apparent need for them here.
llvm-svn: 112844
2010-09-02 18:24:46 +00:00
Owen Anderson
a8c896b704
Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not
...
be treated as equivalent.
llvm-svn: 112843
2010-09-02 18:23:58 +00:00
Jim Grosbach
aec776fd2a
handle case where a register class is specified
...
llvm-svn: 112842
2010-09-02 18:18:52 +00:00
Jim Grosbach
66c681a644
Now that register allocation properly considers reserved regs, simplify the
...
ARM register class allocation order functions to take advantage of that.
llvm-svn: 112841
2010-09-02 18:14:29 +00:00
David Chisnall
cf60744cd7
Tidy up last commit, as per Devang's comments.
...
llvm-svn: 112840
2010-09-02 18:01:51 +00:00
Tom Care
1ce2faca05
Improved error reporting in IdempotentOperationChecker
...
- SourceRange highlighting is only given for the relevant side of the operator (assignments give both)
- Added PostVisitBinaryOperator hook to retrieve the ExplodedNode for an operator
- Added a BugReporterVisitor to display the last store to every VarDecl in a Stmt
- Changed bug reporting to use the new BugReporterVisitor
llvm-svn: 112839
2010-09-02 17:49:20 +00:00
Douglas Gregor
04f3621860
Revert my two IRgen fixes for "bool", then use a far simpler approach
...
based on ConvertTypeForMem. Thanks to John for pointing out the right
solution.
llvm-svn: 112838
2010-09-02 17:38:50 +00:00
Douglas Gregor
3335f48448
Implement basic visitation for nested name specifiers via libclang
...
cursors. Sadly, this visitation is a hack, because we don't have
proper source-location information for nested-name-specifiers in the
AST. It does improve on the status quo, however.
llvm-svn: 112837
2010-09-02 17:35:32 +00:00
Dan Gohman
b8cfcb05d4
Add a comment.
...
llvm-svn: 112836
2010-09-02 17:35:10 +00:00
Fariborz Jahanian
05bbef63b6
Another i1 vs. i8 type mismatch issue. This time
...
a 'bool' byref variable in memory. Fixes radar 8382559.
llvm-svn: 112835
2010-09-02 17:28:31 +00:00
Benjamin Kramer
5af02b0360
Allow MCSA_WeakRef in ELF. Patch by Roman Divacky.
...
llvm-svn: 112834
2010-09-02 17:18:32 +00:00
David Chisnall
6bf98ff491
Use the unmangled name for the display name in Objective-C debug info. This should have no effect with the Mac runtime where clang (unlike GCC) uses the display name symbol name.
...
llvm-svn: 112833
2010-09-02 17:16:32 +00:00
Jim Grosbach
944aece38a
Anti-dependency breaking needs to be careful not to use reserved regs
...
llvm-svn: 112832
2010-09-02 17:12:55 +00:00
Devang Patel
da3ef85460
Fix .debug_range for linux. Patch by Krister Wombell.
...
llvm-svn: 112830
2010-09-02 16:43:44 +00:00