Daniel Dunbar
e8bdce441b
Fix EmitNullInitializationToLValue for bitfield lvalues.
...
- PR2643
llvm-svn: 54397
2008-08-06 05:32:55 +00:00
Chris Lattner
7bdaecb7f4
Zap sitofp/fptoui pairs. In all cases when the sign difference
...
matters, the result is undefined anyway.
llvm-svn: 54396
2008-08-06 05:13:06 +00:00
Daniel Dunbar
ead7c91240
Fix bitfield accesses which straddle the boundary of the underlying
...
type.
- This generates somewhat less optimal code than before but this is
not hard to rectify once stable (at the cost of slightly more
complex code).
- This currently always uses little-endian ordering of the bitfield.
- This breaks the CodeGen/bitfield.c test because it was grepping for
hard-coded assembly instructions. Will fix once a better test case
is constructed (hard to do without execution).
- This fixes SingleSource/UnitTests/2006-01-23-InitializedBitField.c
and Regression/C/PR1386.c from the test suite.
- <rdar://problem/6085090>, <rdar://problem/6094169>
llvm-svn: 54395
2008-08-06 05:08:45 +00:00
Nick Lewycky
bf42893567
Reinstate this optimization, but without the miscompile. Thanks to Bill for
...
tracking down that this was breaking llvm-gcc bootstrap on Linux.
llvm-svn: 54394
2008-08-06 04:54:03 +00:00
Ted Kremenek
be160966cd
Update xcode project to new libDriver layout.
...
llvm-svn: 54393
2008-08-06 02:55:08 +00:00
Daniel Dunbar
bfb1cd7454
Fix CodeGen of pointer arithmetic in compound assignment statements.
...
- Changed EmitSub to work on all cases (arithmetic, ptr - int, ptr -
ptr) so that implementation matches that of other operators.
- Modify EmitCompoundAssign to compute and perform the appropriate
casts of left, right, and result types for the assorted pointer
arithmetic cases.
- Fix EmitSub (ptr - int) case to negate the rhs *after*
extension. This is critical when the rhs is unsigned (and needs
extension).
- This fixes cfrac.
- <rdr://6115726>
llvm-svn: 54392
2008-08-06 02:00:38 +00:00
Bill Wendling
0e966d3e2c
Just grep for through the LL code instead of the ASM code
...
llvm-svn: 54389
2008-08-06 00:10:32 +00:00
Daniel Dunbar
ffc29be83f
Implement GNU asm-label extension support in CodeGen. This fixes
...
scimark2 on Darwin.
- Added Sema support for asm-label on variables, which I forgot before.
- Update CodeGen to use GlobalDeclMap to determine if static Decls
require emission (instead of LLVM module name lookup). Important
since the Decl name and the LLVM module name can differ.
- <rdar://problem/6116729>
llvm-svn: 54388
2008-08-06 00:03:29 +00:00
Bill Wendling
9b26ca1ab4
Add ARM to the targets to build.
...
llvm-svn: 54386
2008-08-05 23:52:28 +00:00
Dan Gohman
ced4857365
Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-string
...
warning. There wasn't actually a problem here, because the contents of
the string are known.
llvm-svn: 54385
2008-08-05 23:36:35 +00:00
Bill Wendling
bc6786e7ee
Add default architecture.
...
llvm-svn: 54384
2008-08-05 23:36:00 +00:00
Nico Weber
b5fc3c300a
add a libDriver, for now only move the text diangostics stuff from Driver to there
...
llvm-svn: 54383
2008-08-05 23:33:20 +00:00
Daniel Dunbar
829e988899
Change CodeGen of global decls to key off of the name (instead of
...
having multiple bindings from all the possible decls which
conceptually map to the same global).
- This eliminates CodeGen depending on the LLVM module for name
lookup.
- This also eliminates the need for ReplaceMapValuesWith (hurrah).
- This handles lookups for FunctionDecls correctly in the presence of
aliases, this was previously broken.
- WIP: Can still clean up & unify variable and function emission.
llvm-svn: 54382
2008-08-05 23:31:02 +00:00
Nico Weber
de565e3bc9
remove spaces at eol to test commit access
...
llvm-svn: 54381
2008-08-05 23:15:29 +00:00
Dan Gohman
1fcc804cfd
Pass the computed iteration count value to RewriteLoopExitValues
...
instead of having it call getIterationCount again.
llvm-svn: 54380
2008-08-05 22:34:21 +00:00
Bill Wendling
6e03f9a40b
It's "a static", not "an static"
...
llvm-svn: 54379
2008-08-05 22:29:16 +00:00
Owen Anderson
3d4c06dd54
Fix breakage on ARM/2008-04-10-ScavengerAssert.ll.
...
llvm-svn: 54378
2008-08-05 22:24:40 +00:00
Bill Wendling
3dfa168d22
Testcase for PR2629.
...
llvm-svn: 54377
2008-08-05 22:23:59 +00:00
Evan Cheng
7823a411d5
Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.
...
llvm-svn: 54376
2008-08-05 22:19:15 +00:00
Evan Cheng
aa33b932bd
Fix PR2596: out of bound reference.
...
llvm-svn: 54375
2008-08-05 21:51:46 +00:00
Owen Anderson
bdaed55ef3
Correctly handle replacement and removal of PHIs with one incoming register.
...
llvm-svn: 54374
2008-08-05 21:40:45 +00:00
Ted Kremenek
182ab758a3
Add missing "classof" methods to NonNullAttr, fixing a heisencrash.
...
llvm-svn: 54373
2008-08-05 21:29:52 +00:00
Bill Wendling
ee12a7aeff
Revert r53282. This was causing a miscompile on Linux. Also, the transformation
...
looks bogus. Please see PR2629 for details on why this is breaking things.
llvm-svn: 54372
2008-08-05 21:23:45 +00:00
Owen Anderson
d9b88a85f2
Oops, we were already checking for dead phis. Handle this the proper way, then.
...
llvm-svn: 54371
2008-08-05 21:18:51 +00:00
Owen Anderson
d4ffa4eb57
We don't need to update live intervals for dead PHIs.
...
llvm-svn: 54369
2008-08-05 20:51:26 +00:00
Ted Kremenek
4f8792b616
Added decl_iterator to DeclStmt to provide an abstract interface to iterate over the ScopedDecls of a DeclStmt.
...
Updated a few clients of DeclStmt::getNextDeclarator() to use decl_iterator instead. Will update other clients after additional testing.
llvm-svn: 54368
2008-08-05 20:46:55 +00:00
Steve Naroff
dd514e01f2
Finish fixing <rdar://problem/5929344> clang ObjC rewriter: "extern int __CFConstantStringClassReference[];" should be extern "C"
...
llvm-svn: 54367
2008-08-05 20:04:48 +00:00
Ted Kremenek
9f6112c4e6
Remove excess #include.
...
llvm-svn: 54366
2008-08-05 19:56:24 +00:00
Nuno Lopes
d86aa9340d
fix crash when printing diagnostics with tokens that span through more than one line
...
llvm-svn: 54365
2008-08-05 19:40:20 +00:00
Ted Kremenek
2c674f6dbb
Refactored driver logic for CodeGen into LLVMCodeGenWriter. This ASTConsumer layers on top of LLVMCodeGen (another existing ASTConsumer) to emit bitcode files to disk. This layering takes this logic out of clang.cpp and puts it directly into the ASTConsumer interface. The benefit is that now --emit-llvm works with both serialized ASTs and regular source files.
...
llvm-svn: 54364
2008-08-05 18:50:11 +00:00
Steve Naroff
568bbf73b2
Fix <rdar://problem/6108119> clang ObjC rewriter: if no newline at end of input file, rewriter inserts #define on same line as closing brace
...
llvm-svn: 54363
2008-08-05 18:47:23 +00:00
Chris Lattner
67c37d1127
Expand acronyms, suggested by Walter Pawley
...
llvm-svn: 54362
2008-08-05 18:29:16 +00:00
Owen Anderson
7c42ac4133
Remove the -disable-correct-folding option, which was ugly and is no longer needed.
...
llvm-svn: 54361
2008-08-05 18:27:54 +00:00
Chris Lattner
1ca5c64440
Capitalize LLVM, suggested by Walt Pawley
...
llvm-svn: 54360
2008-08-05 18:21:08 +00:00
Owen Anderson
b358c8f482
Update the remaining tests not to use -disable-correct-folding, and remove two
...
that couldn't be updated.
llvm-svn: 54359
2008-08-05 18:19:14 +00:00
Owen Anderson
8ccb8d35c4
One more -disable-correct-folding case removed.
...
llvm-svn: 54358
2008-08-05 18:08:56 +00:00
Owen Anderson
ae0af127a6
Remove another -disable-correct-folding use.
...
llvm-svn: 54357
2008-08-05 18:05:58 +00:00
Owen Anderson
31a0dea5c0
Eliminate another use of -disable-correct-folding.
...
llvm-svn: 54356
2008-08-05 18:03:01 +00:00
Owen Anderson
04c047ddca
This check is unnecessary, and getting rid of it removes a use of -disable-correct-folding.
...
llvm-svn: 54355
2008-08-05 17:52:54 +00:00
Owen Anderson
252fa16db1
Remove the need for -disable-correct-folding from this test.
...
llvm-svn: 54354
2008-08-05 17:49:52 +00:00
Daniel Dunbar
1ff1d1fd51
Move AsmLabel into Declarator instead of just a parameter to
...
ActOnDeclarator.
llvm-svn: 54353
2008-08-05 16:28:08 +00:00
Daniel Dunbar
eca183bad2
Add test case for PR2001.
...
llvm-svn: 54352
2008-08-05 16:15:29 +00:00
Dan Gohman
1a70bcc388
Fix the AsmWriter to not print extra spaces after parameter attributes.
...
llvm-svn: 54351
2008-08-05 15:51:44 +00:00
Dan Gohman
3da016d137
Trim #includes.
...
llvm-svn: 54350
2008-08-05 15:32:23 +00:00
Dan Gohman
e955c481fd
Fix several const-correctness issues, resolving some -Wcast-qual warnings.
...
llvm-svn: 54349
2008-08-05 14:45:15 +00:00
Dan Gohman
0e5546fa61
Correct an assertion string.
...
llvm-svn: 54348
2008-08-05 14:42:28 +00:00
Evan Cheng
a4d6d884d6
Remove #if 0.
...
llvm-svn: 54347
2008-08-05 07:20:57 +00:00
Evan Cheng
0ca10c9572
Fix PR2568: Fix bug that cause redudant kill marker after its live interval has been extended due to coalescing.
...
llvm-svn: 54346
2008-08-05 07:10:38 +00:00
Daniel Dunbar
d548c79eaf
Fix const-init test case
...
- Use -verify and added expected warnings for EXTWARN change.
llvm-svn: 54342
2008-08-05 06:30:41 +00:00
Chris Lattner
197a301669
Fix rdar://6124613 a crash on invalid code.
...
llvm-svn: 54340
2008-08-05 06:19:09 +00:00