aboutsummaryrefslogtreecommitdiff
path: root/CodeGen
AgeCommit message (Collapse)Author
2008-03-15Make a major restructuring of the clang tree: introduce a top-levelChris Lattner
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48402 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14add initial support for generating an llvm.globalctors list. Patch by David ↵Chris Lattner
Chisnall git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Update to reflect changes in parameter attribute api.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48290 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09Propagate calling convention information to function declarations and CallInstNate Begeman
instructions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48077 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-08Fix a fixme by allowing pointers in different address spaces to haveChris Lattner
different widths. Start simplifying TargetInfo accessor methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48050 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-07Add fastcall/stdcall attribute supportNate Begeman
Generate CallingConv::Fast when fastcall attribute is present git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48017 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05remove the source location arguments to various target query methods.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03fix codegen support for functions that are nothrow and noreturn.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47838 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03Add a bunch of attributes, patch by Nuno Lopes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47837 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01Add codegen support for ObjC message expressions with the GNU runtime.Chris Lattner
Patch by David Chisnall! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47790 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01Add codegen support for ObjC message expressions with the GNU runtime.Chris Lattner
Patch by David Chisnall! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47789 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-29make include guards more unique.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47754 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26Implement codegen for the following static var init.Lauro Ramos Venancio
void g() { static char a[10]; static char *b = a; } Now we can compile wget! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47627 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26Fix a bug in ConvertAsmString function. Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47618 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26Convert x86 target specific inline asm constraints to LLVM.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47609 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-21Clean up constant implicit cast emission; fixes a few edge cases Eli Friedman
invlolving implicit casts that cause both a decay to pointer type and a type conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47440 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-21Fix brace-enclosed string initializers for char arrays. From pr2079, Eli Friedman
ahtough I had the fix in my tree previously. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47439 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-21implement codegen support for sizeof(void), fixing PR2080.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47429 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Tabs are the enemyNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47410 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Alternate address spaces work:Chris Lattner
rename QualType::getQualifiers to getCVRQualifiers. Add some fixme's and clean up some code relevant to qualifiers. Change ASQualType to contain a Type* instead of a QualType. Any CVR qualifiers should be on the outer qual type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47398 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Improve non-const initializer implementation. Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47347 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Implement CodeGenModule::getMemSetFn method.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47346 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Simplify aggregate initilizer implementation. Use the ↵Lauro Ramos Venancio
CodeGenModule::EmitConstantExpr method when possible. Fix mediabench/mpeg2/mpeg2dec test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47336 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19A global without initializer must be emitted as weak.Lauro Ramos Venancio
Fix Olden/bh test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47292 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Implement multi-dimension array initalizer.Lauro Ramos Venancio
Fix McCat/08-main test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47286 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16implement codegen support for aggregates casted to void.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16Implement extern block var.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47223 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Split out incomplete arrays from VariableArrayType into Eli Friedman
IncompleteArrayType. This should make code dealing with both incomplete and variable length arrays much more readable, plus it allows properly making the distinction between isVariableArrayType() and isVariablyModifiedType(). The patch is a little big, but it's strightforward. so I don't think there should be any issues. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47165 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Remove useless parameter from isConstantSizeType.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47156 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-12Adjust for the API change to APInt::getBitsSet.Dan Gohman
People more familiar with clang than me, please review this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47033 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11strings are arrays tooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11A couple of minor fixes to aggregate codegen, to stop asserting on someEli Friedman
edge cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46944 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11Make unsupported constant exprs fail with a warning instead of crashing Eli Friedman
codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46943 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11Fix PR1992 by computing the right type for string literals, whichChris Lattner
is an array type not a pointer type. This requires updating some diags that change and updating the code generator to handle the proper form of strings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09Implement __builtin_va_copyAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46911 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09Expose the logic for field address codegen; it is needed for aggregate Eli Friedman
initializers, and I don't want to duplicate the bitfield-handling code. (I'll send a patch for aggregate initializers to the mailing list sometime soon.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46904 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08Fix a bitfield regression. Reported by Anders Carlsson.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46889 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08Put back the top-level asm code; all tests pass now.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46868 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08Back out 46855 for now, it causes test failures on Darwin.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07Simplify bitfield codegen.Lauro Ramos Venancio
Fix codegen of struct { short a[3]; int b:15; }. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46859 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07Fix codegen ofLauro Ramos Venancio
struct { char a[3]; unsigned char b:1; }; Fix PR1990. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46856 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07Handle top-level asm declarations.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46855 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06Add pointer + int (and vice versa) to the constant emitter.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46812 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06Generate code for the various __builtin_ctz functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46811 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06now that ConvertTagDeclType is nice and simple, use it from UpdateCompletedType.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46809 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06simplify and speed up type refinement logic. No functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46808 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06only convert the type name once, not each type it is refined.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46807 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06simplify a bunch of code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46805 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06rename TypeHolderMap to TypeCache, which more aptly describes what it is.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46804 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06split tagged decl layout into its own method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46803 91177308-0d34-0410-b5e6-96231b3b80d8