Zhongxing Xu
4ca4a999b1
Prepare the analyzer for the callee in another translation unit:
...
Let AnalysisContext contain a TranslationUnit.
Let CallEnter refer to an AnalysisContext instead of a FunctionDecl.
llvm-svn: 108617
2010-07-17 11:12:42 +00:00
Lang Hames
0eda30d65f
Switched to array_pod_sort as per Chris's suggestion.
...
llvm-svn: 108616
2010-07-17 09:21:53 +00:00
Lang Hames
225977d4f9
LoopSplitter - intended to split live intervals over loop boundaries.
...
Still very much under development. Comments and fixes will be forthcoming.
(This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter)
llvm-svn: 108615
2010-07-17 07:34:01 +00:00
Owen Anderson
7d2818b073
Another attempt at getting the clang self-host to like my instcombine patch.
...
llvm-svn: 108614
2010-07-17 06:56:35 +00:00
Lang Hames
211e7ce7e7
Iterating over sets of pointers in a heuristic was a bad idea. Switching
...
any command line paramater changed the register allocation produced by
PBQP.
Turns out variety is not the spice of life.
Fixed some comparators, added others. All good now.
llvm-svn: 108613
2010-07-17 06:31:41 +00:00
Eli Friedman
9de5967244
Start of .sleb128/.uleb128 parsing support.
...
llvm-svn: 108612
2010-07-17 06:27:28 +00:00
Chris Lattner
3c93d12916
unit test to go along with r108610
...
llvm-svn: 108611
2010-07-17 06:14:03 +00:00
Chris Lattner
718da70ca2
Fix PR7658, a problem where type refinement can trigger
...
constant replacement which was botching its handling of
types. Use of getType() instead of getRawType() was causing
the type map in constant folding to be updated wrong.
llvm-svn: 108610
2010-07-17 06:13:52 +00:00
Eli Friedman
9e36dd001a
Work-in-progress parsing for ELF .section directive.
...
llvm-svn: 108609
2010-07-17 04:29:04 +00:00
Jim Grosbach
b97e2bbe32
Add combiner patterns to more effectively utilize the BFI (bitfield insert)
...
instruction for non-constant operands. This includes the case referenced
in the README.txt regarding a bitfield copy.
llvm-svn: 108608
2010-07-17 03:30:54 +00:00
Eli Friedman
ceb16a5ce9
Test for ELF .size directive.
...
llvm-svn: 108607
2010-07-17 03:15:24 +00:00
Eli Friedman
56178a07bf
Add support for parsing .size directives for ELF.
...
llvm-svn: 108606
2010-07-17 03:09:18 +00:00
Daniel Dunbar
05474285aa
clang -cc1as: Switch to using AsmParser constructor function.
...
llvm-svn: 108605
2010-07-17 02:26:21 +00:00
Daniel Dunbar
01e3607d70
MC/AsmParser: Lift Run() and TargetParser to base class.
...
Also, add constructor function for creating AsmParser instances.
llvm-svn: 108604
2010-07-17 02:26:10 +00:00
Jim Grosbach
6e3b5fa91c
add BFI to getTargetNodeName()
...
llvm-svn: 108603
2010-07-17 01:50:57 +00:00
Ted Kremenek
b32964d02d
Fix '<rdar://problem/8202272> __imag passed non-complex should not crash' by removing a bogus assertion.
...
llvm-svn: 108602
2010-07-17 01:28:55 +00:00
Jim Grosbach
adc81f8ee8
Fix logic think-o
...
llvm-svn: 108601
2010-07-17 01:22:19 +00:00
Fariborz Jahanian
6a06144021
Another test case for on demand synthesis of ivars.
...
llvm-svn: 108600
2010-07-17 01:16:59 +00:00
Fariborz Jahanian
18722981e2
Patch to synthesize property ivars on demand as
...
part of the new property synthesis by default.
wip.
llvm-svn: 108599
2010-07-17 00:59:30 +00:00
Stephen Wilson
50bd94f961
Have Process::CreateBreakpointSite return a break_id_t instead of a user_id_t.
...
Also, update BreakpointLocation::ResolveBreakpointSite to check for invalid
breakpoint ID's using the proper magic constant.
llvm-svn: 108598
2010-07-17 00:56:13 +00:00
Sean Callanan
6b4067c14e
Added the necessary code to copy variables used by
...
an expression into the struct prepared for the JIT
compiled code to use.
llvm-svn: 108596
2010-07-17 00:43:37 +00:00
John McCall
36ea3723c0
The GNU-runtime ObjC personality function doesn't let us rethrow with URR for
...
multiple reasons. Rethrow with _objc_exception_throw instead. Fixes PR7656.
llvm-svn: 108595
2010-07-17 00:43:08 +00:00
Ted Kremenek
8b9fd890e3
Fix APFloat assertion failure in IdempotentOperationChecker resulting in having
...
an APFloat with different "float semantics" than the compared float literal.
llvm-svn: 108590
2010-07-17 00:40:32 +00:00
Eric Christopher
83f250f005
Remove unnecessary check that was subsumed into canRealignStack.
...
llvm-svn: 108588
2010-07-17 00:33:04 +00:00
Eric Christopher
0baaa9bcc1
Propagate alloca alignment information via variable size object frame
...
information.
No functional change yet.
llvm-svn: 108583
2010-07-17 00:28:22 +00:00
Eric Christopher
24e3aa011a
Make more explicit and add some currently disabled error messages for
...
stack realignment on ARM.
Also check for function attributes as we do on X86 as well as
make explicit that we're checking can as well as needs in this function.
llvm-svn: 108582
2010-07-17 00:27:24 +00:00
Eric Christopher
c0be37287c
Make comment a bit more clear as well as return statement since
...
needsStackRealignment is currently checking the can conditions as well.
llvm-svn: 108581
2010-07-17 00:25:41 +00:00
Jim Ingham
6185accf3b
Patch from Mattias to specify the system sed on Mac OS X.
...
llvm-svn: 108580
2010-07-17 00:25:08 +00:00
Sebastian Redl
c2e6dbfa19
Teach the PCH reader to load the dependency when encountering a chain metadata record. WIP
...
llvm-svn: 108578
2010-07-17 00:12:06 +00:00
Bill Wendling
004d772558
Update comment.
...
llvm-svn: 108571
2010-07-16 23:10:00 +00:00
Jim Grosbach
11013eda5a
Add basic support to code-gen the ARM/Thumb2 bit-field insert (BFI) instruction
...
and a combine pattern to use it for setting a bit-field to a constant
value. More to come for non-constant stores.
llvm-svn: 108570
2010-07-16 23:05:05 +00:00
Dan Gohman
9a54c17582
Fix whitespace.
...
llvm-svn: 108569
2010-07-16 22:58:39 +00:00
Bill Wendling
bf8370ff36
Consider this function:
...
void foo() { __builtin_unreachable(); }
It will output the following on Darwin X86:
_func1:
Leh_func_begin0:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
Leh_func_end0:
This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.
llvm-svn: 108568
2010-07-16 22:51:10 +00:00
Jakob Stoklund Olesen
8289f78569
Remove the isMoveInstr() hook.
...
llvm-svn: 108567
2010-07-16 22:35:46 +00:00
Jakob Stoklund Olesen
8e767bde16
Avoid isMoveInstr when printing XCore pseudo-moves.
...
llvm-svn: 108566
2010-07-16 22:35:37 +00:00
Jakob Stoklund Olesen
2c130b8ead
Use MI.isCopy.
...
llvm-svn: 108565
2010-07-16 22:35:34 +00:00
Jakob Stoklund Olesen
54bcf5049e
Use a small local function for a single remaining late isMoveInstr call in
...
Thumb2ITBlockPass.
llvm-svn: 108564
2010-07-16 22:35:32 +00:00
Bill Wendling
499f797cdd
Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and
...
thus is a much more meaningful name.
llvm-svn: 108563
2010-07-16 22:20:36 +00:00
Jakob Stoklund Olesen
8d51149102
Keep valgrind quiet.
...
The isLive() method can read uninitialized memory, but it still gives correct
results.
llvm-svn: 108561
2010-07-16 22:00:33 +00:00
Chris Lattner
c9c22862d4
tidy up
...
llvm-svn: 108560
2010-07-16 21:20:46 +00:00
Anders Carlsson
bb4cfdff7e
When checking whether to bind an expression to a temporary, don't bind Obj-C message send expressions who call methods that return references.
...
llvm-svn: 108559
2010-07-16 21:18:37 +00:00
Craig Silverstein
e1c6749665
Fix typeid the same way I fixed sizeof. Sad I had missed it before.
...
Reviewed by chandlerc
llvm-svn: 108557
2010-07-16 21:15:34 +00:00
Jakob Stoklund Olesen
b15cbd343c
Remove remaining calls to TII::isMoveInstr.
...
llvm-svn: 108556
2010-07-16 21:03:55 +00:00
Jakob Stoklund Olesen
44629eb81b
Emit COPY instead of FMR/FMSD instructions for floating point conversion on
...
PowerPC.
llvm-svn: 108555
2010-07-16 21:03:52 +00:00
Chris Lattner
27e997a168
eliminate unlockedRefineAbstractTypeTo, types are all per-llvmcontext,
...
so there is no locking involved in type refinement.
llvm-svn: 108553
2010-07-16 20:50:13 +00:00
Ted Kremenek
0030be81f5
Remove unicode quotes characters that somehow made it into a recent commit of mine.
...
llvm-svn: 108552
2010-07-16 20:49:01 +00:00
Sebastian Redl
2abc0383ce
Separate out the initial loading of a PCH so that loading chained PCHs can reuse it.
...
llvm-svn: 108551
2010-07-16 20:41:52 +00:00
Tom Care
826e6b4023
Improved false positive rate for the idempotent operations checker and moved it into the default path-sensitive analysis options.
...
- Added checks for static local variables, self assigned parameters, and truncating/extending self assignments
- Removed command line option (now default with --analyze)
- Updated test cases to pass with idempotent operation warnings
llvm-svn: 108550
2010-07-16 20:41:41 +00:00
Gabor Greif
fee4dafbd0
get the first few tags from a precomputed table (count can be increased if desired)
...
llvm-svn: 108549
2010-07-16 20:35:19 +00:00
Howard Hinnant
c1198c320f
A good start on extended posix regex. Loops working. Alternation working. Also update by-chapter completeness summary.
...
llvm-svn: 108548
2010-07-16 19:08:36 +00:00