summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* fix buildbot failure on windows by slightly trimming test output to ignore ↵Blaine Garst2010-02-231-2/+2
| | | | | | temporary name llvm-svn: 96998
* Add support for the weakref attribute. We still produce "alias weak" as ↵Rafael Espindola2010-02-231-0/+6
| | | | | | llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992
* Unconditionally support block introspection data in a new field at the endBlaine Garst2010-02-231-0/+94
| | | | | | | | | | | | | | | of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. llvm-svn: 96989
* PR6386: Fix a recent regression in IRGen of cast-to-union constructs.Eli Friedman2010-02-231-0/+12
| | | | llvm-svn: 96958
* Allow redefinitions of extern inline functions in GNU89 mode, just as GCCCharles Davis2010-02-181-0/+25
| | | | | | does. Fixes PR5253. llvm-svn: 96553
* Distinguish two lexical blocks at the same level.Devang Patel2010-02-161-0/+18
| | | | llvm-svn: 96397
* dllimport and dllexport are declspec attributes, too. They're alsoCharles Davis2010-02-161-3/+8
| | | | | | | | Win32-specific. Also, fix a test to use FileCheck instead of grepping LLVM IR. llvm-svn: 96364
* Use getLocStart(), instead of getLocEnd(), to record starting location of ↵Devang Patel2010-02-151-0/+15
| | | | | | objc method. :) llvm-svn: 96245
* Emit the 'alignstack' LLVM function attribute when we encounter a functionCharles Davis2010-02-131-0/+8
| | | | | | | marked 'force_align_arg_pointer'. Almost there; now all I need to do is finish up the backend. llvm-svn: 96100
* Use current location as the location of compiler generated arguments, e.g. ↵Devang Patel2010-02-101-0/+14
| | | | | | self, _cmd etc. llvm-svn: 95743
* IRgen: Add CreateMemTemp, for creating an temporary memory object for a ↵Daniel Dunbar2010-02-091-2/+2
| | | | | | | | | | particular type, and flood fill. - CreateMemTemp sets the alignment on the alloca correctly, which fixes a great many places in IRgen where we were doing the wrong thing. - This fixes many many more places than the test case, but my feeling is we need to audit alignment systematically so I'm not inclined to try hard to test the individual fixes in this patch. If this bothers you, patches welcome! PR6240. llvm-svn: 95648
* Standardize the parsing of function type attributes in a way thatJohn McCall2010-02-052-4/+11
| | | | | | | | | | | | follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). llvm-svn: 95436
* Convert this test to FileCheck instead of grepping LLVM IR.Charles Davis2010-02-051-2/+11
| | | | llvm-svn: 95428
* Now that we store calling conventions in the types, use them instead ofCharles Davis2010-02-051-2/+9
| | | | | | | getting the calling convention from the target function, which may or may not exist. Fixes PR5280. llvm-svn: 95399
* Implement promotion for enumeration types.Douglas Gregor2010-02-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | WHAT!?! It turns out that Type::isPromotableIntegerType() was not considering enumeration types to be promotable, so we would never do the promotion despite having properly computed the promotion type when the enum was defined. Various operations on values of enum type just "worked" because we could still compute the integer rank of an enum type; the oddity, however, is that operations such as "add an enum and an unsigned" would often have an enum result type (!). The bug actually showed up as a spurious -Wformat diagnostic (<rdar://problem/7595366>), but in theory it could cause miscompiles. In this commit: - Enum types with a promotion type of "int" or "unsigned int" are promotable. - Tweaked the computation of promotable types for enums - For all of the ABIs, treat enum types the same way as their underlying types (*not* their promotion types) for argument passing and return values - Extend the ABI tester with support for enumeration types llvm-svn: 95117
* ARM/APCS: Fix classification of small complex integer types as "integer like".Daniel Dunbar2010-02-011-0/+15
| | | | llvm-svn: 95030
* ARM/APCS: Pass Complex types following llvm-gcc.Daniel Dunbar2010-02-011-0/+19
| | | | llvm-svn: 95029
* Don't explicitly force utf strings into the __TEXT,__ustringChris Lattner2010-02-011-2/+2
| | | | | | | | | | by setting the section of the generated global. This is an optimization done by the code generator, and the code being removed didn't handle the case when the string contained an embedded nul (which the code generator does correctly handle). This is rdar://7589850 llvm-svn: 95003
* New test case.Devang Patel2010-01-291-0/+21
| | | | llvm-svn: 94821
* ARM/APCS ABI: Fix some problems with bit-fields in structures. After rereadingDaniel Dunbar2010-01-291-0/+27
| | | | | | | the ABI spec, this turns out to simplify the code. We still have some annoying code which mismatches the spec with regard to empty structures. llvm-svn: 94796
* Fix an incorrect union layout assert. Fixes PR6164.Anders Carlsson2010-01-281-0/+3
| | | | llvm-svn: 94754
* Adjust testcase for recent DWARF printer changes.Benjamin Kramer2010-01-231-1/+1
| | | | llvm-svn: 94306
* Fix for Release-Asserts.Mike Stump2010-01-131-18/+17
| | | | llvm-svn: 93340
* Use -fno-math-errno by default, and remove the IsMathErrnoDefaultDan Gohman2010-01-081-2/+2
| | | | | | targethook, which is no longer being used. This fixes PR5971. llvm-svn: 92987
* __builtin_object_size(ptr, type) returns -1 for type = {0,1} if there are ↵Benjamin Kramer2010-01-031-0/+11
| | | | | | any side-effects. llvm-svn: 92453
* Add test for annotate attribute for coverage.Eli Friedman2010-01-031-0/+8
| | | | llvm-svn: 92435
* Fix minor oversight for increment/decrement of complex int. Add tests forEli Friedman2010-01-031-1/+31
| | | | | | coverage. llvm-svn: 92433
* Add a couple more tests for coverage.Eli Friedman2010-01-021-1/+10
| | | | llvm-svn: 92430
* Don't look through casts when looking for the underlying decl for a functionEli Friedman2009-12-261-0/+6
| | | | | | | call; the standard doesn't expect us to, and the program could be doing something crazy. Fixes PR5882. llvm-svn: 92166
* fix typoChris Lattner2009-12-231-1/+1
| | | | llvm-svn: 92065
* fix opencl extvector element extraction on rvalues. We previouslyChris Lattner2009-12-231-0/+13
| | | | | | error_unsupported on test10 and crashed on test11. llvm-svn: 92056
* Update for the intrinsic changes in llvm: the object size intrinsicEric Christopher2009-12-231-1/+1
| | | | | | | only takes a boolean second argument now. Update tests accordingly. Currently the builtin still accepts the full range for compatibility. llvm-svn: 91983
* clang -cc1: Rename -mcpu to -target-cpu to match other target options and ↵Daniel Dunbar2009-12-181-1/+1
| | | | | | not alias driver/backend option. llvm-svn: 91671
* Update tests to use %clang instead of 'clang', and forcibly disable use of 'Daniel Dunbar2009-12-158-12/+12
| | | | | | | clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to garbage). llvm-svn: 91460
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-15209-244/+244
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Make tests use the new clang -cc1 flag.Fariborz Jahanian2009-12-144-4/+4
| | | | llvm-svn: 91303
* Revert mmx palignr to use an intrinsic, since mmx shuffle patterns are missing.Nate Begeman2009-12-141-0/+4
| | | | llvm-svn: 91269
* Support x86's PALIGNR instruction without the use of a palignr intrinsic.Nate Begeman2009-12-141-0/+15
| | | | llvm-svn: 91264
* Fix for PR5709: use the computed type of the declaration instead of theEli Friedman2009-12-091-0/+8
| | | | | | | type of the builtin when generating the function declaration for a builtin library call. llvm-svn: 90936
* Remove include of system header.Daniel Dunbar2009-12-081-2/+0
| | | | llvm-svn: 90883
* Use clang-cc in this test.Daniel Dunbar2009-12-081-1/+1
| | | | llvm-svn: 90872
* Switch over to checking .ll files instead of .s files.Mike Stump2009-12-071-44/+29
| | | | llvm-svn: 90786
* add 'F' to a bunch of libm builtins so that codegen doesn't die on them,Chris Lattner2009-12-071-0/+3
| | | | | | pointed out by Charles Davis. llvm-svn: 90736
* fix comment.Chris Lattner2009-12-051-1/+1
| | | | llvm-svn: 90660
* consolidate some tests.Chris Lattner2009-12-053-23/+23
| | | | llvm-svn: 90659
* implement rdar://7346691 by codegen'ing struct/array initializersChris Lattner2009-12-053-2/+29
| | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658
* simplify a condition and add a testcase.Chris Lattner2009-12-051-0/+12
| | | | llvm-svn: 90652
* Use '-FOO' 'BAR' instead of '-FOO=BAR' for FOO in -stack-protector, ↵Daniel Dunbar2009-11-292-6/+6
| | | | | | -fvisibility, and -fconstant-string-class. llvm-svn: 90072
* Normalize options to use '-FOO' instead of '--FOO'.Daniel Dunbar2009-11-2911-11/+11
| | | | llvm-svn: 90071
* Update a test to FileCheck.Anders Carlsson2009-11-221-3/+2
| | | | llvm-svn: 89610
OpenPOWER on IntegriCloud