aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen
AgeCommit message (Collapse)Author
2011-09-02blocks: Support capturing complex variable in block.Fariborz Jahanian
// rdar://10033896 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139020 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-25Track whether an AggValueSlot is potentially aliased, and do notJohn McCall
emit call results into potentially aliased slots. This allows us to properly mark indirect return slots as noalias, at the cost of requiring an extra memcpy when assigning an aggregate call result into a l-value. It also brings us into compliance with the x86-64 ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138599 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-24Add testcase for r138411Bruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138422 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-24Make constant aggregate constant initializers private linkage.Eric Christopher
After talking with John making this the case for all of these is the right way to go. Fixes rdar://9804564 and PR10414 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138418 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-23block IRgen - Fixes a crash when determining if given block variableFariborz Jahanian
is captured by a given statement expression. // rdar://10001085 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138314 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-22Make sure we don't inline functions marked with __attribute__((naked)). ↵Eli Friedman
<rdar://problem/9973228> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138310 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-19Add new test.Devang Patel
Remove one outdated test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138144 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-16Robustify test, there is no need to check metadata number which can change.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137752 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-15'pure' and 'const' functions should also be marked nounwind. MigrateEric Christopher
test over from llvm/test/FrontendC++ and update others to account for the change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137669 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12Update clang tests for r137527.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137535 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-11Add tests for string literal concatenation.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137302 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-11Add support for C++0x raw string literals.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137298 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-05Add support for using anonymous bitfields (e.g., int : 0) to enforce alignment.Chad Rosier
This fixes cases where the anonymous bitfield is followed by a bitfield member. E.g., struct t4 { char foo; long : 0; char bar : 1; }; rdar://9859156 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136991 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-05Output to /dev/null, not "0"Matt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136955 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04Formatting.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136924 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04Add partial support for using anonymous bitfields (e.g., int : 0) to enforce Chad Rosier
alignment. This fixes cases where the anonymous bitfield is followed by a non-bitfield member. E.g., struct t4 { int foo : 1; long : 0; char bar; }; Part of rdar://9859156 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136858 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04Emit wide string literals with the appropriate alignment.John McCall
Patch by Craig Topper and Sundeep! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136856 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04For APCS the alignment of bitfield types is *not* respected when laying outChad Rosier
structures. Alignment can be enforced with the use of anonymous bitfields (e.g., int :0), but this is not currently supported. Add this test case to document the current state, which will hopefully be fixed shortly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136848 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03Delete one of the old tests that was ported over to Clang. The test isChandler Carruth
designed to be executed, and its output inspected for correct values, but we aren't executing it. We're just compiling it, and dumping it to /dev/null. It also isn't freestanding. If there is a desire to have this test actually stick around, complain and I'll revert this and try to add the file checks necessary to make this actually test things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136846 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03Handle "homogeneous aggregates" as required by the ARM AAPCS-VFP ABI.Bob Wilson
A homogeneous aggregate is an aggregate data structure where after flattening any nesting there are 1 to 4 elements of the same base type that is either a float, double, or Neon vector. All Neon vectors of the same size, either 64 or 128 bits, are treated as equivalent for this purpose. When using the AAPCS-VFP ABI, check for homogeneous aggregates and pass them as arguments by expanding them into a sequence of their base types. This requires extending the existing support for expanded arguments to handle not only structs, but also constant arrays and complex types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136767 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03When rewriting a call to a K&R function to lead to a well-prototypedJohn McCall
function, be sure to drop parameter attributes when dropping their associated arguments. Patch by Aaron Landwehr! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136753 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Implements alignment for long long and double types in va_arg on ARM AAPCS.Rafael Espindola
Patch by Jim (Ningjie) Chen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136734 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Add support for the 'Q' arm memory constraint.Eric Christopher
Fixes rdar://9866494 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136524 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29This patch makes the string/character literal tests run in C,Douglas Gregor
C++98/03, and C++0x mode, from Craig Topper! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136443 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Fix assertion failure in CodeGen where the input operand to an asmPeter Collingbourne
instruction is tied to an output operand which is a pointer, and the input operand is narrower than the output operand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136438 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28test/CodeGen/2004-03-16-AsmRegisterCrash.c: XTARGET should accept the part ↵NAKAMURA Takumi
of triplet. ("x86" is not the part of triplet) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136346 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28test/CodeGen/struct-matching-constraint.c: Fixup not to emit garbage to ↵NAKAMURA Takumi
source tree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136333 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28test/CodeGen/struct-init.c, struct-matching-constraint.c: Tweak commandline, ↵NAKAMURA Takumi
or they would not be recognized as armv7 on some hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136330 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Fix thinko in last checkin.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136311 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Remove the need for a header and specify a triple so that the typeEric Christopher
sizes make sense. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136309 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Fix this up for clang codegen versus llvm-gcc.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136308 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Fix this test to work for arm and on all platforms.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136307 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Add a triple to this test and make sure it passes on arm where it wasEric Christopher
supposed to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136305 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Correct the triple here.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136304 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28This works on arm.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136303 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Apparently this does work on arm.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136302 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28This was meant to test arm anyhow, make the registers agree with theEric Christopher
instruction and the architecture for which the instruction exists. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136301 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Remove this test, it's actually testing something that clang doesn't support.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136300 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27XFAIL this test on ARM. Filed PR10518 to track.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136299 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Remove the optimization option for this test.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136298 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27No one cares about ppc, but make this work for arm and x86 and xfail the rest.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136297 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Make this darwin only for now while investigating to clear up x86_64Eric Christopher
Release+Asserts linux tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136223 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Add support for C++0x unicode string and character literals, from Craig Topper!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136210 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Handle different sized wchar_t for windows.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136192 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Use the correct definition for memset.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136188 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Make this darwin only to simplify the padding calculations per arch.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136185 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26This appears to be passing on all hosts.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136182 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Try a little hack to fix the memset duplication on windows.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136179 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Try harder to fix these for windows.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26Generalize for various build bots.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136173 91177308-0d34-0410-b5e6-96231b3b80d8