summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix addrspacecast with metadata globalsMatt Arsenault2014-01-022-3/+31
| | | | llvm-svn: 198345
* [CMake] Add missing set_output_directory after Takumi's change in r198205.Jordan Rose2014-01-022-1/+3
| | | | | | | | | Plugins need to go in build/Debug/lib as well (rather than build/lib/Debug). Also, fix the SHLIBDIR path for Xcode, which by default includes Xcode build settings rather than a simple %(build_mode)s parameter. llvm-svn: 198344
* Objective-C ARC++: Prefer references to __strong/__weak over ↵Douglas Gregor2014-01-022-0/+27
| | | | | | | | __unsafe_unretained. Fixes <rdar://problem/15713945>. llvm-svn: 198343
* Remove redundant fold call introduced in r195944. Thanks very much to JuergenLang Hames2014-01-021-2/+1
| | | | | | | for pointing this out. llvm-svn: 198341
* [TableGen] Use the same anonymous name as the prefix on all multiclass defsHal Finkel2014-01-023-2/+17
| | | | | | | | | | | | | | | | TableGen had been generating a different name for an anonymous multiclass's NAME for every def in the multiclass. This had an unfortunate side effect: it was impossible to reference one def within the multiclass from another (in the parameter list, for example). By making sure we only generate an anonymous name once per multiclass (which, as it turns out, requires only changing the name parameter to reference type), we can now concatenate NAME within the multiclass with a def name in order to generate a reference to that def. This does not matter so much, in and of itself, but is necessary for a follow-up commit that will fix variable capturing in implicit anonymous multiclass defs (and that is important). llvm-svn: 198340
* No else after return.Joerg Sonnenberger2014-01-021-3/+3
| | | | llvm-svn: 198339
* indvars: insert truncate at loop boundary to avoid redundant IVs.Andrew Trick2014-01-022-5/+51
| | | | | | | | | When widening an IV to remove s/zext, we generally try to eliminate the original narrow IV. However, LCSSA phi nodes outside the loop were still using the original IV. Clean this up more aggressively to avoid redundancy in generated code. llvm-svn: 198338
* Add default search path if -nostdlib is not provided.Joerg Sonnenberger2014-01-026-6/+99
| | | | | | | Add basic emulation mapping for NetBSD/amd64, so that clang -m32 works as expected. llvm-svn: 198337
* Mark REX64_PREFIX as In64BitMode, remove hack from X86RecognizableInstr.Craig Topper2014-01-022-2/+2
| | | | llvm-svn: 198336
* CMake separate projects: use correct name for ↵Douglas Gregor2014-01-021-1/+1
| | | | | | LIBRARY_OUTPUT_DIRECTORY_${suffix}. llvm-svn: 198335
* Make llvm::Regex non-copyable but movable.David Blaikie2014-01-023-2/+33
| | | | | | Based on a patch by Maciej Piechotka. llvm-svn: 198334
* Revert "Debug info: Add enumerators to the __apple_names accelerator table."Adrian Prantl2014-01-022-14/+0
| | | | | | | This reverts r197927 until the discussion on llvm-commits comes to a conclusion. llvm-svn: 198333
* Remove unused HasFROperands field from disassembler.Craig Topper2014-01-022-17/+0
| | | | llvm-svn: 198332
* CMake separate projects: finish output-directory changes.Douglas Gregor2014-01-022-4/+5
| | | | | | | Make sure clang-tblgen, clang++, and clang-cl get created in the Clang binary build directory. llvm-svn: 198331
* Use LLVM_STATIC_ASSERT rather than a hand-rolled implementation.David Blaikie2014-01-021-2/+2
| | | | llvm-svn: 198330
* [CMake] Add missing set_output_directory after Takumi's change in r198205.Jordan Rose2014-01-021-0/+1
| | | | | | | | | | In a standalone build, Clang binaries should end up in Clang's build folder, not LLVM's. Xcode still has a few issues finding auxiliary tools and libraries in the build folders. I'll fix those next. llvm-svn: 198328
* Mark PUSHFS64/PUSHGS64/POPFS64/POPGS64 as In64BitMode and remove the hack ↵Craig Topper2014-01-022-8/+4
| | | | | | from the disassembler table builder. llvm-svn: 198327
* Using the quoted version of an attribute name for consistency with other ↵Aaron Ballman2014-01-023-8/+8
| | | | | | attribute diagnostics. llvm-svn: 198326
* Remove unnecessary stirng comparison from disassembler.Craig Topper2014-01-021-1/+0
| | | | llvm-svn: 198325
* Mark all x86 Int_ and _Int patterns as isCodeGenOnly so the disassembler ↵Craig Topper2014-01-024-149/+196
| | | | | | table builder doesn't need to string match them to exclude them. llvm-svn: 198323
* ObjectiveC. Class methods must be ignored when looking forFariborz Jahanian2014-01-022-1/+15
| | | | | | | property accessor's missing backing ivar. This eliminates the bogus warning being issued. // rdar://15728901 llvm-svn: 198322
* Add test for r198311.Roman Divacky2014-01-021-0/+4
| | | | llvm-svn: 198321
* CMake: Unbreak separated LLVM/Clang project builds for Xcode.Douglas Gregor2014-01-021-4/+6
| | | | | | | | | | | | | The separate Xcode project generated for Clang is putting the clang executables into the same location where the LLVM executables are going. This is wrong, and breaks the Clang build because we try to create clang++ and clang-cl symlinks in the wrong place and to the wrong place. As a stop-gap to get these builds working again, teach the symlink generation to point into the LLVM executable directory instead. llvm-svn: 198319
* Remove CMake-Xcode hack that symlinked llvm-config into a common place.Douglas Gregor2014-01-021-10/+0
| | | | | | | When building Clang separately from LLVM with CMake, one should set the path of llvm-config via the cache variable LLVM_CONFIG. llvm-svn: 198316
* [arm] Add softvfp to supported FPU names.Logan Chien2014-01-023-0/+12
| | | | llvm-svn: 198313
* 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
OpenPOWER on IntegriCloud