summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove a tab that snuck in.Roman Divacky2014-01-021-1/+1
| | | | llvm-svn: 198312
* In the FreeBSD assembler driver, inform the sparc assembler that we're producingRoman Divacky2014-01-021-0/+13
| | | | | | PIC code. llvm-svn: 198311
* Added an option to avoid splitting certain kinds of comments into lines.Alexander Kornienko2014-01-025-2/+27
| | | | | | | | | | | | | | Summary: Added CommentPragmas option for this. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2460 llvm-svn: 198310
* Verify that clang TargetInfo descriptions match DataLayout strings from LLVMAlp Toker2014-01-023-9/+22
| | | | | | | The backend string is only verified when available as it's possible to run clang IRGen for targets that haven't been built or don't exist in LLVM. llvm-svn: 198309
* Remove the now unused 's' specifications.Rafael Espindola2014-01-022-6/+6
| | | | llvm-svn: 198308
* Pass the aapcs and apcs features down to llvm.Rafael Espindola2014-01-021-0/+5
| | | | | | | No functionality change, but unblocks asserting that llvm's and clang's datalayout strings are the same. llvm-svn: 198306
* Make the ARM ABI selectable via SubtargetFeature.Rafael Espindola2014-01-024-14/+61
| | | | | | | This patch makes it possible to select the ABI with -mattr. It will be used to forward clang's -target-abi option to llvm's CodeGen. llvm-svn: 198304
* [OpenCL] The kernel attribute can only be used on functions.Joey Gouly2014-01-022-0/+6
| | | | llvm-svn: 198300
* Support LLVM_STATIC_ASSERT() in clang pre-C++11 modeAlp Toker2014-01-021-0/+6
| | | | llvm-svn: 198292
* Remove unused function argument.Craig Topper2014-01-022-5/+3
| | | | llvm-svn: 198291
* BasicAA: Fix value equality and phi cyclesArnold Schwaighofer2014-01-027-42/+171
| | | | | | | | | | | | | | | | | | | | | | | | | When there are cycles in the value graph we have to be careful interpreting "Value*" identity as "value" equivalence. We interpret the value of a phi node as the value of its operands. When we check for value equivalence now we make sure that the "Value*" dominates all cycles (phis). %0 = phi [%noaliasval, %addr2] %l = load %ptr %addr1 = gep @a, 0, %l %addr2 = gep @a, 0, (%l + 1) store %ptr ... Before this patch we would return NoAlias for (%0, %addr1) which is wrong because the value of the load is from different iterations of the loop. Tested on x86_64 -mavx at O3 and O3 -flto with no performance or compile time regressions. PR18068 radar://15653794 llvm-svn: 198290
* Rename 'assert' to something less loaded in CompileAssertHasTypeAlp Toker2014-01-011-1/+1
| | | | | | Suggested by Aaron Ballman. llvm-svn: 198288
* Remove the 's' DataLayout specificationRafael Espindola2014-01-019-27/+17
| | | | | | | | | | | | | | | | | | | | | | | During the years there have been some attempts at figuring out how to align byval arguments. A look at the commit log suggests that they were * Use the ABI alignment. * When that was not sufficient for x86-64, I added the 's' specification to DataLayout. * When that was not sufficient Evan added the virtual getByValTypeAlignment. * When even that was not sufficient, we just got the FE to add the alignment to the byval. This patch is just a simple cleanup that removes my first attempt at fixing the problem. I also added an AArch64 implementation of getByValTypeAlignment to make sure this patch is a nop. I also left the 's' parsing for backward compatibility. I will send a short email to llvmdev about the change for anyone maintaining an out of tree target. llvm-svn: 198287
* [Sparc] Handle atomic loads/stores in sparc backend.Venkatraman Govindaraju2014-01-014-3/+164
| | | | llvm-svn: 198286
* Remove modifierType/Base from X86 disassembler tables as they are no longer ↵Craig Topper2014-01-014-31/+0
| | | | | | used. Removes ~11.5K from static tables. llvm-svn: 198284
* [SparcV9]: Custom lower UMULO/SMULO so that the arguments are send to ↵Venkatraman Govindaraju2014-01-012-0/+57
| | | | | | __multi3() in correct order. llvm-svn: 198281
* [SparcV9]: Use SRL instead of SLL to clear top 32-bits in ctpop:i32. SLL ↵Venkatraman Govindaraju2014-01-012-4/+18
| | | | | | does not clear top 32 bit, only SRL does. llvm-svn: 198280
* X86Disassembler.cpp: Prune stray @return on translateFPRegister(). ↵NAKAMURA Takumi2014-01-011-1/+0
| | | | | | [-Wdocumentation] llvm-svn: 198279
* Remove need for MODIFIER_OPCODE in the disassembler tables. AddRegFrms are ↵Craig Topper2014-01-016-60/+26
| | | | | | really more like OrRegFrm so we don't need a difference since we can just mask bits. llvm-svn: 198278
* AVX-512: Added intrinsics for vcvt, vcvtt, vrndscale, vcmpElena Demikhovsky2014-01-0112-133/+418
| | | | | | | Printing rounding control. Enncoding for EVEX_RC (rounding control). llvm-svn: 198277
* Second attempt at Removing special form of AddRegFrm used by FP ↵Craig Topper2014-01-017-134/+93
| | | | | | instructions. These instructions can be handled by MRMXr instead. llvm-svn: 198276
* Remove extra semicolon.Joey Gouly2014-01-011-1/+1
| | | | llvm-svn: 198275
* Update the copyright credits -- Happy new year 2014!NAKAMURA Takumi2014-01-0118-26/+26
| | | | | FIXME: Dragonegg may be updated at non-trivial changes. llvm-svn: 198274
* Silence g++ 4.9 build issue in unit testsAlp Toker2014-01-011-1/+2
| | | | | | Stopgap measure until we can just use static_assert(). llvm-svn: 198273
* Remove an unused diag left over from r198046Alp Toker2014-01-011-2/+0
| | | | llvm-svn: 198272
* Eliminate UnaryTypeTraitExprAlp Toker2014-01-0126-236/+31
| | | | | | | | | | | | | Remove UnaryTypeTraitExpr and switch all remaining type trait related handling over to TypeTraitExpr. The UTT/BTT/TT enum prefix and evaluation code is retained pending further cleanup. This is part of the ongoing work to unify type traits following the removal of BinaryTypeTraitExpr in r197273. llvm-svn: 198271
* ExpectAndConsume: Diagnose errors automaticallyAlp Toker2014-01-0113-180/+164
| | | | | | | | | | | | | | 1) Teach ExpectAndConsume() to emit expected and expected-after diagnostics using the generic diagnostic descriptions added in r197972, eliminating another set of trivial err_expected_* variations while maintaining existing behaviour. 2) Lift SkipUntil() recovery out of ExpectAndConsume(). The Expect/Consume family of functions are primitive parser operations that now have the well-defined property of operating on single tokens. Factoring out recovery exposes opportunities for more consistent and tailored error recover at the call sites instead of just relying on a bottled SkipUntil formula. llvm-svn: 198270
* Add two fp test cases I missed in my previous commit.Craig Topper2013-12-311-0/+6
| | | | llvm-svn: 198269
* Add more X86 FP stack disassembler test cases.Craig Topper2013-12-312-324/+1031
| | | | llvm-svn: 198268
* Fold vector selects with undef elements in the condition. Fixes PR18319.Nick Lewycky2013-12-313-7/+24
| | | | | | Patch by Ilia Filippov! llvm-svn: 198267
* The return value of createInternalFiles is unused, so remove it.Joey Gouly2013-12-316-9/+6
| | | | llvm-svn: 198266
* Revert r198238 and add FP disassembler tests. It didn't work and I didn't ↵Craig Topper2013-12-317-88/+451
| | | | | | realized we had no FP disassembler test cases. llvm-svn: 198265
* [OpenCL] Produce an error, instead of a warning, for sizeof(void) in OpenCL.Joey Gouly2013-12-313-2/+12
| | | | | | Patch by joey.gouly@arm.com llvm-svn: 198264
* Remove old comment referring to an argument that no longer exists.Craig Topper2013-12-311-2/+0
| | | | llvm-svn: 198263
* Fix misaligned indentation in "if" block in MipsMCCodeEmitter.cppMark Seaborn2013-12-311-92/+92
| | | | llvm-svn: 198262
* tsan: fix Go buildDmitry Vyukov2013-12-311-0/+7
| | | | | | | Currently fails with: gotsan.cc:7686:40: error: the address of 'int __sanitizer_pthread_attr_getstack(void*, void**, size_t*)' will always evaluate as 'true' [-Werror=address] llvm-svn: 198261
* Recover from errors in enum definitionSerge Pavlov2013-12-314-7/+67
| | | | | | | | | | Previously any error in enum definition body stopped parsing it. With this change parser tries to recover from errors. The patch fixes PR10982. Differential Revision: http://llvm-reviews.chandlerc.com/D2018 llvm-svn: 198259
* Add missing MRM_XX forms to the old JIT emitter for consistency.Craig Topper2013-12-311-26/+39
| | | | llvm-svn: 198258
* Remove MRMInitReg form now that it's last use is gone.Craig Topper2013-12-314-36/+0
| | | | llvm-svn: 198257
* Silence g++ 4.9 build issueAlp Toker2013-12-311-2/+2
| | | | | | | lib/ASTMatchers/ASTMatchFinder.cpp:276:28: error: typedef 'traverse_can_only_be_instantiated_with_base_type' locally defined but not used [-Werror=unused-local-typedefs] traverse_can_only_be_instantiated_with_base_type); llvm-svn: 198256
* Silence g++ 4.9 build issueAlp Toker2013-12-312-3/+5
| | | | | | | | | lib/Support/ThreadLocal.cpp:53:15: error: typedef 'SIZE_TOO_BIG' locally defined but not used [-Werror=unused-local-typedefs] typedef int SIZE_TOO_BIG[sizeof(pthread_key_t) <= sizeof(data) ? 1 : -1]; Done the C++11 way, switching on and using LLVM_STATIC_ASSERT() instead of LLVM_ATTRIBUTE_UNUSED. llvm-svn: 198255
* Handle MOV32r0 in expandPostRAPseudo instead of MCInst lowering. No ↵Craig Topper2013-12-313-10/+4
| | | | | | functional change intended. llvm-svn: 198254
* Fix an ODR violation in the sanitizer runtimes.Chandler Carruth2013-12-302-6/+13
| | | | | | | | | | | | | | | A helper function is a C++ function, and so even though one of the two definitions is weak, it still technically triggers the ODR. Perhaps these two definitions are ODR equivalent, but I'm not even confident in that. Instead, just define the function once, declare it as weak, and use a wrapper that is clearly file-local. This avoids two definitions. Also make the function extern "C" so that we can't even mess up the type signature somehow or otherwise fail to match up the weak declaration here with the interceptor defined elsewhere. llvm-svn: 198253
* Switch over more of the parser to err_expectedAlp Toker2013-12-304-29/+21
| | | | | | | Includes a fix for a missing highlight range caused by a ',' typo in the PP diagnostics. llvm-svn: 198252
* Update DataRecursiveASTVisitor so that it visits attributes.DeLesley Hutchins2013-12-303-5/+38
| | | | llvm-svn: 198249
* Fix two typos in comments. No functionality change.Nick Lewycky2013-12-301-2/+2
| | | | llvm-svn: 198243
* Merge case statements to remove redundant code.Craig Topper2013-12-301-18/+12
| | | | llvm-svn: 198241
* Remove special form of AddRegFrm used by FP instructions. These instructions ↵Craig Topper2013-12-306-127/+88
| | | | | | can be handled by MRMXr instead. llvm-svn: 198238
* ARM IAS: account for predicated pre-UAL mnemonicsSaleem Abdulrasool2013-12-303-7/+52
| | | | | | | | Checking the trailing letter of the mnemonic is insufficient. Be more thorough in the scanning of the instruction to ensure that we correctly work with the predicated mnemonics. llvm-svn: 198235
* Refactor and reduce code duplication for non-split dwarf strings.Eric Christopher2013-12-301-18/+9
| | | | llvm-svn: 198233
OpenPOWER on IntegriCloud