summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* -fcatch-undefined-behavior: add the -ftrapv checks to the set of things caughtRichard Smith2012-08-251-18/+49
| | | | | | | | | | | | | | | | by this mode, and also check for signed left shift overflow. The rules for the latter are a little subtle: * neither C89 nor C++98 specify the behavior of a signed left shift at all * in C99 and C11, shifting a 1 bit into the sign bit has undefined behavior * in C++11, with core issue 1457, shifting a 1 bit *out* of the sign bit has undefined behavior As of this change, we use the C99 rules for all C language variants, and the C++11 rules for all C++ language variants. Once we have individual -fcatch-undefined-behavior= flags, this should be revisited. llvm-svn: 162634
* [ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.Chad Rosier2012-08-252-4/+4
| | | | | | No functional change intended. llvm-svn: 162632
* Fix integer unsigned behavior in clang due to signed left shift overflow.Richard Smith2012-08-241-1/+1
| | | | llvm-svn: 162626
* [ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a Chad Rosier2012-08-241-4/+0
| | | | | | | | | CodeGen option to a LangOpt option. In turn, hoist the guard into the parser so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This should restore the behavior of clang to that prior to r158325. <rdar://problem/12163681> llvm-svn: 162602
* Fix 80-column violation.Chad Rosier2012-08-241-1/+2
| | | | llvm-svn: 162575
* [ms-inline asm] Refactor code. No functional change intended.Chad Rosier2012-08-241-17/+2
| | | | llvm-svn: 162568
* Push ArrayRef through the Expr hierarchy.Benjamin Kramer2012-08-242-6/+6
| | | | | | No functionality change. llvm-svn: 162552
* New -fcatch-undefined-behavior features:Richard Smith2012-08-245-29/+103
| | | | | | | | * when checking that a pointer or reference refers to appropriate storage for a type, also check the alignment and perform a null check * check that references are bound to appropriate storage * check that 'this' has appropriate storage in member accesses and member function calls llvm-svn: 162523
* Fix a few -Wdocumentation warnings.Dmitri Gribenko2012-08-241-1/+0
| | | | llvm-svn: 162506
* [ms-inline asm] Remove an unused argument. This logic can now be reused by theChad Rosier2012-08-232-10/+7
| | | | | | ms-style inline asms. llvm-svn: 162463
* Fix a bunch of -Wdocumentation warnings.Dmitri Gribenko2012-08-231-3/+2
| | | | llvm-svn: 162452
OpenPOWER on IntegriCloud