Dale Johannesen
34aa41c475
Make temporaries explicit to avoid premature
...
destruction of compiler-created ones.
llvm-svn: 42383
2007-09-26 23:20:33 +00:00
Gordon Henriksen
43b66447f4
Updating LLVM.xcodeproj.
...
llvm-svn: 42382
2007-09-26 22:44:45 +00:00
Chris Lattner
e6d9ca5443
objc messages have side effects, return true from hasLocalSideEffect,
...
fixing:
VoidMethod.m:14:5: warning: expression result unused
[Greeter hello];
^~~~~~~~~~~~~~~
llvm-svn: 42380
2007-09-26 22:06:30 +00:00
Evan Cheng
478134e5f4
Oops. Forgot this.
...
llvm-svn: 42377
2007-09-26 21:38:03 +00:00
Ted Kremenek
d80ee7d287
Added extra guard for null Stmt* when traversing the AST using VisitChildren.
...
Added assertion that Block-level statements should not be NULL.
llvm-svn: 42376
2007-09-26 21:36:20 +00:00
Evan Cheng
8e136a9dc4
- Move getPhysicalRegisterRegClass() from ScheduleDAG to MRegisterInfo.
...
- Added ability to emit cross class register copies to the BBRU scheduler.
- More aggressive backtracking.
llvm-svn: 42375
2007-09-26 21:36:17 +00:00
Neil Booth
0fa3ea79ac
Whitespace cleanup.
...
llvm-svn: 42374
2007-09-26 21:35:05 +00:00
Neil Booth
9acbf5aaf9
Whitespace and compiler warning cleanup.
...
llvm-svn: 42373
2007-09-26 21:33:42 +00:00
Evan Cheng
8728c3376a
- Added MRegisterInfo::getCrossCopyRegClass() hook. For register classes where reg to reg copies are not possible, this returns another register class which registers in the specified register class can be copied to (and copy back from).
...
- X86 copyRegToReg() now supports copying between EFLAGS and GR32 / GR64 registers.
llvm-svn: 42372
2007-09-26 21:31:07 +00:00
Evan Cheng
b93de587cb
Some assemblers do not recognize aliases pushfd, pushfq, popfd, and popfq. Just emit them as pushf and popf.
...
llvm-svn: 42371
2007-09-26 21:28:00 +00:00
Ted Kremenek
5c50fd1add
Fixed two bugs in CFG construction:
...
BUG 1)
CFG failed to build for empty functions, or functions containing only
NullStmts or empty compound statements.
We now handle such cases, although now we cannot test for CFG
construction failure by asserting that the last block constructed is
not NULL (since it now may be).
BUG 2)
CFG construction segfaulted on some cases when walking the AST and not
taking into account that some children of a statement may be NULL.
llvm-svn: 42370
2007-09-26 21:23:31 +00:00
Dale Johannesen
b805d35d16
Modernize fabs.ll, add long double. Add tests
...
for direct codegen of fsin/fcos.
llvm-svn: 42369
2007-09-26 21:12:10 +00:00
Dale Johannesen
b6d56401aa
Enable codegen for long double abs, sin, cos
...
llvm-svn: 42368
2007-09-26 21:10:55 +00:00
Gordon Henriksen
c23b66c58b
Added C and Ocaml bindings for functions, basic blocks, and
...
instruction creation. No support yet for instruction introspection.
Also eliminated allocas from the Ocaml bindings for portability,
and avoided unnecessary casts.
llvm-svn: 42367
2007-09-26 20:56:12 +00:00
Ted Kremenek
0883fd5817
Removed option "-parse-ast-check" from clang driver. This is now implemented
...
using "-parse-ast -verify".
Updated all test cases (using a sed script) that invoked -parse-ast-check to
now use -parse-ast -verify.
Fixed a bug where using "-verify" instead of "-parse-ast-check" would not
correctly create the DiagClient needed to accumulate diagnostics.
llvm-svn: 42365
2007-09-26 20:14:22 +00:00
Ted Kremenek
a054c5bedd
Moved "VerifyDiagnostics" variable declaration to right below ProgAction
...
declaration. This is because this option is logically tightly connected
to the actions defined in ProgAction.
llvm-svn: 42364
2007-09-26 19:42:19 +00:00
Ted Kremenek
cbd2af8a0a
Removed inclusion of <memory>, which is no longer needed since we
...
aren't used auto_ptr's anymore.
llvm-svn: 42363
2007-09-26 19:41:07 +00:00
Ted Kremenek
8742a45565
Refactored driver so that any action that is implemented using an
...
ASTConsumer can also be verified using the diagnostics checker. From
the command line, users may activate diagnostic checking using the
"-verify" option. For example, "clang -verify -warn-dead-stores"
checks if the warnings flagged by the dead store checker match those
in the comments.
Note that we still have the option "-parse-ast-check" for backwards
comptability with existing test cases. This option is now equivalent to
"-parse-ast -verify".
llvm-svn: 42362
2007-09-26 18:39:29 +00:00
Fariborz Jahanian
2a4dd316a0
This patch inserts ivars declared in @implementation in its object and verifies
...
that they conform(in type, name and numbers) to those declared in @interface.
Test case highlights kind of checking we do here.
llvm-svn: 42360
2007-09-26 18:27:25 +00:00
Dale Johannesen
f04d37d3a9
Fix f80 UNDEF.
...
llvm-svn: 42359
2007-09-26 17:26:49 +00:00
Fariborz Jahanian
19529eec8a
Removed a few TODOs on things which are done.
...
llvm-svn: 42358
2007-09-26 17:03:44 +00:00
Duncan Sands
755d9306a3
X86 -> X86-32 in appropriate places.
...
llvm-svn: 42357
2007-09-26 16:24:52 +00:00
Duncan Sands
47fc0a2a5f
Various cleanups. Especially, EH is turned on by default!
...
llvm-svn: 42356
2007-09-26 15:59:54 +00:00
Chris Lattner
f13af33221
ok ok we get it. CBE and vectors don't like each other yet.
...
llvm-svn: 42355
2007-09-26 15:50:21 +00:00
Chris Lattner
4480f42166
be less redundantly redundant.
...
llvm-svn: 42354
2007-09-26 15:48:33 +00:00
Duncan Sands
0bcbceb647
Test the C front-end, not the C++ front-end.
...
llvm-svn: 42350
2007-09-26 07:28:20 +00:00
Chris Lattner
31d319dce7
make old crappy browsers produce less crappy output :)
...
llvm-svn: 42349
2007-09-26 06:38:59 +00:00
Evan Cheng
b4b352656a
Typos: POPQ -> POPFQ, POPD -> POPFD.
...
llvm-svn: 42348
2007-09-26 06:38:29 +00:00
Chris Lattner
c9e7b8ec50
move PR1160 here.
...
llvm-svn: 42347
2007-09-26 06:29:31 +00:00
Evan Cheng
c1e4e3743b
Allow copyRegToReg to emit cross register classes copies.
...
Tested with "make check"!
llvm-svn: 42346
2007-09-26 06:25:56 +00:00
Chris Lattner
fef69f5b4a
move PR1264 here.
...
llvm-svn: 42345
2007-09-26 06:15:48 +00:00
Chris Lattner
d0382a8550
noone uses etags. Connected to PR1601
...
llvm-svn: 42344
2007-09-26 06:10:47 +00:00
Chris Lattner
828eb3b91f
we support attribute(noinline) now :)
...
llvm-svn: 42343
2007-09-26 06:04:15 +00:00
Chris Lattner
8e06116b8a
update bugs list
...
llvm-svn: 42342
2007-09-26 06:01:35 +00:00
Chris Lattner
4734a358fd
now with more prose.
...
llvm-svn: 42341
2007-09-26 05:44:21 +00:00
Duncan Sands
9b626f0ada
Test that local variables are aligned as the user requested.
...
llvm-svn: 42338
2007-09-26 04:04:29 +00:00
Evan Cheng
0a6f47cff9
Add pushf{d|q}, popf{d|q} to push and pop EFLAGS register.
...
llvm-svn: 42335
2007-09-26 01:29:06 +00:00
Chris Lattner
f7ab334803
Handle (int)1.0e40 as an i-c-e.
...
llvm-svn: 42334
2007-09-26 00:47:26 +00:00
Evan Cheng
9b7f0e6eb4
translateX86CC updates the last two operands.
...
llvm-svn: 42333
2007-09-26 00:45:55 +00:00
Anton Korobeynikov
e291f727e3
Correctly restore stack pointer after realignment in main() on Cygwin/Mingw32
...
llvm-svn: 42332
2007-09-26 00:13:34 +00:00
Daniel Berlin
08f8188adc
Fix small bug in operator== for iterators
...
llvm-svn: 42331
2007-09-26 00:11:59 +00:00
Hartmut Kaiser
fcecf23d48
Updated VC++ build system.
...
llvm-svn: 42330
2007-09-25 23:32:45 +00:00
Dale Johannesen
17663f40b9
Remove no-longer-used variable.
...
llvm-svn: 42329
2007-09-25 23:32:20 +00:00
Dale Johannesen
e7439eff5a
Make APFloat->int conversions deterministic even in
...
cases with undefined behavior.
llvm-svn: 42328
2007-09-25 23:07:07 +00:00
Ted Kremenek
a88f7bcea3
Updated XCode project to reflect that DataflowValues.h and DataflowSolver.h have
...
moved to include/clang/Analysis/FlowSensitive.
llvm-svn: 42327
2007-09-25 22:45:38 +00:00
Chris Lattner
ccc1b69a52
explain why not vector<bool>
...
llvm-svn: 42324
2007-09-25 22:37:50 +00:00
Evan Cheng
5321fa44f4
Missing load / store folding entries.
...
llvm-svn: 42323
2007-09-25 22:10:43 +00:00
Anton Korobeynikov
90910745bb
Partly revert invalid r41774
...
llvm-svn: 42322
2007-09-25 21:52:30 +00:00
Ted Kremenek
39fc60f280
Moved "DataflowSolver.h" to the "include/" subtree. Adjusted client
...
code that uses the solver to reflect the new location.
Created "FlowSensitive" subdirectory in include/clang/Analysis to hold
header files relating to flow-sensitive analyses. Moved
"DataflowValues.h" into this subdirectory.
llvm-svn: 42320
2007-09-25 21:00:24 +00:00
Fariborz Jahanian
e2017c1d1d
Patch to make ObjcImplementationDecl derived from TypeDecl and supprt legacy
...
objective-c code with no @interface declaration.
llvm-svn: 42319
2007-09-25 21:00:20 +00:00