summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Almost complete implementation of rvalue references. One bug, and a few ↵Sebastian Redl2009-03-164-5/+13
| | | | | | unclear areas. Maybe Doug can shed some light on some of the fixmes. llvm-svn: 67059
* Build system changes to use TableGen to generate the variousDouglas Gregor2009-03-161-1/+1
| | | | | | | | | | | | | | | | | | diagnostics. This builds on the patch that Sebastian committed and then revert. Major differences are: - We don't remove or use the current ".def" files. Instead, for now, we just make sure that we're building the ".inc" files. - Fixed CMake makefiles to run TableGen and build the ".inc" files when needed. Tested with both the Xcode and Makefile generators provided by CMake, so it should be solid. - Fixed normal makefiles to handle out-of-source builds that involve the ".inc" files. I'll send a separate patch to the list with Sebastian's changes that eliminate the use of the .def files. llvm-svn: 67058
* Add note on theoretical IRgen improvement.Daniel Dunbar2009-03-151-0/+10
| | | | llvm-svn: 67024
* Remove a FIXME.Daniel Dunbar2009-03-151-2/+0
| | | | llvm-svn: 67022
* Do up codegen for function static data and externs in functions in blockMike Stump2009-03-132-2/+20
| | | | | | literals. llvm-svn: 66984
* Fix a bug in building function pointer type Fariborz Jahanian2009-03-131-2/+3
| | | | | | corresponding to block pointer. llvm-svn: 66940
* Remove FIXME, issue has been resolved.Mike Stump2009-03-131-2/+0
| | | | llvm-svn: 66931
* introduce a new -fheinous-gnu-extensions flag that enables reallyChris Lattner2009-03-131-1/+6
| | | | | | | | | | | really horrible extensions that are disabled by default but that can be accepted by -fheinous-gnu-extensions (but which always emit a warning when enabled). As our first instance of this, implement PR3788/PR3794, which allows non-lvalues in inline asms in contexts where lvalues are required. bleh. llvm-svn: 66910
* Fix <rdar://problem/6675489> BlockDecl should not use llvm::smallvector.Steve Naroff2009-03-131-1/+1
| | | | | | Also changed BlockDecl API to be more consistent (wrt FunctionDecl). llvm-svn: 66904
* Fixed an ir-gen bug related to strong-cast generation ofFariborz Jahanian2009-03-131-0/+32
| | | | | | source being a non-pointer. llvm-svn: 66854
* More objc2's ivar layout bitmap.Fariborz Jahanian2009-03-121-62/+104
| | | | | | | bitmap generation for basic ivars seem to work now. This is work in progress. llvm-svn: 66836
* Fix uninitialized use in GetAddrOfGlobalBlock, reenable assert.Daniel Dunbar2009-03-121-2/+2
| | | | | | - Mike, please verify. llvm-svn: 66762
* x86_32 ABI: Don't try and expand structures with bitfields.Daniel Dunbar2009-03-111-7/+7
| | | | | | | | | | - This is an ABI incompatiblity, but this is not likely to be a huge deal in practice. For now we at least generate self consistent code instead of crashing. - <rdar://problem/6657601> x86-32 ABI: Bitfields in small structures are not passed correctly llvm-svn: 66713
* Code refactoring. No change in functionality.Fariborz Jahanian2009-03-111-21/+25
| | | | llvm-svn: 66710
* More of objc2's ivar layout bitmap (Next: specific).Fariborz Jahanian2009-03-111-11/+174
| | | | | | Work in progress. llvm-svn: 66707
* Adjust for linkage name change.Duncan Sands2009-03-111-1/+1
| | | | llvm-svn: 66691
* Correct for change of this name in LLVM.Duncan Sands2009-03-111-2/+2
| | | | llvm-svn: 66652
* More Next objc2's gc ivar layout bitmap work.Fariborz Jahanian2009-03-111-3/+128
| | | | | | Work in progress. llvm-svn: 66615
* add plumbing to report diagnostics back through sema for malformed asmstrings.Chris Lattner2009-03-101-1/+2
| | | | llvm-svn: 66598
* move the asm string analysis code out of codegen into common Chris Lattner2009-03-101-112/+15
| | | | | | code where Sema can get to it. No functionality change. llvm-svn: 66596
* Emit super class debug info.Devang Patel2009-03-101-0/+11
| | | | llvm-svn: 66580
* ir-gen support for class getter/setter call Fariborz Jahanian2009-03-101-4/+18
| | | | | | using property dot-syntax. llvm-svn: 66556
* Remove some now-unneeded calls to llvm::errs().flush().Daniel Dunbar2009-03-101-2/+0
| | | | llvm-svn: 66555
* Address Doug's comments wrt the mangler and fix Eli's test caseAnders Carlsson2009-03-101-20/+10
| | | | llvm-svn: 66549
* More objc2's gc meta-data work related to ivar layout bitmap.Fariborz Jahanian2009-03-101-6/+55
| | | | | | Work in progress. llvm-svn: 66546
* Fix PR3682 by just disabling a broken assertion. This check should beChris Lattner2009-03-101-3/+2
| | | | | | | | done in sema, and is reflected by the existing PR3258. In the meantime, fix PR3682 by disabling a bogus assertion (which doesn't account for + operands). llvm-svn: 66533
* reduce duplication of parsing code between %0 and %x0 andChris Lattner2009-03-101-19/+18
| | | | | | add support for modifiers on named references, like %c[foo]. llvm-svn: 66532
* move matching of named operands into AsmStmt class. At the sameChris Lattner2009-03-101-24/+5
| | | | | | | time handle + operands in operand counting, fixing asm.c:t7 to expand into $2 instead of $1. llvm-svn: 66531
* reduce nesting, use memchr instead of explicit loop, eliminate aChris Lattner2009-03-101-93/+86
| | | | | | temporary std::string to fix a fixme. llvm-svn: 66530
* Expand %= into ${:uid} so that the code generator emits a unique ID for theChris Lattner2009-03-101-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | asm. This allows us to properly handle the case when an optimizer duplicates the asm, such as here: void bar() { int i; for (i = 0; i < 3; ++i) asm("foo %=" : : "r"(0)); } we now produce: _bar: xorl %eax, %eax ## InlineAsm Start foo 0 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 2 ## InlineAsm End ret instead of: _bar: xorl %eax, %eax ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ret This also fixes a fixme by eliminating a static. llvm-svn: 66528
* add some helper methods to AsmStmt and add some comments.Chris Lattner2009-03-101-4/+2
| | | | llvm-svn: 66521
* slightly simplify some code, pull the 'is simple asm' case up inChris Lattner2009-03-101-24/+30
| | | | | | ConvertAsmString and shrink it a bit. No functionality change. llvm-svn: 66520
* Backout r66408, we don't want handling of globals to rely on theDaniel Dunbar2009-03-092-52/+45
| | | | | | | module symbol table. The root problem inspiring this was fixed in r66316 (and again in r66506). llvm-svn: 66512
* NeXT: Set alignment on a number of ObjC metadata variables (matching llvm-gcc).Daniel Dunbar2009-03-091-11/+11
| | | | llvm-svn: 66481
* NeXT: Move some routines over to CreateMetadataVar.Daniel Dunbar2009-03-091-169/+81
| | | | | | - No intended functionality change. llvm-svn: 66473
* Tweak CreateMetadataVar, take the exact alignment instead of relyingDaniel Dunbar2009-03-091-7/+15
| | | | | | on LLVM TargetData. llvm-svn: 66455
* More fix for bitfield ivar meta-data and code gen accessing it.Fariborz Jahanian2009-03-091-8/+17
| | | | | | | Now, we can actually execute dejagnu test with bitfield ivars in non-fragile abi mode. llvm-svn: 66448
* Fix typo in pref commit.Daniel Dunbar2009-03-091-1/+1
| | | | llvm-svn: 66433
* NeXT: Add CreateMetadataVar utility method to encapsulate creation ofDaniel Dunbar2009-03-091-0/+34
| | | | | | | | Obj-C metadata variables (which generally should be handled the same, although they aren't currently). - No functionality change. llvm-svn: 66432
* Be sure to never create two functions with the same name, instead arrange toMike Stump2009-03-092-45/+52
| | | | | | reuse the prior one. llvm-svn: 66408
* Code refactoring. No functional change.Fariborz Jahanian2009-03-081-25/+17
| | | | llvm-svn: 66391
* Make mangling work with anonymous tag types. Doug, please reviewAnders Carlsson2009-03-071-5/+19
| | | | llvm-svn: 66353
* Mangle Objective-C interfaces correctly (where correctly refers to what gcc ↵Anders Carlsson2009-03-071-0/+9
| | | | | | does) llvm-svn: 66349
* Make constant emission for @encode use the common string emission code. Eli Friedman2009-03-071-6/+2
| | | | | | | This is a bit cleaner, and also "fixes" bad code that compares the addresses of the string constants. llvm-svn: 66346
* correct bitfield ivar offset in ivar meta-data.Fariborz Jahanian2009-03-071-12/+27
| | | | | | (objc abi specific). llvm-svn: 66345
* Mangle param names with .arg. only.Sanjiv Gupta2009-03-071-1/+1
| | | | llvm-svn: 66343
* Fixup our uses of various linkages to match how llvm now works. I think ↵Mike Stump2009-03-072-11/+13
| | | | | | | | they are all correct, but an extra set of ObjC eyes would be good. llvm-svn: 66342
* If someone could figure out this is necessary, that would be good.Mike Stump2009-03-071-1/+3
| | | | llvm-svn: 66341
* Fix typo, need parens.Mike Stump2009-03-071-2/+2
| | | | llvm-svn: 66337
* Some struct/class mismatch fixes, to silence MSVC warnings.Sebastian Redl2009-03-071-1/+1
| | | | llvm-svn: 66335
OpenPOWER on IntegriCloud