summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Preserve the full name of the file, so that '-c -o foo.pic.o' producesNick Lewycky2011-05-052-8/+8
| | | | | | foo.pic.gcno instead of foo.gcno. llvm-svn: 130899
* Pack ivar offsets together.Bill Wendling2011-05-041-1/+1
| | | | | | | | | | Ivar offsets for synthesized ivars are wrong, which could end up with a large number of dirty pages because of ivar fixups at runtime. When we pack all of the synthesized ivars into the same section, it limits the number of dirty pages created. Place them in the "__DATA,__objc_ivar" section. <rdar://problem/9374905> llvm-svn: 130870
* Record where the GCOV data files should be placed.Nick Lewycky2011-05-042-0/+24
| | | | llvm-svn: 130866
* Simplification noticed by Chris.Bill Wendling2011-05-041-3/+2
| | | | llvm-svn: 130864
* Convert the non-temporal store builtins to LLVM-native IR.Bill Wendling2011-05-041-0/+17
| | | | llvm-svn: 130830
* Ensure that destructors are properly inovked when an exception leavesAlexis Hunt2011-05-031-1/+27
| | | | | | | | | | the body of a delegating constructor call. This means that the delegating constructor implementation should be complete and correct, though there are some rough edges (diagnostic quality with the cycle detection and using a deleted destructor). llvm-svn: 130803
* Finish off rules for z-length bitfields in ms_structFariborz Jahanian2011-05-033-8/+4
| | | | | | structs. // rdar://8823265 llvm-svn: 130783
* Fix delegating constructors stylistic issues.Alexis Hunt2011-05-032-12/+21
| | | | | | Material bugfixes to come this afternoon. llvm-svn: 130782
* Function with internal linkage name do not have mangled name.Devang Patel2011-05-021-2/+1
| | | | llvm-svn: 130736
* Do not try to get mangled name of block helpers. Apply a stopgap measure to ↵Devang Patel2011-05-021-1/+3
| | | | | | fix SingleSource/UnitTests/block-copied-in-cxxobj compile time crash. llvm-svn: 130734
* Emit debug info for __destroy_helper_block_ and __copy_helper_block.Devang Patel2011-05-021-0/+8
| | | | llvm-svn: 130719
* Skip extra copy from aggregate where it isn't necessary; ↵Eli Friedman2011-05-022-4/+18
| | | | | | rdar://problem/8139919 . This shouldn't make much of a difference at -O3, but should substantially reduce the number of generated memcpy's at -O0. llvm-svn: 130717
* Switch CallArgList from an std::pair to a new CallArg struct (which will ↵Eli Friedman2011-05-023-14/+21
| | | | | | eventually gain more members). Working towards modifying call emission to avoid unnecessary copies. llvm-svn: 130700
* Simplify code a bit by using CallArgList::add. No intended functionality ↵Eli Friedman2011-05-028-77/+55
| | | | | | change. llvm-svn: 130699
* More rule enforcement of zero bitfields for ms_struct.Fariborz Jahanian2011-05-023-4/+8
| | | | llvm-svn: 130696
* Remove unused variable spotted by GCC.Nick Lewycky2011-05-021-2/+1
| | | | | | | | | Devang, can we remove this call entirely? If I try that, "make check" passes but the call has a side-effect of ensuring that the block's context exists in the debug info. getContextDescriptor() is used in a void context for that side- effect elsewhere in this file. Please take a look! llvm-svn: 130679
* Remove dead variable, flagged by gcc's -Wunused-but-set-variable.Nick Lewycky2011-05-021-2/+0
| | | | llvm-svn: 130674
* Remove dead variable flagged by gcc's -Wunused-but-set-variable. NoNick Lewycky2011-05-021-1/+0
| | | | | | functionality change. llvm-svn: 130673
* Remove a dead variable flagged by gcc's -Wunused-but-set-variable. NoNick Lewycky2011-05-021-2/+0
| | | | | | functionality change. llvm-svn: 130672
* Fully implement delegating constructors!Alexis Hunt2011-05-013-4/+39
| | | | | | | | | | As far as I know, this implementation is complete but might be missing a few optimizations. Exceptions and virtual bases are handled correctly. Because I'm an optimist, the web page has appropriately been updated. If I'm wrong, feel free to downgrade its support categories. llvm-svn: 130642
* Implement -fno-dwarf2-cfi-asm.Rafael Espindola2011-04-301-0/+2
| | | | llvm-svn: 130616
* Tie constructor defintion with its declaration using AT_specification.Devang Patel2011-04-291-4/+9
| | | | llvm-svn: 130561
* Add -Oz option and use it to set the inline threshold to 25.Bob Wilson2011-04-291-1/+3
| | | | | | Radar 9333566. Patch by Chad Rosier! llvm-svn: 130554
* removes a meaningless comment.Fariborz Jahanian2011-04-291-3/+1
| | | | llvm-svn: 130550
* block variables on lhs need be ir-gen'ed after theFariborz Jahanian2011-04-291-1/+18
| | | | | | | | rhs when its 'forwarding' pointer may be modified in rhs evaluation as result of call to Block_copy. // rdar://9309454 llvm-svn: 130545
* Don't crash if the AST doesn't have a sensible ObjC id type.David Chisnall2011-04-291-4/+6
| | | | llvm-svn: 130500
* Fixes debug info generation problem for ms_struct structs.Fariborz Jahanian2011-04-281-1/+14
| | | | | | // rdar://8823265 llvm-svn: 130458
* Cut down unnecessary zero'ing when value-initializing arrays of C++ objects.Argyrios Kyrtzidis2011-04-282-3/+13
| | | | | | | -C++ objects with user-declared constructor don't need zero'ing. -We can zero-initialize arrays of C++ objects in "bulk" now, in which case don't zero-initialize each object again. llvm-svn: 130453
* ms_struct patch for initialization and field access irgen.Fariborz Jahanian2011-04-281-1/+15
| | | | | | // rdar://8823265 - wip. llvm-svn: 130451
* Raise ARM byval minimum size from 32 to 64, addressing a performanceStuart Hastings2011-04-281-1/+1
| | | | | | regression in mason. rdar://problem/7662569 llvm-svn: 130444
* Get the base element type even in multidimensional arrays.Argyrios Kyrtzidis2011-04-281-1/+2
| | | | llvm-svn: 130427
* Replace unitary array with scalar. rdar://problem/7662569Stuart Hastings2011-04-281-3/+3
| | | | llvm-svn: 130423
* When value-initializing the elements of an array not not included in the ↵Argyrios Kyrtzidis2011-04-281-1/+9
| | | | | | | | | | initializer make sure that a non-trivial C++ constructor gets called. Fixes rdar://9347552 & http://llvm.org/PR9801 llvm-svn: 130421
* Replace SmallVector with an array, as suggested by Frits van Bommel. ↵Stuart Hastings2011-04-281-13/+6
| | | | | | rdar://problem/7662569 llvm-svn: 130417
* When block-capturing a variable with a non-trivial destructor,John McCall2011-04-281-0/+1
| | | | | | | | | | make sure to mark the destructor. This normally isn't required, because the destructor should have been marked as part of the declaration of the local, but it's necessary when the variable is a parameter because it's the call sites that are responsible for those destructors. llvm-svn: 130372
* Parsing/AST support for Structured Exception HandlingJohn Wiegley2011-04-281-0/+4
| | | | | | | | Patch authored by Sohail Somani. Provide parsing and AST support for Windows structured exception handling. llvm-svn: 130366
* Implementation of Embarcadero array type traitsJohn Wiegley2011-04-281-0/+4
| | | | | | | | | | Patch authored by John Wiegley. These are array type traits used for parsing code that employs certain features of the Embarcadero C++ compiler: __array_rank(T) and __array_extent(T, Dim). llvm-svn: 130351
* Re-enable byval for ARM in clang. rdar://problem/7662569Stuart Hastings2011-04-271-11/+22
| | | | llvm-svn: 130312
* Some refactoring of my ms_struct patch.Fariborz Jahanian2011-04-271-7/+2
| | | | | | // rdar://8823265 related. llvm-svn: 130311
* When compiling with -fno-threadsafe-statics, guard variables for globals ↵Anders Carlsson2011-04-271-5/+13
| | | | | | with internal linkage don't have to be i64, i8 works just fine! llvm-svn: 130286
* With ms_struct attribut, Zero-length bitfields following Fariborz Jahanian2011-04-261-4/+42
| | | | | | non-bitfield members are ignore. // rdar://8823265 wip llvm-svn: 130257
* We need pointer size in bits here.Devang Patel2011-04-261-1/+1
| | | | llvm-svn: 130244
* Make yet another placeholder type, this one marking that an expression is a ↵John McCall2011-04-263-7/+8
| | | | | | | | | | | bound member function, i.e. something of the form 'x.f' where 'f' is a non-static member function. Diagnose this in the general case. Some of the new diagnostics are probably worse than the old ones, but we now get this right much more universally, and there's certainly room for improvement in the diagnostics. llvm-svn: 130239
* IRgen/Darwin: Fix refacto introduced in Triple changes.Daniel Dunbar2011-04-261-1/+1
| | | | llvm-svn: 130233
* Temporarily revert r130176, it appears to have broken a few tests.Eric Christopher2011-04-261-22/+11
| | | | llvm-svn: 130179
* Emit intrinsic at current insert point, not at the end of current block.Devang Patel2011-04-251-1/+1
| | | | llvm-svn: 130177
* Turn on byval parameters in Clang for ARM APCS. rdar://problem/7662569Stuart Hastings2011-04-251-11/+22
| | | | llvm-svn: 130176
* Simplify. There is no need to have a method to just call another method.Devang Patel2011-04-252-26/+14
| | | | llvm-svn: 130175
* Generalize case for built-in expressions havingFariborz Jahanian2011-04-251-11/+4
| | | | | | | side-effect to generate their ir. Not just for __builtin_expect. // rdar://9330105 llvm-svn: 130172
* Ir-gen the side-effect(s) when __builtin_expect isFariborz Jahanian2011-04-251-0/+9
| | | | | | constant-folded. // rdar://9330105 llvm-svn: 130163
OpenPOWER on IntegriCloud