aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
AgeCommit message (Collapse)Author
2011-04-24Convert type size and alignment to CharUnits in CheckAggExprForMemSetUse().Ken Dyck
No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130112 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Convert the return type of GetNumNonZeroBytesInInit() to CharUnits. NoKen Dyck
change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130111 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Eliminate some literal 8s by converting size variables in EmitGCMove() andKen Dyck
EmitFinalDestCopy() to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130110 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Replace calls to ASTContext::getTypeInfo() with calls toKen Dyck
ASTContext::getTypeSize() when only the size part is used. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130109 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Simplify AppendTailPadding() by converting its parameter to CharUnits. NoKen Dyck
change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130108 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Eliminate literal 8s from LayoutUnionField by converting NumBytesToAppend toKen Dyck
CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130107 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Eliminate literal 8s from LayoutBitField(), converting variables toKen Dyck
CharUnits or replacing the 8s with char align. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130106 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Convert AccessInfo::AccessAlignment to CharUnits. No change in functionalityKen Dyck
intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130087 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24PR9214: Convert the DIBuilder API to use ArrayRef.Jay Foad
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130086 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24Convert CGBitFieldInfo::FieldByteOffset to CharUnits. No change inKen Dyck
functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130085 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23Remove unused STL header includes.Jay Foad
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130068 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23Tie debug information for method declaration with debug information for ↵Devang Patel
method definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130037 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Add -fdelayed-template-parsing option. Using this option all templated ↵Francois Pichet
function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup. Using this flag is necessary for compatibility with Microsoft template code. This also provides some parsing speed improvement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130022 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Fixes an instance method meta-data generation bug inFariborz Jahanian
ObjC NeXt runtime where method pointer registered in metadata belongs to an unrelated method. Ast part of this fix, I turned at @end missing warning (for class implementations) into an error as we can never be sure that meta-data being generated is correct. // rdar://9072317 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130019 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Replace a couple of literal 8s with ASTContext::getCharWidth(). No change inKen Dyck
functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130002 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Eliminate some literal 8s from EmitNullInitialization() by convertingKen Dyck
variables to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130001 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Eliminate some literal 8s from EmitDeclare by converting to CharUnits. NoKen Dyck
change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129999 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Use CharUnits to eliminate some literal 8s inKen Dyck
EmitTypeForVarWithBlocksAttr(). No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129998 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22Replace some literal 8s with char width and char align. No change inKen Dyck
functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129996 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22PTX: Add default PTX calling conventionsJustin Holewinski
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129987 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21Wire up the -ftest-coverage and -fprofile-arcs flags to .gcno file emission (atNick Lewycky
compile time) and .gcda emission (at runtime). --coverage enables both. This does not yet add the profile_rt library to the link step if -fprofile-arcs is enabled when linking. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129956 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21PR9214: Convert Metadata API to use ArrayRef.Jay Foad
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129929 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21The 0.98 revision of the x86-64 ABI clarified a lot of things, someJohn McCall
of which break strict compatibility with previous compilers. Implement one of them and then immediately opt out on Darwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129899 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21ForArgyrios Kyrtzidis
double data[20000000] = {0}; we would blow out the memory by creating 20M Exprs to fill out the initializer. To fix this, if the initializer list initializes an array with more elements than there are initializers in the list, have InitListExpr store a single 'ArrayFiller' expression that specifies an expression to be used for value initialization of the rest of the elements. Fixes rdar://9275920. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129896 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-20Don't add type names for enums; they're never used in LLVM IR.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129894 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-20fix a crash on code that uses the result value of __builtin___memcpy_chk.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129892 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19IRgen/ARM: Fix a think-o in conversion-to-null for member function pointers, weDaniel Dunbar
were computing the conversion as (ptr != 0 && non-virtual), when it should be (ptr != 0 || is-virtual). - Test to follow in LLVM test-suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129830 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19some cleanups to use IRBuilder methods instead of llvm:: foo methods.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19ADT/Triple: Switch to using .isOSDarwin() predicate.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129823 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19use the newly introduced IRBuilder getInt() method to reduce someChris Lattner
redundancy pointed out by John. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129808 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18Fix typo in comment.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129703 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18Get rid of std::vector usage when getting function types in CGException.cppAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129698 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18Clean up code generation of typeid expressions and add C++ standard references.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129682 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17Fix a miscompilation I introduced in r129652, thanks for Eli for tracking Chris Lattner
it down. we effectively were compile the testcase into: void test14(int x) { switch (x) { case 11: break; case 42: test14(97); // fallthrough default: test14(42); break; which is not the same thing at all. This fixes a miscompilation of MallocBench/gs seen on the clang-x86_64-linux-fnt buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129679 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17When laying out bases in, always try the "base subobject" LLVM type. If itAnders Carlsson
turns out that a field or base needs to be laid out in the tail padding of the base, CGRecordLayoutBuilder::ResizeLastBaseFieldIfNecessary will convert it to an array of i8. I've audited the new test results to make sure that they are still valid. I've also verified that we pass a self-host with this change. This (finally) fixes PR5589! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129673 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17Add addBaseSubobjectTypeName which isn't used yet.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129671 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17Move code to add a type name to a TagDecl type out into a helper function. ↵Anders Carlsson
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129669 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17Use a SmallVector for field types in CGRecordLayoutBuilder now that ↵Anders Carlsson
llvm::StructType::get takes an ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129667 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17Hack to turn the valgrind buildbot green, until Devang can address itEli Friedman
properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129657 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17implement rdar://9289524 - case followed immediately by break results in ↵Chris Lattner
empty IR block, a -O0 code quality issue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129652 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-17fold memcpy/set/move_chk to llvm.memcpy/set/move when the sizesChris Lattner
are trivial. This exposes opportunities earlier, and allows fastisel to do good things with these at -O0. This addresses rdar://9289468 - clang doesn't fold memset_chk at -O0 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129651 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-16fix rdar://9289603 - clang should fold trivial ?: for enums as well as ↵Chris Lattner
integer constants into select at -O0 by making the isCheapEnoughToEvaluateUnconditionally predicate handle anything that folds to a constant. In particular, we now fold enums. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129649 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-16Emit proper selector name in debug info.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129626 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-16Emit debug info for Objective-C properties.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129625 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15Add 3DNow! Intrinsics.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129570 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15Support for C++11 (non-template) alias declarations.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129567 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15fix a bunch of comment typos found by codespell. Patch byChris Lattner
Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15C1X: implement generic selectionsPeter Collingbourne
As an extension, generic selection support has been added for all supported languages. The syntax is the same as for C1X. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129554 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-14Add support for C++0x's range-based for loops, as specified by the C++11 ↵Richard Smith
draft standard (N3291). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129541 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-14Implement ARM pcs attribute. Basically it's another way of calling ↵Anton Korobeynikov
convention selection (AAPCS or AAPCS+VFP), similar to fastcall / stdcall / whatevercall seen on x86. In particular, all library functions should always be AAPCS regardless of floating point ABI used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129534 91177308-0d34-0410-b5e6-96231b3b80d8