summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Mark the passed in "self" for a block as an object pointer soEric Christopher2012-09-211-3/+9
| | | | | | | | | that the backend can mark it as the representative pointer for the block. rdar://12001329 llvm-svn: 164418
* Call CGM.SetLLVMFunctionAttributesForDefinition on thunks so that they getRafael Espindola2012-09-211-0/+2
| | | | | | | attributes like uwtable. Without uwtable a stack unwinder would be unable to go past the thunks. llvm-svn: 164411
* Update for encapsulating the "construct*AlignmentFromInt" methods.Bill Wendling2012-09-212-2/+2
| | | | llvm-svn: 164374
* ARM: Use a dedicated intrinsic for vector bitwise select.Jim Grosbach2012-09-211-0/+4
| | | | | | | | | | | The expression based expansion too often results in IR level optimizations splitting the intermediate values into separate basic blocks, preventing the formation of the VBSL instruction as the code author intended. In particular, LICM would often hoist part of the computation out of a loop. rdar://11011471 llvm-svn: 164342
* Tidy up. Trailing whitespace and 80 columns.Jim Grosbach2012-09-211-67/+69
| | | | llvm-svn: 164341
* Grammar.Eric Christopher2012-09-191-1/+1
| | | | llvm-svn: 164260
* Update and expand comment.Eric Christopher2012-09-191-2/+4
| | | | llvm-svn: 164254
* Handle a captured this for the debug information as well.Eric Christopher2012-09-191-0/+10
| | | | llvm-svn: 164253
* Fix awkward comment.Eric Christopher2012-09-191-1/+1
| | | | llvm-svn: 164252
* Update clang for API change.Benjamin Kramer2012-09-191-1/+3
| | | | llvm-svn: 164218
* Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.Dmitri Gribenko2012-09-153-10/+10
| | | | llvm-svn: 163983
* Fix includes of llvm and clang files that used angle brackets.Craig Topper2012-09-151-5/+5
| | | | llvm-svn: 163980
* Fix thunk emission for covariant virtual functions in cases which requireEli Friedman2012-09-141-7/+16
| | | | | | both a virtual and a non-virtual offset. PR13832. llvm-svn: 163866
* Fix line endings.Eli Friedman2012-09-141-5/+5
| | | | llvm-svn: 163865
* Reapply:Eric Christopher2012-09-121-4/+12
| | | | | | | | | | | Make clang emit a flag for DW_AT_object_pointer for the artificial args where it should (implicit first arguments). FileCheck-ize a test as well and update tests to take into account the object pointer flag. rdar://9797999 llvm-svn: 163755
* Revert "Make clang emit a flag for DW_AT_object_pointer for the artificial"Eric Christopher2012-09-121-12/+4
| | | | | | this should be done on the subprogram, not the variable. llvm-svn: 163733
* Make clang emit a flag for DW_AT_object_pointer for the artificialEric Christopher2012-09-121-4/+12
| | | | | | | | | | args where it should (implicit first arguments). FileCheck-ize a test as well and update tests to take into account the object pointer flag. rdar://9797999 llvm-svn: 163668
* Remove some redundancy from constant aggregate emission. No functionality ↵Richard Smith2012-09-111-9/+2
| | | | | | change. llvm-svn: 163595
* Update comment and space.Eric Christopher2012-09-111-2/+2
| | | | llvm-svn: 163586
* The type of the self and cmd variables should be artificial. (NoteEric Christopher2012-09-111-2/+4
| | | | | | | | | that the types aren't artificial the args are, but this is currently represented by an artificial type.) Found by inspection. llvm-svn: 163585
* Remove redundant semicolons which are null statements.Dmitri Gribenko2012-09-101-1/+1
| | | | llvm-svn: 163546
* When a bad UTF-8 encoding or bogus escape sequence is encountered in aRichard Smith2012-09-081-2/+3
| | | | | | | string literal, produce a diagnostic pointing at the erroneous character range, not at the start of the literal. llvm-svn: 163459
* -fcatch-undefined-behavior: Factor emission of the creation of, and branch to,Richard Smith2012-09-086-118/+78
| | | | | | | | | the trap BB out of the individual checks and into a common function, to prepare for making this code call into a runtime library. Rename the existing EmitCheck to EmitTypeCheck to clarify it and to move it out of the way of the new EmitCheck. llvm-svn: 163451
* In ARC, if we're emitting assembly markers for calls toJohn McCall2012-09-071-6/+17
| | | | | | | | | objc_retainAutoreleasedReturnValue, we need to also be killing them during return peepholing. Make sure we recognize an intervening bitcast, but more importantly, assert if we can't find the asm marker at all. rdar://problem/12133032 llvm-svn: 163431
* Use custom ABIInfo for le32/PNaCl argument codegenDerek Schuff2012-09-061-0/+86
| | | | | | | | | This patch uses a new ABIInfo implementation specific to the le32 target, rather than falling back to DefaultABIInfo. Its behavior is basically the same, but it also allows the regparm argument attribute. It also includes basic tests for argument codegen and attributes. llvm-svn: 163333
* Fixing the return type information for objc_sync_enter and objc_sync_exit. ↵Aaron Ballman2012-09-061-4/+4
| | | | | | Patch thanks to Joe Ranieri! llvm-svn: 163330
* Dont cast away const needlessly. Found by gcc48 -Wcast-qual.Roman Divacky2012-09-063-4/+4
| | | | llvm-svn: 163325
* Update for r163231.Chad Rosier2012-09-051-2/+3
| | | | llvm-svn: 163232
* Changing of type checking order on InitListExprJin-Gu Kang2012-09-051-3/+3
| | | | | | - UnionType is checked eariler than RecordType. llvm-svn: 163202
* [ms-inline asm] Set the inline assembly dialect in CodeGen.Chad Rosier2012-09-041-1/+3
| | | | llvm-svn: 163178
* [ms-inline asm] Remove the Inline Asm Non-Standard Dialect attribute. ThisChad Rosier2012-09-041-4/+0
| | | | | | | implementation does not co-exist well with how the sideeffect and alignstack attributes are handled. llvm-svn: 163173
* Minor cleanup to improve code readability. No functional change intended.Chad Rosier2012-09-041-2/+2
| | | | llvm-svn: 163161
* Revert r163083 per chandlerc's request.Joao Matos2012-09-041-1/+0
| | | | llvm-svn: 163149
* Rename ANDROIDEABI to Android.Logan Chien2012-09-021-1/+2
| | | | | | | | | | | | | Most of the code guarded with ANDROIDEABI are not ARM-specific, and having no relation with arm-eabi. Thus, it will be more natural to call this environment "Android" instead of "ANDROIDEABI". Note: We are not using ANDROID because several projects are using "-DANDROID" as the conditional compilation flag. llvm-svn: 163088
* Implemented parsing and AST support for the MS __leave exception statement. ↵Joao Matos2012-09-021-0/+1
| | | | | | Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review. llvm-svn: 163083
* Normalize line endings of r163013 (part 2).Joao Matos2012-08-311-7/+7
| | | | llvm-svn: 163032
* Improved MSVC __interface support by adding first class support for it, ↵Joao Matos2012-08-311-7/+7
| | | | | | instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins. llvm-svn: 163013
* Change the representation of builtin functions in the ASTEli Friedman2012-08-315-2/+12
| | | | | | | | | (__builtin_* etc.) so that it isn't possible to take their address. Specifically, introduce a new type to represent a reference to a builtin function, and a new cast kind to convert it to a function pointer in the operand of a call. Fixes PR13195. llvm-svn: 162962
* Make alignment computation for pointer values for builtins handleEli Friedman2012-08-291-1/+2
| | | | | | non-pointer types with a pointer representation correctly. PR13660. llvm-svn: 162862
* [ms-inline asm] Have MSAsmStmts use the generic EmitAsmStmt codegen function.Chad Rosier2012-08-282-41/+6
| | | | llvm-svn: 162796
* CUDA: give correct address space to globals declared in functionsPeter Collingbourne2012-08-281-1/+3
| | | | llvm-svn: 162787
* [ms-inline asm] Rename EmitGCCAsmStmt to EmitAsmStmt and have it accept Chad Rosier2012-08-282-6/+8
| | | | | | | | AsmStmts. This function is only used by GCCAsmStmts, however. Constraints need to be properly computed before MSAsmStmts can use EmitAsmStmt. No functional change intended. llvm-svn: 162776
* Fix PR13704Michael Liao2012-08-281-1/+1
| | | | | | | - The increment needs to be signed value to preserve the original value when its data type is larger than 64-bit integer. llvm-svn: 162766
* [ms-inline asm] Add virtual function, getClobber, that returns a StringRef.Chad Rosier2012-08-271-1/+1
| | | | | | More work towards unifying asm stmt codegen. llvm-svn: 162712
* [ms-inline asm] Rename getClobber to getClobberStringLiteral. No functionalChad Rosier2012-08-271-1/+1
| | | | | | change intended. llvm-svn: 162710
* CodeGen: Hoist check from recursive function to its only callsite.Benjamin Kramer2012-08-271-4/+4
| | | | | | Suggested by Roman Divacky. llvm-svn: 162702
* CodeGen: When emitting stores for an initializer, only emit a GEP if we ↵Benjamin Kramer2012-08-271-7/+10
| | | | | | | | really need the store. This avoids emitting many dead GEPs for large zero-initialized arrays. llvm-svn: 162701
* [ms-inline asm] Rename GenerateAsmString to generateAsmString to conform withChad Rosier2012-08-271-1/+1
| | | | | | | coding standards. Also, add stub for MSAsmStmt class as part of unifying codegen logic for AsmStmts. llvm-svn: 162696
* Fix a CodeGen bug where we would skip zero-initialization forEli Friedman2012-08-251-4/+1
| | | | | | array new with a non-trivial constructor. Pointed out in PR13380. llvm-svn: 162643
* Remove spurious string literal for bool argument.Richard Smith2012-08-251-1/+1
| | | | llvm-svn: 162642
OpenPOWER on IntegriCloud