summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a thinko.Anders Carlsson2009-06-011-1/+1
| | | | llvm-svn: 72679
* Check for null correctly for new expressions.Anders Carlsson2009-06-011-4/+32
| | | | llvm-svn: 72678
* Improve irgen of 'new' further.Anders Carlsson2009-05-311-8/+24
| | | | llvm-svn: 72677
* ...and aggregate POD types.Anders Carlsson2009-05-311-4/+2
| | | | llvm-svn: 72676
* Support for complex types.Anders Carlsson2009-05-311-2/+4
| | | | llvm-svn: 72675
* Better support for scalar POD types in 'new' expressions.Anders Carlsson2009-05-311-11/+20
| | | | llvm-svn: 72674
* Very basic irgen support for new expressions.Anders Carlsson2009-05-311-2/+72
| | | | llvm-svn: 72672
* Don't try to call getFileCharacteristic if the function declaration has an ↵Anders Carlsson2009-05-311-2/+3
| | | | | | invalid source location (as is the case for the global allocation functions. llvm-svn: 72671
* Add a new function for emitting new functions.Anders Carlsson2009-05-313-0/+10
| | | | llvm-svn: 72656
* Emit destructors correctly for temporaries.Anders Carlsson2009-05-314-3/+33
| | | | llvm-svn: 72655
* When possible, don't emit the cleanup block. Instead, just move the ↵Anders Carlsson2009-05-311-1/+7
| | | | | | instructions to the current block. llvm-svn: 72654
* Implement VisitCXXExprWithTemporaries for complex expressions.Anders Carlsson2009-05-311-0/+3
| | | | llvm-svn: 72653
* Call EmitCXXExprWithTemporaries.Anders Carlsson2009-05-311-2/+1
| | | | llvm-svn: 72652
* Add lvalue irgen support for CXXBindTemporaryExpr.Anders Carlsson2009-05-303-3/+14
| | | | llvm-svn: 72649
* More temporary support.Anders Carlsson2009-05-304-6/+52
| | | | llvm-svn: 72648
* Some small fixes for fields of reference type.Eli Friedman2009-05-301-0/+2
| | | | llvm-svn: 72636
* Remove VarDecl from CXXConstructExpr.Anders Carlsson2009-05-301-11/+3
| | | | llvm-svn: 72633
* Add code for emitting C++ destructors. Not used yet.Anders Carlsson2009-05-293-0/+14
| | | | llvm-svn: 72591
* Create a new PrintingPolicy class, which we pass down through the ASTDouglas Gregor2009-05-291-1/+3
| | | | | | | | | printing logic to help customize the output. For now, we use this rather than a special flag to suppress the "struct" when printing "struct X" and to print the Boolean type as "bool" in C++ but "_Bool" in C. llvm-svn: 72590
* Re-add a slightly more general version of the check from r72578; it is Eli Friedman2009-05-291-0/+2
| | | | | | actually necessary in some obscure cases. llvm-svn: 72585
* Oops, the testcase I was thinking of is supposed to error out. IMike Stump2009-05-291-2/+0
| | | | | | tried other things that might trip, but they all worked. llvm-svn: 72584
* Fixup codegen for composition of vla types using a normal array type.Mike Stump2009-05-291-0/+2
| | | | llvm-svn: 72578
* Fixup the rest of the trivial cases of the codegen of volatile. IfMike Stump2009-05-295-56/+196
| | | | | | | any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know. llvm-svn: 72572
* PR4281: Fix bogus CodeGen assertion. The issue is that Eli Friedman2009-05-281-8/+5
| | | | | | | getUnqualifiedType() doesn't strip off all qualifiers for non-canonical types. llvm-svn: 72552
* Not setting all the fields is confusing...Mike Stump2009-05-281-0/+3
| | | | llvm-svn: 72506
* Fix a use-of-undefined, IRgen expects the RValue for "void" to be a scalar ↵Daniel Dunbar2009-05-271-2/+2
| | | | | | RValue. llvm-svn: 72504
* No write-barrier for initializations.Fariborz Jahanian2009-05-271-0/+2
| | | | llvm-svn: 72492
* Change a confusing variable name.Fariborz Jahanian2009-05-271-3/+3
| | | | llvm-svn: 72491
* IRgen support for calls to functions that return references to aggregate ↵Anders Carlsson2009-05-271-0/+5
| | | | | | exressions. llvm-svn: 72479
* Fix up constant expression handling to deal with the address Eli Friedman2009-05-271-15/+3
| | | | | | of a reference correctly. llvm-svn: 72463
* Add IRGen support for local variables of reference type.Eli Friedman2009-05-271-6/+4
| | | | llvm-svn: 72462
* Add IRGen support for return statements in functions with reference Eli Friedman2009-05-271-0/+4
| | | | | | type. llvm-svn: 72459
* Handle operator call expressions where the callee is a member function.Anders Carlsson2009-05-273-0/+27
| | | | llvm-svn: 72458
* Functions that return references can be rvalues as well.Anders Carlsson2009-05-272-0/+6
| | | | llvm-svn: 72457
* Add support for emitting calls to functions that return references (as ↵Anders Carlsson2009-05-271-1/+10
| | | | | | lvalues only for now) llvm-svn: 72449
* Fix typo. I also fixed the hard to read case differences, so that noMike Stump2009-05-271-3/+3
| | | | | | one else is tempted to copy the style, incorrectly. llvm-svn: 72448
* Rename an EmitCallExpr function to EmitCall to make it clear that it doesn't ↵Anders Carlsson2009-05-273-16/+14
| | | | | | emit an expr. llvm-svn: 72446
* Fixup codegen for volatile structs in the trivial cases (a a=a and a=a=a).Mike Stump2009-05-264-23/+29
| | | | llvm-svn: 72439
* Use .data() instead of &...[0].Daniel Dunbar2009-05-261-5/+5
| | | | | | - Just SmallVectors this time. llvm-svn: 72432
* Esnure that if we have a volatile structure as the destination, thatMike Stump2009-05-261-3/+6
| | | | | | we actually have a destination. llvm-svn: 72429
* When trying to pass an argument on the stack, assume LLVM will do the rightDaniel Dunbar2009-05-261-3/+19
| | | | | | | | | | | | | thing for non-aggregate types. - Otherwise we unnecessarily pin values to the stack and currently end up triggering a backend bug in one case. - This loose cooperation with LLVM to implement the ABI is pretty ugly. - <rdar://problem/6918722> [irgen] clang miscompile of many pointer varargs on x86-64 llvm-svn: 72419
* Handle the edge case of a weak function with incomplete type correctly. Eli Friedman2009-05-262-8/+12
| | | | | | Found by code inspection; I haven't seen this in real-world code. llvm-svn: 72408
* Propagate volatile for implicit property refernces.Mike Stump2009-05-231-3/+2
| | | | llvm-svn: 72353
* Propagate volatile around for property references.Mike Stump2009-05-231-3/+2
| | | | llvm-svn: 72352
* Track volatile aggregate copies better. I'm hoping someone else will decideMike Stump2009-05-232-4/+11
| | | | | | how to get the backend to know that the operation is volatile. llvm-svn: 72348
* Fix thinko, and implement aggregate volatile reads.Mike Stump2009-05-231-4/+9
| | | | llvm-svn: 72347
* More volatile fixes. Can't testcase these yet as ultimately volatileMike Stump2009-05-232-3/+3
| | | | | | is still ignored. llvm-svn: 72344
* Collapse a few FIXMEs together and refactor to make fixing the code easier.Mike Stump2009-05-231-46/+31
| | | | llvm-svn: 72342
* Add support for volatile RValues.Mike Stump2009-05-231-3/+8
| | | | llvm-svn: 72341
* One step to fixing up codegen for a=b, where a is a volatile struct.Mike Stump2009-05-231-1/+13
| | | | llvm-svn: 72315
OpenPOWER on IntegriCloud