summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* clang/lib: [CMake] Update tblgen'd dependencies.NAKAMURA Takumi2012-07-271-0/+3
| | | | llvm-svn: 160851
* ABIArgInfo's constructor is private and only used by the static get* methods.Rafael Espindola2012-07-241-6/+6
| | | | | | No need to abuse default arguments. llvm-svn: 160684
* Emit debug info for dynamic initializers. Permit __attribute__((nodebug)) onNick Lewycky2012-07-241-2/+5
| | | | | | | variables that have static storage duration, it removes debug info on the emitted initializer function but not all debug info about this variable. llvm-svn: 160659
* move X86_32ABIInfo::computeInfo out of line.Rafael Espindola2012-07-241-8/+9
| | | | llvm-svn: 160652
* Make classifyReturnType and classifyArgumentType private.Rafael Espindola2012-07-231-3/+3
| | | | llvm-svn: 160648
* Change APInt to APSInt in one instance. Also change a call to operator==() toRichard Trieu2012-07-233-5/+5
| | | | | | APSInt::isSameValue() when comparing different sized APSInt's. llvm-svn: 160641
* Fix a typo (the the => the)Sylvestre Ledru2012-07-231-1/+1
| | | | llvm-svn: 160622
* Add "long double" to permitted list of ARM complex homogeneous aggregates.Tim Northover2012-07-201-1/+2
| | | | | | | Under AAPCS, long double is the same as double, which means it should be allowed as part of a homogeneous aggregate. llvm-svn: 160586
* Add the mechanics for -fms-inline-asm. No easy way to test at this time.Chad Rosier2012-07-201-0/+2
| | | | llvm-svn: 160580
* Remove HasSynthBitfield and all callers/writers/etc. Also removeEric Christopher2012-07-191-9/+1
| | | | | | | | previous ResetObjCLayout calls since this is now handled in Sema. Part of rdar://11842763 llvm-svn: 160527
* More replacing of target-dependent intrinsics with target-indepdent Joel Jones2012-07-181-2/+3
| | | | | | | | | | | | | | | | | | | | | intrinsics. The second instruction(s) to be handled are the vector versions of count set bits (ctpop). The changes here are to clang so that it generates a target independent vector ctpop when it sees an ARM dependent vector bits set count. The changes in llvm are to match the target independent vector ctpop and in VMCore/AutoUpgrade.cpp to update any existing bc files containing ARM dependent vector pop counts with target-independent ctpops. There are also changes to an existing test case in llvm for ARM vector count instructions and to a test for the bitcode upgrade. <rdar://problem/11892519> There is deliberately no test for the change to clang, as so far as I know, no consensus has been reached regarding how to test neon instructions in clang; q.v. <rdar://problem/8762292> llvm-svn: 160409
* Fixed whitespace issue introduced in r160373.Joao Matos2012-07-171-8/+7
| | | | llvm-svn: 160388
* [Windows] Abstract pure virtual method calls in the ABI. Fix the Windows ABI ↵Joao Matos2012-07-174-8/+15
| | | | | | to forward to the correct function. llvm-svn: 160373
* Revert commit r160308. We decide to move builtins selection to the backend.Simon Atanasyan2012-07-172-30/+0
| | | | llvm-svn: 160353
* MIPS: Implement __builtin_mips_shll_qb builtin function overloading.Simon Atanasyan2012-07-162-0/+30
| | | | | | | This function has two versions. The first one is used for a register operand. The second one is used for an immediate number. llvm-svn: 160308
* Update Clang to reflect the move of MDBuilder in r160237.Chandler Carruth2012-07-153-3/+3
| | | | llvm-svn: 160238
* Capitalize comment.Eric Christopher2012-07-141-1/+1
| | | | llvm-svn: 160220
* This is one of the first steps at moving to replace target-dependent Joel Jones2012-07-131-1/+4
| | | | | | | | | | | | | | | | | | | | intrinsics with target-indepdent intrinsics. The first instruction(s) to be handled are the vector versions of count leading zeros (ctlz). The changes here are to clang so that it generates a target independent vector ctlz when it sees an ARM dependent vector ctlz. The changes in llvm are to match the target independent vector ctlz and in VMCore/AutoUpgrade.cpp to update any existing bc files containing ARM dependent vector ctlzs with target-independent ctlzs. There are also changes to an existing test case in llvm for ARM vector count instructions and a new test for the bitcode upgrade. <rdar://problem/11831778> There is deliberately no test for the change to clang, as so far as I know, no consensus has been reached regarding how to test neon instructions in clang; q.v. <rdar://problem/8762292> llvm-svn: 160201
* [Windows] Use thiscall as the default calling convention for class methods. ↵Timur Iskhodzhanov2012-07-121-6/+11
| | | | | | PR12785 llvm-svn: 160121
* Add _rdrand{16,32,64}_step intrinsics to immintrin.hBenjamin Kramer2012-07-121-0/+21
| | | | llvm-svn: 160118
* Add the ObjFW runtime. Patch by Jonathan Schleifer!John McCall2012-07-124-5/+36
| | | | llvm-svn: 160102
* Add OpenCL metadata for kernel arg names. This output is controlled via a ↵Tanya Lattner2012-07-111-0/+30
| | | | | | | | flag as noted in the OpenCL Spec. Includes a test case. llvm-svn: 160092
* Temporarily revert this to see if it brings the gdb bot back.Eric Christopher2012-07-112-7/+6
| | | | llvm-svn: 160049
* The end of a block doesn't necessarily need a line table entry unlessEric Christopher2012-07-112-6/+7
| | | | | | | | | | there's something going on there. Remove the unconditional line entry and only add one if we're emitting cleanups (any other statements would be handled normally). Fixes rdar://9199234 llvm-svn: 160033
* Patch by Anton Lokhmotov to add OpenCL work group size attributes.Tanya Lattner2012-07-092-8/+56
| | | | llvm-svn: 159965
* The delete argument should not be converted to void*.Abramo Bagnara2012-07-091-11/+0
| | | | llvm-svn: 159961
* Distinguish more carefully between free functions and C++ instance methodsJohn McCall2012-07-0712-158/+218
| | | | | | | | in the ABI arrangement, and leave a hook behind so that we can easily tweak CCs on platforms that use different CCs by default for C++ instance methods. llvm-svn: 159894
* Add -ffp-contract = { fast | on | off } command line option support.Lang Hames2012-07-061-0/+13
| | | | | | | | | | | | | | | | | This flag sets the 'fp-contract' mode, which controls the formation of fused floating point operations. Available modes are: - Fast: Form fused operations anywhere. - On: Form fused operations where allowed by FP_CONTRACT. This is the default mode. - Off: Don't form fused operations (in future this may be relaxed to forming fused operations where it can be proved that the result won't be affected). Currently clang doesn't support the FP_CONTRACT pragma, so the 'On' and 'Off' modes are equivalent. llvm-svn: 159794
* Implement AST classes for comments, a real parser for Doxygen comments and aDmitri Gribenko2012-07-061-0/+1
| | | | | | | | | | | | | | very simple semantic analysis that just builds the AST; minor changes for lexer to pick up source locations I didn't think about before. Comments AST is modelled along the ideas of HTML AST: block and inline content. * Block content is a paragraph or a command that has a paragraph as an argument or verbatim command. * Inline content is placed within some block. Inline content includes plain text, inline commands and HTML as tag soup. llvm-svn: 159790
* Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used ↵Benjamin Kramer2012-07-045-8/+9
| | | | | | | | instead. No functionality change. llvm-svn: 159719
* Drop the ASTContext.h include from Stmt.h and fix up transitive users.Benjamin Kramer2012-07-041-0/+1
| | | | | | | | | | | | | | This required moving the ctors for IntegerLiteral and FloatingLiteral out of line which shouldn't change anything as they are usually called through Create methods that are already out of line. ASTContext::Deallocate has been a nop for a long time, drop it from ASTVector and make it independent from ASTContext.h Pass the StorageAllocator directly to AccessedEntity so it doesn't need to have a definition of ASTContext around. llvm-svn: 159718
* Rename the GCC Objective-C runtime to gcc from gnu-fragile and the GNUstepDavid Chisnall2012-07-034-12/+13
| | | | | | runtime to gnustep from gnu. Fix EH for the GCC runtime. llvm-svn: 159684
* Make the following changes in the way Mips handles vector arguments and returnAkira Hatanaka2012-07-031-32/+31
| | | | | | | | | | | values: - Return integer vectors in integer registers. - Pass vector arguments in integer registers. - Set an upper bound for argument alignment. The largest alignment is 8-byte for O32 and 16-byte for N32/64. llvm-svn: 159676
* Silence warning in -Asserts buildMatt Beaumont-Gay2012-07-031-0/+1
| | | | llvm-svn: 159635
* Share ConvertUTF8toWide() between Lex and CodeGen.Nico Weber2012-07-031-37/+2
| | | | llvm-svn: 159634
* Significantly simplify CGExprAgg's logic about ignored results:John McCall2012-07-024-95/+182
| | | | | | | | | | | | if we want to ignore a result, the Dest will be null. Otherwise, we must copy into it. This means we need to ensure a slot when loading from a volatile l-value. With all that in place, fix a bug with chained assignments into __block variables of aggregate type where we were losing insight into the actual source of the value during the second assignment. llvm-svn: 159630
* When we're looking for redeclarations which might provide a definition in ↵Eli Friedman2012-07-021-0/+1
| | | | | | CodeGen, make sure we examine all the redeclarations. PR13252. llvm-svn: 159586
* Update Clang to reflect the new home of IRBuilder.h as of r159421.Chandler Carruth2012-06-291-1/+1
| | | | llvm-svn: 159422
* Update based on move of DIBuilder.h to include/llvm.Bill Wendling2012-06-291-1/+1
| | | | llvm-svn: 159415
* Fix PR13234 - crash when trying to report an unsupported ABI featureTimur Iskhodzhanov2012-06-291-1/+1
| | | | llvm-svn: 159405
* Dead code eliminate the massive hexagon builtin intrinsic supporting code.Benjamin Kramer2012-06-282-2586/+0
| | | | | | | | The tablegen'd code does the same thing without this egregious duplication. In my limited testing everything seems to work, however there can be differences if the clang and llvm builtin definitions don't match. llvm-svn: 159371
* Now that we use the GCC builtin <-> llvm intrinsic, dead code eliminate the ↵Benjamin Kramer2012-06-281-298/+0
| | | | | | | | handwritten emitter. The generated code uncovered an invalid prototype for __builtin_mips_shilo, fix it along the way. llvm-svn: 159368
* Support MIPS DSP Rev1 intrinsics. Simon Atanasyan2012-06-282-0/+299
| | | | | | This patch was reviewed in the llvm-commits list by Jim Grosbach. llvm-svn: 159366
* Compare the canonical types and document why we give up on the covariant case.Rafael Espindola2012-06-281-2/+8
| | | | llvm-svn: 159360
* Disable devirtualization when we have covariant returns. I will open a bugRafael Espindola2012-06-281-0/+3
| | | | | | for tracking this. llvm-svn: 159351
* Don't devirtualize calls when we don't have the correct type of the this pointerRafael Espindola2012-06-281-19/+36
| | | | | | | | | handy. It can be done, but we would have to build a derived-to-base cast during codegen to compute the correct this pointer. I will handle covariant returns next. llvm-svn: 159350
* Add -ftls-model command-line flag.Hans Wennborg2012-06-283-28/+51
| | | | | | This allows for setting the default TLS model. (PR9788) llvm-svn: 159336
* Fix another issue with devirtualizing calls to final methods by passing themRafael Espindola2012-06-281-9/+16
| | | | | | | | the correct this pointer. There is some potential for sharing a bit more code with canDevirtualizeMemberFunctionCalls, but that can be done in an independent patch. llvm-svn: 159326
* Fix grammar.Eric Christopher2012-06-281-1/+1
| | | | llvm-svn: 159321
* Update the #include to find the DebugInfo.h in the correct placeBill Wendling2012-06-281-1/+1
| | | | llvm-svn: 159315
OpenPOWER on IntegriCloud