aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen
AgeCommit message (Collapse)Author
2012-07-17Revert commit r160308. We decide to move builtins selection to the backend.Simon Atanasyan
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160353 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-16MIPS: Implement __builtin_mips_shll_qb builtin function overloading.Simon Atanasyan
This function has two versions. The first one is used for a register operand. The second one is used for an immediate number. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160308 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-13Add a per target max vector alignment field (e.g., 32-byte alignment for x86 ↵Chad Rosier
due to AVX). Currently, if no aligned attribute is specified the alignment of a vector is inferred from its size. Thus, very large vectors will be over-aligned with no benefit. Target owners should set this target max. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160209 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-13add support for conditional expressions in Expr::HasSideEffects()Nuno Lopes
This fixes a bug in __builtin_object_size() codegen git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-12test/CodeGen/rdrand-builtins.c: Define __MM_MALLOC_H before including ↵NAKAMURA Takumi
<*mmintrin.h> . Rawr! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160125 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-12Don't include mm_malloc.h in test, it pulls in system headers on msvc.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160122 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-12Add _rdrand{16,32,64}_step intrinsics to immintrin.hBenjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160118 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-11Fix handling of curly braces in NVPTX inline asmJustin Holewinski
Fixes bug 13322 Patch by Dmitry Mikushin git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160050 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-11Temporarily revert this to see if it brings the gdb bot back.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160049 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-11The end of a block doesn't necessarily need a line table entry unlessEric Christopher
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160033 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-09Tests: check for target availability for target-specific tests.Jim Grosbach
Lots of tests are using an explicit target triple w/o first checking that the target is actually available. Add a REQUIRES clause to a bunch of them. This should hopefully unbreak bots which don't configure w/ all targets enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159949 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-08MIPS: Range check __builtin_mips_wrdsp / __builtin_mips_rddsp arguments ↵Simon Atanasyan
against the upper/lower values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159911 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-08MIPS: Mark arguments of __builtin_mips_wrdsp / __builtin_mips_rddsp as a ↵Simon Atanasyan
constant expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159910 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06clang/test/CodeGen/fp-contract.c: It requires ppc32!NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159816 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06Add -ffp-contract = { fast | on | off } command line option support.Lang Hames
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159794 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-03Make the following changes in the way Mips handles vector arguments and returnAkira Hatanaka
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159676 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-02Significantly simplify CGExprAgg's logic about ignored results:John McCall
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159630 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-02Rename tzcnt intrinsics to match gcc.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159515 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-30blocks: fixes a crash when encoding block typeFariborz Jahanian
with argument type of size 0. // rdar://11777609 PR13229. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159477 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-29Update based on move of DIBuilder.h to include/llvm.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159415 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-29X86: add more GATHER intrinsics in ClangManman Ren
Support the following intrinsics: _mm_i32gather_pd, _mm256_i32gather_pd, _mm_i64gather_pd, _mm256_i64gather_pd, _mm_i32gather_ps, _mm256_i32gather_ps, _mm_i64gather_ps, _mm256_i64gather_ps, _mm_i32gather_epi64, _mm256_i32gather_epi64, _mm_i64gather_epi64, _mm256_i64gather_epi64, _mm_i32gather_epi32, _mm256_i32gather_epi32, _mm_i64gather_epi32, _mm256_i64gather_epi32 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159410 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-29X86: add more GATHER intrinsics in ClangManman Ren
Corrected type for index of _mm256_mask_i32gather_pd from 256-bit to 128-bit Corrected types for src|dst|mask of _mm256_mask_i64gather_ps from 256-bit to 128-bit Support the following intrinsics: _mm_mask_i32gather_epi64, _mm256_mask_i32gather_epi64, _mm_mask_i64gather_epi64, _mm256_mask_i64gather_epi64, _mm_mask_i32gather_epi32, _mm256_mask_i32gather_epi32, _mm_mask_i64gather_epi32, _mm256_mask_i64gather_epi32 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159403 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-28Support MIPS DSP Rev1 intrinsics. Simon Atanasyan
This patch was reviewed in the llvm-commits list by Jim Grosbach. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159366 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-28Add -ftls-model command-line flag.Hans Wennborg
This allows for setting the default TLS model. (PR9788) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159336 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-27Propagate lvalue alignment into bitfields. Per report on cfe-dev.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159295 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-27Check for non-POD vararg argument type after default argument promotion, notRichard Smith
before, so we don't incorrectly think arguments of function type are non-POD. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159290 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-26unit test tweakAndrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159225 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-26X86: add GATHER intrinsics (AVX2) in ClangManman Ren
Support the following intrinsics: _mm_mask_i32gather_pd, _mm256_mask_i32gather_pd, _mm_mask_i64gather_pd _mm256_mask_i64gather_pd, _mm_mask_i32gather_ps, _mm256_mask_i32gather_ps _mm_mask_i64gather_ps, _mm256_mask_i64gather_ps git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159222 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-26MachineBlockPlacement would prefer that clang lay out blocks in source order.Andrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159215 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-26block literal irgen: several improvements on naming blockFariborz Jahanian
literal helper functions. All helper functions (global and locals) use block_invoke as their prefix. Local literal helper names are prefixed by their enclosing mangled function names. Blocks in non-local initializers (e.g. a global variable or a C++11 field) are prefixed by their mangled variable name. The descriminator number added to end of the name starts off with blank (for first block) and _<N> (for the N+2-th block). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159206 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-26[asan] add missing asan instrumentation in generated global init functionsKostya Serebryany
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-23Support the tls_model attribute (PR9788)Hans Wennborg
This adds support for the tls_model attribute. This allows the user to choose a TLS model that is better than what LLVM would select by default. For example, a variable might be declared as: __thread int x __attribute__((tls_model("initial-exec"))); if it will not be used in a shared library that is dlopen'ed. This depends on LLVM r159077. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159078 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-22revert CodeGen support for the alloc_size attribute until we finish the ↵Nuno Lopes
design of a more generic metadata node git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159016 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21Add the testcase from pr13168.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158950 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19Reapplying the changes from r158717 as they were rolled back to avoid merge ↵Aaron Ballman
conflicts from a separate problematic patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158750 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19Revert r158700 and dependent patches r158716, r158717, and r158731.Jakob Stoklund Olesen
The original r158700 caused crashes in the gcc test suite, g++.abi/vtable3a.C among others. It also caused failures in the libc++ test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158749 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19Improves parsing and semantic analysis for MS __declspec attributes. This ↵Aaron Ballman
includes support for the align (which fixes PR12631). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158717 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-18[MSExtensions] Add support for __forceinline.Michael J. Spencer
__forceinline is a combination of the inline keyword and __attribute__((always_inline)) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158653 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-16Fix Sema and IRGen for atomic compound assignment so it has the right ↵Eli Friedman
semantics when promotions are involved. (As far as I can tell, this only affects some edge cases.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158591 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-15Add XOP frcz instrinsics.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158492 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-12Add XOP permute intrinsics.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158351 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-11Add XOP shift and compare intrinsics.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158300 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10Add XOP vprot* instruction intrinsicsCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158292 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10More XOP intrinsicsCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158287 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10Begin adding XOP intrinsicsCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158286 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-08Rename a test case to a more generic name. This is a completely uselessChandler Carruth
test, but David Sehr is looking at spiffing it up and adding some proper tests for our alloca codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158181 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-07User better API for vla in compund literals.Fariborz Jahanian
// rdar://11485774 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158157 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-07When emitting compund literal of vla pointer elements, make Fariborz Jahanian
sure to emit vla size to prevent an irgen crash. // rdar://11485774 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158153 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-06reverse r158117.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158119 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-06When doing arithmatic on vla pointer, make sureFariborz Jahanian
to emit vla size to prevent an irgen crash. // rdar://11485774 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158117 91177308-0d34-0410-b5e6-96231b3b80d8