Nuno Lopes
e3127f3f80
fix memleak by cleaning the global sets on pass exit
...
llvm-svn: 57353
2008-10-10 16:25:50 +00:00
Steve Naroff
8022c30aaa
Fix/simplify RewriteBlocks::RewriteBlockPointerFunctionArgs().
...
This completes the fix for <rdar://problem/6272905> clang block rewriter: parameter to function not imported into block?.
llvm-svn: 57350
2008-10-10 15:33:34 +00:00
Anton Korobeynikov
e6b3093b18
Add sparc test for memory operand used in inline asm
...
llvm-svn: 57348
2008-10-10 10:15:33 +00:00
Anton Korobeynikov
b3692f7d38
This is not failing anymore
...
llvm-svn: 57347
2008-10-10 10:15:18 +00:00
Anton Korobeynikov
3db2173021
Add rudimentary asmprinter support for printing inline asm operands for sparc.
...
llvm-svn: 57346
2008-10-10 10:15:03 +00:00
Anton Korobeynikov
9aaaa4035e
Add dummy 'm' inline asm constraint handler for Sparc. I'm not sure, whether it is correct, however :)
...
llvm-svn: 57345
2008-10-10 10:14:47 +00:00
Anton Korobeynikov
1f9487b916
Cleanup
...
llvm-svn: 57344
2008-10-10 10:14:15 +00:00
Owen Anderson
c258255a61
Fix copy-and-paste-o.
...
llvm-svn: 57343
2008-10-10 08:53:07 +00:00
Owen Anderson
45d41c6741
Add a basic intra-procedural escape analysis. This hasn't be extensively tested yet, but feedback is welcome.
...
llvm-svn: 57342
2008-10-10 08:36:25 +00:00
Seo Sanghyeon
c9e7c272da
Tests for return statement checks
...
llvm-svn: 57341
2008-10-10 07:20:06 +00:00
Mon P Wang
6e5eccf86b
Moved guard mutex upwards to guard materializing a function
...
in getPointerToFunction
llvm-svn: 57340
2008-10-10 01:47:42 +00:00
Mon P Wang
dfcc1ff8f8
Added missing print functions that take a raw_ostream
...
llvm-svn: 57339
2008-10-10 01:43:55 +00:00
Mon P Wang
58ca7bdbf0
Fixed definition of llvm_anyptr_ty
...
llvm-svn: 57338
2008-10-10 01:41:18 +00:00
Steve Naroff
1d95e5a531
Final phase of converting BlockDecls over to DeclContext. This is unfortunately a largish/complex diff, however it was necessry to pass all the current block tests.
...
llvm-svn: 57337
2008-10-10 01:28:17 +00:00
Daniel Dunbar
eca513d945
Lift EmitTargetBuiltinExpr out of EmitBuiltinExpr.
...
llvm-svn: 57335
2008-10-10 00:24:54 +00:00
Daniel Dunbar
faa4f50b71
Disable blocks support in C++ mode.
...
llvm-svn: 57334
2008-10-10 00:20:52 +00:00
Ted Kremenek
63cfae34fd
Add missing newline.
...
llvm-svn: 57333
2008-10-10 00:17:08 +00:00
Dale Johannesen
c48814bc98
Adjust calls to APFloat conversion for new interface.
...
llvm-svn: 57332
2008-10-09 23:02:32 +00:00
Dale Johannesen
62a2e5cb2f
Generated files for previous checkin.
...
llvm-svn: 57331
2008-10-09 23:01:34 +00:00
Dale Johannesen
76b2391581
A file missed from previous checkin.
...
llvm-svn: 57330
2008-10-09 23:01:07 +00:00
Dale Johannesen
4f0bd68cfe
Add a "loses information" return value to APFloat::convert
...
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
2008-10-09 23:00:39 +00:00
Dale Johannesen
54306fe499
Rename APFloat::convertToAPInt to bitcastToAPInt to
...
make it clearer what the function does. No functional
change.
llvm-svn: 57325
2008-10-09 18:53:47 +00:00
Nick Lewycky
03c5fa18f1
Don't drop alignment on globals when cloning.
...
llvm-svn: 57320
2008-10-09 06:27:14 +00:00
Chris Lattner
1a84f86271
get CodeGen/Alpha/mul128.ll to work.
...
llvm-svn: 57318
2008-10-09 04:50:56 +00:00
Zhongxing Xu
cc06b463f5
Check some cases for previous patch. Make the code more robust.
...
llvm-svn: 57317
2008-10-09 03:19:06 +00:00
Argyrios Kyrtzidis
1207d31952
Fix a bug that crashed clang when parsing this:
...
class C {
static const int number = 50;
static int arr[number];
};
Here's how it worked:
-GetTypeForDeclarator was called from both Sema::ActOnCXXMemberDeclarator and Sema::ActOnDeclarator.
-VariableArrayTypes are not uniqued so two VariableArrayTypes were created with the same DeclRefExpr.
-On exit they both tried to destroy that one DeclRefExpr.
The fix is not to use GetTypeForDeclarator from the Sema::ActOnCXXMemberDeclarator.
llvm-svn: 57313
2008-10-08 22:20:31 +00:00
Dale Johannesen
d796164e89
Align EH tables before label is emitted, not after,
...
thus aligning the label.
llvm-svn: 57310
2008-10-08 21:50:21 +00:00
Dale Johannesen
66e08292aa
(re)Put const weak strings in appropriate section on Darwin.
...
g++dg/abi/key2.C
llvm-svn: 57309
2008-10-08 21:49:47 +00:00
Nuno Lopes
06c67f88d7
dont specialize weak functions and the like
...
llvm-svn: 57305
2008-10-08 18:45:59 +00:00
Steve Naroff
44078b95ee
Instantiate the BlockDecl in ActOnBlockStart() so we can use it as a DeclContext.
...
This required changes to attach the compound statement later on (like we do for functions).
llvm-svn: 57304
2008-10-08 18:44:00 +00:00
Ted Kremenek
944375abae
Update checker build.
...
llvm-svn: 57303
2008-10-08 18:32:06 +00:00
Steve Naroff
35530480c2
Touchup the rewriter to handle the new BlockExpr->BlockDecl dance.
...
llvm-svn: 57299
2008-10-08 17:31:13 +00:00
Steve Naroff
415d3d570a
- Add BlockDecl AST node.
...
- Modify BlockExpr to reference the BlockDecl.
This is "cleanup" necessary to improve our lookup semantics for blocks (to fix <rdar://problem/6272905> clang block rewriter: parameter to function not imported into block?).
Still some follow-up work to finish this (forthcoming).
llvm-svn: 57298
2008-10-08 17:01:13 +00:00
Jim Grosbach
d83529e8c4
Comment to be explicit that the enumeration values for CondCodes matter.
...
llvm-svn: 57295
2008-10-08 16:24:35 +00:00
Duncan Sands
32052e8272
Use template to distinguish between function variants.
...
GCC 4.4.0 gives an error on the "int" declaration for example
saying that it has already been declared (using the "short"
one). Using templates here allow the compiler to distinguish
between the function to choose.
Also, "llvm/Support/DataTypes.h" was not included, leading to
error messages about not knowing "uint32_t" for example.
Patch by Samuel Tardieu.
llvm-svn: 57292
2008-10-08 07:44:52 +00:00
Duncan Sands
26ff6f9c54
Add <cstdio> include where needed by gcc-4.4.
...
Patch by Samuel Tardieu.
llvm-svn: 57291
2008-10-08 07:23:46 +00:00
Chris Lattner
9b1300ba55
regenerate
...
llvm-svn: 57290
2008-10-08 06:44:45 +00:00
Chris Lattner
152acb5325
Add missing semicolumns in parser rules, those missing semicolumns
...
are required to compile with the latest Bison.
Patch by Samuel Tardieu!
llvm-svn: 57289
2008-10-08 06:44:36 +00:00
Chris Lattner
42d5785dbd
Add parentheses to avoid warnings in GCC 4.4.0,
...
patch by Samuel Tardieu!
llvm-svn: 57288
2008-10-08 06:42:28 +00:00
Chris Lattner
6cbe8e99b3
fix typo
...
llvm-svn: 57287
2008-10-08 06:26:11 +00:00
Owen Anderson
bfe12ee668
Fix the case where an instruction is not properly marked as using all registers that alias its inputs.
...
llvm-svn: 57286
2008-10-08 04:30:51 +00:00
Zhongxing Xu
d9959aee34
This is the first step to implement a field-sensitive store model. Other things are simplified: no heap shape assumption, no parameter alias assumption, etc.
...
llvm-svn: 57285
2008-10-08 02:50:44 +00:00
Ted Kremenek
587a44fe3d
A little more tweaking with StmtIterator and SizeOfAlignofExpr. A recent commit actually introduced a regression, not fixed a bug.
...
llvm-svn: 57282
2008-10-07 23:35:42 +00:00
Ted Kremenek
9bb286ff43
Migrate DeclStmt over to using a DeclGroup instead of a pointer to a ScopedDecl*.
...
This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*.
llvm-svn: 57275
2008-10-07 23:09:49 +00:00
Ted Kremenek
5ee6292e32
Add #include (introduced by dependence on DeclGroup)
...
llvm-svn: 57274
2008-10-07 23:08:39 +00:00
Ted Kremenek
4faf673d7f
Fixed a masked bug when iterating over the child expressions of SizeOfAlignOfTypeExpr. This bug was unmasked by recent changes to StmtIterator.
...
llvm-svn: 57273
2008-10-07 23:07:10 +00:00
Ted Kremenek
12183e25aa
Add const_iterator to DeclGroup.
...
Serialization for OwningDeclGroupRefs now works.
llvm-svn: 57272
2008-10-07 23:06:01 +00:00
Ted Kremenek
f9638bac59
Add StmtIterator support for DeclGroups.
...
llvm-svn: 57271
2008-10-07 23:04:14 +00:00
Dan Gohman
60ad173dfe
Remove -disable-fast-isel. Use cl::boolOrDefault with -fast-isel
...
instead.
So now: -fast-isel or -fast-isel=true enable fast-isel, and
-fast-isel=false disables it. Fast-isel is also on by default
with -fast, and off by default otherwise.
llvm-svn: 57270
2008-10-07 23:00:56 +00:00
Eric Christopher
9fedacbede
Fix disagreement about where the attributes are
...
~0 != ~0U.
llvm-svn: 57268
2008-10-07 22:33:44 +00:00