summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* [ms-inline asm] Rework the front-end to use the API introduced in r165946.Chad Rosier2012-10-151-2/+2
| | | | | | | | | | | | | | | | | | | -The front-end now builds a single assembly string and feeds it to the AsmParser. The front-end iterates on a per statement basis by calling the ParseStatement() function. Please note, the calling of ParseStatement() and and any notion of MCAsmParsedOperands will be sunk into the MC layer in the near future. I plan to expose more basic APIs such as getClobbers, etc. -The enumeration of the AsmString expressions have been reworked to use SMLocs rather than assembly Pieces, which were being parsed in the front-end. -The test case, t8(), was modified due to r129223. I'll have to find a way to work around things such as these. Sorry for the large commit, but breaking this in multiple smaller commits proved too irritating. llvm-svn: 165957
* "Implement" codegen support for __noop().Nico Weber2012-10-131-0/+14
| | | | | | | Eli discovered that __noop's sema behavior also needs some love. I filed PR14081 for that and intend to improve it. llvm-svn: 165886
* -fcatch-undefined-behavior: Trap undefined behavior due to conversions to orRichard Smith2012-10-121-0/+59
| | | | | | | from a floating-point type where the source value is not in the range of representable values of the destination type. llvm-svn: 165843
* [ms-inline asm] Remove a bunch of parsing code from the front-end, which will beChad Rosier2012-10-121-32/+3
| | | | | | reimplemented in the AsmParser where it belongs. llvm-svn: 165825
* Remove XFAIL,fix testBill Schmidt2012-10-121-2/+1
| | | | llvm-svn: 165819
* XFAIL pending further investigationBill Schmidt2012-10-121-39/+24
| | | | llvm-svn: 165818
* This patch addresses PR13948.Bill Schmidt2012-10-121-0/+65
| | | | | | | | | | | | For 64-bit PowerPC SVR4, an aggregate containing only one floating-point field (float, double, or long double) must be passed in a register as though just that field were present. This patch addresses the issue during Clang code generation by specifying in the ABIArgInfo for the argument that the underlying type is passed directly in a register. The included test case verifies flat and nested structs for the three data types. llvm-svn: 165816
* [ms-inline asm] Remove a bunch of parsing code from the front-end, which will beChad Rosier2012-10-111-26/+2
| | | | | | reimplemented in the AsmParser where it belongs. llvm-svn: 165752
* [ms-inline asm] Lookup the IdentifierInfo using the Idents table and remove theChad Rosier2012-10-111-9/+0
| | | | | | | | | now unused static helper function. The test case needs to be remove temporarily until I can better filter memory operands that aren't actual variable reference. llvm-svn: 165751
* Properly factor Native Client defines to support NaCl as an OSDerek Schuff2012-10-113-0/+105
| | | | | | with x86/ARM architecture llvm-svn: 165722
* X86: add F16C support in ClangManman Ren2012-10-111-0/+26
| | | | | | | | | Support the following intrinsics: _mm_cvtph_ps, _mm256_cvtph_ps, _mm_cvtps_ph, _mm256_cvtps_ph rdar://12407875 llvm-svn: 165685
* Apply the same fundamental fix for PR14048 as was applied for PR11905.Chandler Carruth2012-10-101-0/+13
| | | | | | | | | | | | | | | | | | The issue arises when coercing to/from types of different sizes. We need to be certain that the allocation on either end has sufficient room for the coerced type. When it doesn't, we need to make room, copy across, and then proceed. PR11905 handled the case of storing function arguments back into allocas in the function prolog, this patch handles the case of setting up the function arguments in a call expression. This is actually significantly simpler than the fix for PR11905. It ends up being a trivial change to create a temporary alloca when the source is too small and memcpy across. This should preserve the compile-time fast-isel benefits of doing gep+load sequences and avoiding FCAs. Reviewed by Benjamin and Evgeniy (who fixed PR11905). llvm-svn: 165615
* -fcatch-undefined-behavior: catch a VLA bound which evalutes to a ↵Richard Smith2012-10-101-0/+11
| | | | | | non-positive value. llvm-svn: 165583
* Fix test broken by r165572.Richard Smith2012-10-101-4/+2
| | | | llvm-svn: 165581
* People put pragmas in crazy places; add more handling. PR14046.Eli Friedman2012-10-091-0/+9
| | | | | | | I think our general framework for parser pragmas needs a bit more work, but I'm not planning on working on it at the moment. llvm-svn: 165558
* The clang driver has a fairly fancy support for executing gcc instead ofRafael Espindola2012-10-099-12/+12
| | | | | | | | | | | | | | clang itself. This dates back to clang's early days and while it looks like some of it is still used (for kext for example), other parts are probably dead. Remove the -ccc-clang-archs option and associated code. I don't think there is any remaining setup where clang doesn't support an architecture but it can expect an working gcc cross compiler to be available. A nice side effect is that tests no longer need to differentiate architectures that are included in production builds of clang and those that are not. llvm-svn: 165545
* -fcatch-undefined-behavior: emit calls to the runtime library whenever one ↵Richard Smith2012-10-092-11/+90
| | | | | | of the checks fails. llvm-svn: 165536
* Expose __builtin_bswap16.Benjamin Kramer2012-10-061-0/+1
| | | | | | | GCC has always supported this on PowerPC and 4.8 supports it on all platforms, so it's a good idea to expose it in clang too. LLVM supports this on all targets. llvm-svn: 165362
* Fix another spot where this test varied for a Release build.Alex Rosenberg2012-10-051-2/+2
| | | | llvm-svn: 165347
* Make test resilient to Release build temp names.Alex Rosenberg2012-10-051-2/+2
| | | | llvm-svn: 165345
* Propagate calling convention for aliases and weakrefs.Alex Rosenberg2012-10-051-7/+23
| | | | llvm-svn: 165343
* FileCheckize testAlex Rosenberg2012-10-051-15/+13
| | | | llvm-svn: 165342
* Changing line endings from Windows to Unix. No functional changes.Aaron Ballman2012-10-051-39/+39
| | | | llvm-svn: 165329
* Add intrinsic of MULX in BMI2 headerMichael Liao2012-10-051-0/+17
| | | | llvm-svn: 165325
* Test case for r165275.Chad Rosier2012-10-041-0/+9
| | | | llvm-svn: 165276
* If we flow off the end of a value-returning function:Richard Smith2012-10-041-0/+8
| | | | | | | | - outside C++, return undef (behavior is not undefined unless the value is used) - in C++, with -fcatch-undefined-behavior, perform an appropriate trap - in C++, produce an 'unreachable' (behavior is undefined immediately) llvm-svn: 165273
* Fix the CodeGen/ppc64-varargs-struct.c test case to tolerate release builds.Bill Schmidt2012-10-041-3/+3
| | | | llvm-svn: 165247
* Add a test case for r156143, which enabled general varargs support for theBill Schmidt2012-10-041-0/+32
| | | | | | | | | 64-bit PPC SVR4 ABI. The test verifies passing of structures, items with 16-byte alignment, and small items that are passed right-justified in the parameter save area slot. llvm-svn: 165245
* Revert 165129Preston Gurd2012-10-041-32/+0
| | | | llvm-svn: 165231
* Test file-scoped FP_CONTRACT pragma.Lang Hames2012-10-041-0/+17
| | | | llvm-svn: 165196
* Permanently end the whole "pragma got handled by the parser too early"Eli Friedman2012-10-041-0/+12
| | | | | | | mess by handling all pragmas which the parser touches uniformly. <rdar://problem/12248901>, etc. llvm-svn: 165195
* Update test case for r165174.Chad Rosier2012-10-031-3/+3
| | | | llvm-svn: 165175
* Fix failure of newly added test, by using %clang instead of %clang_cc1Preston Gurd2012-10-031-1/+1
| | | | | | and by specifying a target. llvm-svn: 165130
* Adds a test to verify that Clang does the optimization to use aPreston Gurd2012-10-031-0/+32
| | | | | | | | | | fast div/rem instruction (for Intel Atom). Test case for llvm commit 165126. Patch by Tyler Nowicki. llvm-svn: 165129
* Matching block names with FileCheck requires asserts.Benjamin Kramer2012-10-031-0/+1
| | | | llvm-svn: 165118
* CodeGen: Fix a silly typo when emitting subs of block addresses.Benjamin Kramer2012-10-031-1/+13
| | | | | | Part of PR14005. llvm-svn: 165117
* [ms-inline asm] Fixup test case to be valid ms-style asm. Fix whitespace.Chad Rosier2012-10-021-2/+4
| | | | llvm-svn: 165045
* FP_CONTRACT: Fix two tests for -Asserts.NAKAMURA Takumi2012-10-021-7/+4
| | | | llvm-svn: 165024
* Allowing individual targets to determine whether a given calling convention ↵Aaron Ballman2012-10-023-2/+41
| | | | | | | | is allowed or ignored with warning. This allows for correct name mangling for x64 targets on Windows, which in turn allows for linking against the Win32 APIs. Fixes PR13782 llvm-svn: 165015
* Add FP_CONTRACT support for clang.Lang Hames2012-10-022-0/+39
| | | | | | | | Clang will now honor the FP_CONTRACT pragma and emit LLVM fmuladd intrinsics for expressions of the form A * B + C (when they occur in a single statement). llvm-svn: 164989
* Mark two Clang tests as passing on ARMNico Weber2012-10-011-3/+5
| | | | | | | Also move one of them from grep to FileCheck. Patch from Joey Gouly <joey.gouly@arm.com>! llvm-svn: 164929
* fix test/CodeGen/tbaa-for-vptr.cpp: don't hardcode the index of metadataKostya Serebryany2012-10-011-3/+3
| | | | llvm-svn: 164928
* clang/test/CodeGen/tbaa-struct.cpp: Fix. Be aware of 32 bit pointer.NAKAMURA Takumi2012-09-291-1/+2
| | | | llvm-svn: 164879
* Add basic support for adding !tbaa.struct metadata on llvm.memcpy calls forDan Gohman2012-09-281-0/+16
| | | | | | struct assignment. llvm-svn: 164853
* clang/test/CodeGen/ms-inline-asm.c: It requires x86 codegen. Reported by ↵NAKAMURA Takumi2012-09-271-0/+1
| | | | | | Joey Gouly. llvm-svn: 164775
* Fix two more tests that didn't do anything.Nico Weber2012-09-261-2/+2
| | | | | | | Found with find test -type f | xargs grep RUN: | grep '%clang' | grep -iv '%s' | grep -v '%t' | grep -v '\\$' llvm-svn: 164678
* This patch introduces A15 as a target in Clang.Silviu Baranga2012-09-131-0/+5
| | | | llvm-svn: 163804
* [ms-inline asm] Handle the enumeration of input and output expressions in aChad Rosier2012-09-131-0/+13
| | | | | | | | | | | | more robust way to address a few FIXMEs. The initial implementation, r163342, built the IR asm string and then tried to patch things on the fly without enough context. Specifically, it didn't skip mnemonics nor did it track with assembly instruction an expression was related to. The new implementation patches the operands and then builds the final IR string. llvm-svn: 163756
* Whitespace.Chad Rosier2012-09-121-1/+1
| | | | llvm-svn: 163751
* Fix test case for Release builds.Chad Rosier2012-09-121-1/+1
| | | | llvm-svn: 163737
OpenPOWER on IntegriCloud