Dan Gohman
7135a9d166
Clarify a comment.
...
llvm-svn: 67525
2009-03-23 15:54:02 +00:00
Dan Gohman
21ff35195e
LoopVR is not CFGOnly.
...
llvm-svn: 67524
2009-03-23 15:50:52 +00:00
Dan Gohman
5aabc424b1
Enhance LiveValues to work on PHI operands.
...
llvm-svn: 67523
2009-03-23 15:49:37 +00:00
Dan Gohman
87cd443ae9
Make getOperandNumForIncomingValue and getOperandNumForIncomingBlock
...
static member functions, and add getIncomingValueNumForOperand
and getIncomingBlockNumForOperand, which are the respective
inverses.
llvm-svn: 67522
2009-03-23 15:48:29 +00:00
Ted Kremenek
c7fef2ad53
analyzer: Fix embarrassing regression in BasicStore when invalidating struct
...
values passed-by-reference to unknown functions.
llvm-svn: 67519
2009-03-23 15:42:58 +00:00
Dan Gohman
4a683478d5
Correct some comments. Operand numbers start at 0.
...
llvm-svn: 67518
2009-03-23 15:40:10 +00:00
Daniel Dunbar
fefce128c5
ccc: Forward -f[no-]builtin to clang.
...
llvm-svn: 67517
2009-03-23 14:57:31 +00:00
Evan Cheng
968c3b0d6e
Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies.
...
llvm-svn: 67512
2009-03-23 08:01:15 +00:00
Evan Cheng
47c9750f04
Do not fold away subreg_to_reg if the source register has a sub-register index. That means the source register is taking a sub-register of a larger register. e.g. On x86
...
%RAX<def> = ...
%RAX<def> = SUBREG_TO_REG 0, %EAX:3<kill>, 3
The first def is defining RAX, not EAX so the top bits were not zero-extended.
llvm-svn: 67511
2009-03-23 07:19:58 +00:00
Chris Lattner
f2b60658ef
fix a bug Alexei Svitkine pointed out.
...
llvm-svn: 67510
2009-03-23 06:46:20 +00:00
Chris Lattner
fb95472123
When we restore signal handlers, restore them back to what they
...
were when we came around, not to their default handler. This
should fix PR3848
llvm-svn: 67509
2009-03-23 05:55:36 +00:00
Chris Lattner
f299a68ee0
factorize signal registration, part of PR3848.
...
llvm-svn: 67508
2009-03-23 05:42:29 +00:00
Dan Gohman
772de0ae2d
Fix a grammaro in a comment that Bill noticed.
...
llvm-svn: 67507
2009-03-23 05:02:44 +00:00
Eli Friedman
449fe54cff
Minor Evaluate cleanup; add some boilerplate implementations to
...
Evaluate for __extension__ and __builtin_choose_expr.
llvm-svn: 67506
2009-03-23 04:56:01 +00:00
Chris Lattner
57be315d36
tt'ify.
...
llvm-svn: 67505
2009-03-23 04:53:34 +00:00
Chris Lattner
30bc972596
VC++ 6.0 is not future work :)
...
Do not recommend llvm::OStream anymore. Use raw_ostream or MemoryBuffer.
llvm-svn: 67504
2009-03-23 04:52:53 +00:00
Eli Friedman
6400433980
Minor enhancements to Evaluate.
...
llvm-svn: 67503
2009-03-23 04:38:34 +00:00
Dan Gohman
70d9929def
Add comments explaining why there's only one register for
...
i8 return values.
llvm-svn: 67502
2009-03-23 04:28:24 +00:00
Eli Friedman
31a20d680a
Some minor fixes for complex IRGen.
...
llvm-svn: 67501
2009-03-23 04:08:46 +00:00
Evan Cheng
3138f7a781
Missed this as part of r67451.
...
llvm-svn: 67500
2009-03-23 03:45:56 +00:00
Eli Friedman
7b4716750b
Fix a subtle bug in CodeGen for the increment of a bitfield.
...
llvm-svn: 67499
2009-03-23 03:00:06 +00:00
Ted Kremenek
43e2deee22
Update checker build.
...
llvm-svn: 67498
2009-03-23 02:00:36 +00:00
Eli Friedman
ba961a920a
Add some FIXMEs relating to incomplete types.
...
llvm-svn: 67497
2009-03-23 00:24:07 +00:00
Eli Friedman
04841eebcb
Fix a few more instances of "&>".
...
llvm-svn: 67496
2009-03-23 00:04:01 +00:00
Sebastian Redl
3b27be6ceb
Recognize rvalue references in C++03, but complain about them. This leads to far better error recovery.
...
llvm-svn: 67495
2009-03-23 00:00:23 +00:00
Eli Friedman
80160bd483
Partial implementation of PR3342: break out pointer sign
...
incompatibilities in assignments from other pointer incompatibilities.
Based off of the patch in PR3342. (This doesn't implement -Wno-pointer-sign,
but I don't know the driver code very well.)
llvm-svn: 67494
2009-03-22 23:59:44 +00:00
Daniel Dunbar
a0c89be9cc
Driver: Drop code for checking bounds in SeparateArg::render, this
...
situation should never occur now that arguments are parsed correctly.
llvm-svn: 67493
2009-03-22 23:50:14 +00:00
Sebastian Redl
b28b407121
Disallow catching exceptions by rvalue reference.
...
llvm-svn: 67492
2009-03-22 23:49:27 +00:00
Eli Friedman
e8dd7b3228
Adjust isModifiableLvalue to give a slightly more useful diagnostic for
...
attempting to illegally modify a BlockDeclRefExpr.
llvm-svn: 67491
2009-03-22 23:26:56 +00:00
Daniel Dunbar
d8500f3b0f
Driver: Implement 'missing argument' error.
...
llvm-svn: 67490
2009-03-22 23:26:43 +00:00
Eli Friedman
7fa3faa417
Fix code to mark block variables as const to actually work. Fix
...
isObjCObjectPointerType to work with qualified types. Adjust test for
changes.
If the SemaExpr changes are wrong or break existing code, feel free to
delete the "ExprTy.addConst();" line and revert my changes to
test/Sema/block-literal.c.
llvm-svn: 67489
2009-03-22 23:00:19 +00:00
Sebastian Redl
e88b229b48
.td files have been used for a few days without complaint. Kill the .def files.
...
llvm-svn: 67488
2009-03-22 22:58:53 +00:00
Sebastian Redl
e97585f717
Implement static_cast from lvalue to rvalue reference.
...
llvm-svn: 67487
2009-03-22 22:30:06 +00:00
Eli Friedman
38f8493752
Add testcase for incomplete call/return types for calls.
...
llvm-svn: 67486
2009-03-22 22:03:03 +00:00
Eli Friedman
3164fb15e2
Check that the return/argument types of calls are complete.
...
llvm-svn: 67485
2009-03-22 22:00:50 +00:00
Chris Lattner
e64911a4ae
switch getBuiltinLibFunction to use the new GetOrCreateLLVMFunction
...
functionality, fixing a crash on the attached testcase. Eliminate the
BuiltinFunctions cache, as it can contain dangling pointers. This fixes
a bunch of valgrind errors on test/CodeGen/builtins.c
llvm-svn: 67484
2009-03-22 21:56:56 +00:00
Eli Friedman
bae2042bb5
Don't use &> in tests; dash doesn't understand it.
...
llvm-svn: 67483
2009-03-22 21:49:20 +00:00
Chris Lattner
5404169327
emit aliases as the definitions fly by, don't bother deferring until
...
the end of the module.
llvm-svn: 67482
2009-03-22 21:47:11 +00:00
Chris Lattner
827a3552a4
make alias definition logic more similar to functions/globals.
...
llvm-svn: 67481
2009-03-22 21:39:12 +00:00
Sebastian Redl
b7d6491a7e
Fix build from r67476 and address the easy part of Doug's comments on rvalue refs.
...
llvm-svn: 67480
2009-03-22 21:28:55 +00:00
Chris Lattner
a5ae54acc4
fix PR3200 by making alias emission use the new infrastructure. Fold
...
some tests into the alias.c file.
llvm-svn: 67479
2009-03-22 21:21:57 +00:00
Chris Lattner
d480892445
pull "runtime globals" into the same framework as other functions/global variables.
...
No intended functionality change.
llvm-svn: 67478
2009-03-22 21:03:39 +00:00
Eli Friedman
d6a7b72944
Remove dead code.
...
llvm-svn: 67477
2009-03-22 20:54:47 +00:00
Anders Carlsson
576cc6f725
Disallow abstract types where appropriate.
...
llvm-svn: 67476
2009-03-22 20:18:17 +00:00
Chris Lattner
75acb0c356
fix a fixme: non-proto struct returning function definitions should be compiled
...
to something like:
define void @bar(%struct.foo* noalias sret %agg.result) nounwind {
instead of:
define void @bar(%struct.foo* noalias sret %agg.result, ...) nounwind {
llvm-svn: 67475
2009-03-22 19:35:37 +00:00
Chris Lattner
377b9c84d0
add some missing type predicates.
...
llvm-svn: 67474
2009-03-22 19:29:18 +00:00
Chris Lattner
b6ff0f3a4d
Fix PR3860 by correcting a predicate.
...
llvm-svn: 67473
2009-03-22 19:22:53 +00:00
Nuno Lopes
34cef4c1c8
fix PR3859: crash with 'cc -V'
...
llvm-svn: 67472
2009-03-22 17:47:44 +00:00
Duncan Sands
b1656c1e1f
Add some explanations of how apint loads and stores
...
work.
llvm-svn: 67471
2009-03-22 11:33:16 +00:00
Bill Wendling
a443ab4bcd
Really should pass -dylib to the linker...
...
llvm-svn: 67469
2009-03-22 08:56:15 +00:00