NAKAMURA Takumi
576273cf56
test/CodeGen/X86/shrink-compare.ll: Relax expressions for Win64.
...
llvm-svn: 130039
2011-04-23 00:15:45 +00:00
Johnny Chen
90256cdaba
Add a simple utility function get_description(lldb_obj, option=None) to lldbutil.py
...
and use it from TestTargetAPI.py.
llvm-svn: 130038
2011-04-23 00:13:34 +00:00
Devang Patel
a6cb0642b2
Tie debug information for method declaration with debug information for method definition.
...
llvm-svn: 130037
2011-04-23 00:08:01 +00:00
Argyrios Kyrtzidis
bf04231a72
Don't allow reinterpret_cast to reference of vector element and property expression. Thanks goes to Eli Friedman!
...
llvm-svn: 130036
2011-04-22 23:57:57 +00:00
Jim Ingham
58b59f9522
Fix up how the ValueObjects manage their life cycle so that you can hand out a shared
...
pointer to a ValueObject or any of its dependent ValueObjects, and the whole cluster will
stay around as long as that shared pointer stays around.
llvm-svn: 130035
2011-04-22 23:53:53 +00:00
Douglas Gregor
0ff2b2eda3
Teach libclang to be more careful around BlockDecls, and don't assume
...
that a TypeSourceInfo is always available, like we do everywhere else
in libclang. Fixes <rdar://problem/9311140>.
llvm-svn: 130034
2011-04-22 23:49:24 +00:00
Owen Anderson
dd450b86cf
Teach FastISel to deal with instructions that have two immediate operands.
...
llvm-svn: 130033
2011-04-22 23:38:06 +00:00
Chris Lattner
9fa385d437
don't warn about empty macro arguments in c++'0x mode, since it sucked in
...
the c99 preprocessor. Patch by Jonathan Sauer!
llvm-svn: 130031
2011-04-22 23:25:09 +00:00
Francois Pichet
dcb3ebeb2c
Correctly emit a diagnostic for multiple templated function definitions in -flate-template-parsing mode.
...
llvm-svn: 130030
2011-04-22 23:20:44 +00:00
Johnny Chen
787f71f269
Add test cases for the SBTarget.GetDescription() API which takes an extra lldb::DescriptionLevel enum.
...
llvm-svn: 130029
2011-04-22 23:20:17 +00:00
Devang Patel
1d6bbd41aa
Let front-end tie subprogram declaration with subprogram definition directly.
...
llvm-svn: 130028
2011-04-22 23:10:17 +00:00
Eric Christopher
2ee5b37ab6
Fix comment.
...
llvm-svn: 130027
2011-04-22 23:08:45 +00:00
Jakob Stoklund Olesen
032891b718
Always compare the cost of region splitting with the cost of per-block splitting.
...
Sometimes it is better to split per block, and we missed those cases.
llvm-svn: 130025
2011-04-22 22:47:40 +00:00
Argyrios Kyrtzidis
47a1285a69
reinterpret_cast to reference of a bit-field is not allowed.
...
Fixes rdar://9202628 & http://llvm.org/PR9564 .
llvm-svn: 130024
2011-04-22 22:31:13 +00:00
Douglas Gregor
9750969178
At the end of the translation unit, defining a vtable can introduce
...
new templates that need to be instantiated and vice-versa. Iterate
until we've instantiated all required templates and defined all
required vtables. Fixed PR9325 / <rdar://problem/9055177>.
llvm-svn: 130023
2011-04-22 22:25:37 +00:00
Francois Pichet
1c229c0472
Add -fdelayed-template-parsing option. Using this option all templated function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup.
...
Using this flag is necessary for compatibility with Microsoft template code.
This also provides some parsing speed improvement.
llvm-svn: 130022
2011-04-22 22:18:13 +00:00
Mikhail Glushenkov
91956aba03
The .inc file is auto-generated and must not be edited by hand.
...
llvm-svn: 130021
2011-04-22 22:05:29 +00:00
Fariborz Jahanian
c057794adb
Fixes an instance method meta-data generation bug in
...
ObjC NeXt runtime where method pointer registered in
metadata belongs to an unrelated method. Ast part of this fix,
I turned at @end missing warning (for class
implementations) into an error as we can never
be sure that meta-data being generated is correct.
// rdar://9072317
llvm-svn: 130019
2011-04-22 22:02:28 +00:00
Chris Lattner
6d277517d1
Recommit the fix for rdar://9289512 with a couple tweaks to
...
fix bugs exposed by the gcc dejagnu testsuite:
1. The load may actually be used by a dead instruction, which
would cause an assert.
2. The load may not be used by the current chain of instructions,
and we could move it past a side-effecting instruction. Change
how we process uses to define the problem away.
llvm-svn: 130018
2011-04-22 21:59:37 +00:00
Johnny Chen
ea0d135d37
We are only interested in logging the child's output to sys.stdout.
...
llvm-svn: 130017
2011-04-22 21:56:22 +00:00
Johnny Chen
35c3ae9639
Fix comment.
...
llvm-svn: 130016
2011-04-22 21:50:08 +00:00
Johnny Chen
ea76c4f229
Make test_connect_remote() more robust by waiting on the server ready message
...
before issuing the 'process connect ...' command.
test_comand_regex(): assign the spawned child to self.child so it gets automatically
shutdown during TestBase.tearDown(self).
llvm-svn: 130015
2011-04-22 21:47:07 +00:00
Greg Clayton
8a51be9e1b
Reroute the blog link to the LLVM blog site.
...
llvm-svn: 130014
2011-04-22 21:03:40 +00:00
Greg Clayton
a348259b3d
Erase from a string instead of using substr when you don't really need to.
...
llvm-svn: 130013
2011-04-22 20:58:45 +00:00
Bob Wilson
ee674fb73d
Workaround buildbot failure by hacking up this test to emit llvm IR.
...
This is not a real fix. It needs some checks to make sure the IR is correct.
llvm-svn: 130012
2011-04-22 20:42:46 +00:00
Johnny Chen
a2abf701e2
Fix a typo.
...
llvm-svn: 130011
2011-04-22 20:40:26 +00:00
Francois Pichet
6841a12845
Do not return true from MergeFunctionDecl for a warn_static_non_static warning in Microsoft mode.
...
llvm-svn: 130010
2011-04-22 19:50:06 +00:00
Argyrios Kyrtzidis
ad8b4d402e
For -Wlogical-op-parentheses, point at '&&', not '||'. Fixes rdar://9125333.
...
llvm-svn: 130009
2011-04-22 19:16:27 +00:00
Johnny Chen
57c892860e
Disassembly of A8.6.59 LDR (literal) Encoding T1 (16-bit thumb instruction) should
...
print out ldr, not ldr.n.
rdar://problem/9267772
llvm-svn: 130008
2011-04-22 19:12:43 +00:00
Chandler Carruth
56773db7d4
I concur with DPG here. This does indeed apply in 0x mode. Added test
...
cases that demonstrates exactly why this does indeed apply in 0x mode.
If isPOD is currently broken in 0x mode, we should fix that directly
rather than papering over it here.
llvm-svn: 130007
2011-04-22 19:01:39 +00:00
Argyrios Kyrtzidis
8e4be0b1ea
Don't enter a qualified scope for an invalid decl.
...
Fixes assertion later on. rdar://9122937 & http://llvm.org/PR9459
llvm-svn: 130006
2011-04-22 18:52:25 +00:00
Benjamin Kramer
341c11da3b
DAGCombine: fold "(zext x) == C" into "x == (trunc C)" if the trunc is lossless.
...
On x86 this allows to fold a load into the cmp, greatly reducing register pressure.
movzbl (%rdi), %eax
cmpl $47, %eax
->
cmpb $47, (%rdi)
This shaves 8k off gcc.o on i386. I'll leave applying the patch in README.txt to Chris :)
llvm-svn: 130005
2011-04-22 18:47:44 +00:00
Devang Patel
ad45d911bb
Do not leak argument's DbgVariables.
...
llvm-svn: 130004
2011-04-22 18:09:57 +00:00
Ted Kremenek
11e5c8b31a
Add static analyzer support for C++'0X nullptr. Patch by Jim Goodnow II.
...
llvm-svn: 130003
2011-04-22 18:01:30 +00:00
Ken Dyck
0fed10e704
Replace a couple of literal 8s with ASTContext::getCharWidth(). No change in
...
functionality intended.
llvm-svn: 130002
2011-04-22 17:59:22 +00:00
Ken Dyck
c5c416f7db
Eliminate some literal 8s from EmitNullInitialization() by converting
...
variables to CharUnits. No change in functionality intended.
llvm-svn: 130001
2011-04-22 17:51:05 +00:00
Argyrios Kyrtzidis
7a6f2a358a
In IsUserDefinedConversion try to recover from RequireCompleteType returning true.
...
Fixes an assertion later on, rdar://9122862 & http://llvm.org/PR9460 .
llvm-svn: 130000
2011-04-22 17:45:37 +00:00
Ken Dyck
bbe3862d95
Eliminate some literal 8s from EmitDeclare by converting to CharUnits. No
...
change in functionality intended.
llvm-svn: 129999
2011-04-22 17:41:34 +00:00
Ken Dyck
8159c1f2df
Use CharUnits to eliminate some literal 8s in
...
EmitTypeForVarWithBlocksAttr(). No change in functionality intended.
llvm-svn: 129998
2011-04-22 17:34:18 +00:00
Ken Dyck
abae3beec5
Replace some literal 8s with char width and char align. No change in
...
functionality intended.
llvm-svn: 129996
2011-04-22 17:23:43 +00:00
Devang Patel
3c39ec2933
Add asserts.
...
llvm-svn: 129995
2011-04-22 16:44:29 +00:00
Caroline Tice
6a4f755a2b
Remove old emulation test data files.
...
llvm-svn: 129993
2011-04-22 16:29:23 +00:00
Caroline Tice
526f9ad25e
Modify to use the new test files.
...
llvm-svn: 129992
2011-04-22 16:05:13 +00:00
Caroline Tice
8401cdbd0e
Reformat the emulation test data files.
...
llvm-svn: 129991
2011-04-22 16:03:05 +00:00
Benjamin Kramer
4c81624735
X86: Try to use a smaller encoding by transforming (X << C1) & C2 into (X & (C2 >> C1)) & C1. (Part of PR5039)
...
This tends to happen a lot with bitfield code generated by clang. A simple example for x86_64 is
uint64_t foo(uint64_t x) { return (x&1) << 42; }
which used to compile into bloated code:
shlq $42, %rdi ## encoding: [0x48,0xc1,0xe7,0x2a]
movabsq $4398046511104, %rax ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00]
andq %rdi, %rax ## encoding: [0x48,0x21,0xf8]
ret ## encoding: [0xc3]
with this patch we can fold the immediate into the and:
andq $1, %rdi ## encoding: [0x48,0x83,0xe7,0x01]
movq %rdi, %rax ## encoding: [0x48,0x89,0xf8]
shlq $42, %rax ## encoding: [0x48,0xc1,0xe0,0x2a]
ret ## encoding: [0xc3]
It's possible to save another byte by using 'andl' instead of 'andq' but I currently see no way of doing
that without making this code even more complicated. See the TODOs in the code.
llvm-svn: 129990
2011-04-22 15:30:40 +00:00
Frits van Bommel
366353b037
Comment out some unused parameter names to silence out-of-tree -Wunused warnings.
...
llvm-svn: 129988
2011-04-22 11:36:45 +00:00
Justin Holewinski
bd4a3c03ff
PTX: Add default PTX calling conventions
...
llvm-svn: 129987
2011-04-22 11:10:38 +00:00
Francois Pichet
9392165a17
For consistency, change suffix from war_ to warn_ for some Microsoft warnings I introduced lately.
...
llvm-svn: 129986
2011-04-22 08:25:24 +00:00
Francois Pichet
e900b10a29
Downgrade error "static declaration of 'foo' follows non-static declaration" to a warning in Microsoft mode.
...
llvm-svn: 129985
2011-04-22 08:14:00 +00:00
Eric Christopher
ae95ad1935
Use enums for constant values.
...
llvm-svn: 129984
2011-04-22 06:34:01 +00:00