- Sep 30, 2008
-
-
Mon P Wang authored
llvm-svn: 56830
-
Daniel Dunbar authored
- Provides a basic primitive to jump to an arbitrary basic block, through the finally code. - Only used for return statements and rethrow currently. Still need to handle break, continue and goto. - Code still needs to be shuffled around to live elsewhere. llvm-svn: 56827
-
- Sep 28, 2008
-
-
Daniel Dunbar authored
Comment exception-handling code generation strategy. llvm-svn: 56763
-
Daniel Dunbar authored
llvm-svn: 56762
-
Daniel Dunbar authored
readable and to generate more readable IR. llvm-svn: 56758
-
Daniel Dunbar authored
- This should be rejected by sema (IMHO) but that needs some investigation. llvm-svn: 56756
-
- Sep 27, 2008
-
-
Daniel Dunbar authored
- There is no need to branch on the rethrow variable to determine if we need to call objc_exception_try_exit. We know whether an exception was thrown, so just branch to a different target if we want to skip the try_exit. This is a slight semantic departure from gcc, but only for throwing nil, which is undefined (and for which gcc emits broken code). - Also fixes a bug in current code which was calling try_exit too many times when an exception was uncaught (but there were some handlers). Fix bug introduced in prev. commit, the type of the @catch parameter was uninitialized. llvm-svn: 56754
-
Daniel Dunbar authored
llvm-svn: 56753
-
Daniel Dunbar authored
of the function. llvm-svn: 56752
-
Daniel Dunbar authored
when there are no @catch blocks. Also, eliminated unneeded alloca for the rethrow object. Also, avoid generating code to rethrow exception if the exception will trivially always be caught. llvm-svn: 56751
-
Daniel Dunbar authored
(smaller) size == garbage on stack == heisenbugs. llvm-svn: 56750
-
Devang Patel authored
- return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. llvm-svn: 56705
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. llvm-svn: 56623
-
- Sep 24, 2008
-
-
Daniel Dunbar authored
llvm-svn: 56547
-
Daniel Dunbar authored
Also, "simple" getter synthesis no longer uses temporary AST objects. llvm-svn: 56544
-
Daniel Dunbar authored
- Add CodeGenFunction::{EmitReturnOfRValue, EmitIvarOffset} - Factor EmitLValueForIvar out of EmitObjCIvarRefLValue. No non-error functionality change (some unsupported errors are degraded to asserts for the time being). llvm-svn: 56543
-
Daniel Dunbar authored
implementing property access. llvm-svn: 56542
-
Devang Patel authored
llvm-svn: 56538
-
Devang Patel authored
Rename to match changes done on llvm side. llvm-svn: 56537
-
- Sep 17, 2008
-
-
Daniel Dunbar authored
- Enables use of ABIArgInfo::Expand when needed. This greatly improves our x86 ABI compatibility. - As the infrastructure for target specific ABI handling isn't built yet, this change means ABI compatibility on other platforms is once again broken in a different way than before. - Upcoming: Figure out how to refactor ABI handling into targets. More documentation. llvm-svn: 56293
-
Daniel Dunbar authored
llvm-svn: 56291
-
Daniel Dunbar authored
Ensure that ABIArgInfo::Default implementation for aggregrate types is sensible (StructRet on return and ByVal on arguments). No functionality change. llvm-svn: 56289
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 56269
-
- Sep 11, 2008
-
-
Anders Carlsson authored
llvm-svn: 56102
-
Anders Carlsson authored
llvm-svn: 56101
-
Anders Carlsson authored
llvm-svn: 56100
-
Daniel Dunbar authored
value). - Added ABIArgInfo::ByVal (mostly supported) and ABIArgInfo::Expand (asserted out). - Added classifyArgumentType which currently just uses ABIArgInfo::Default or ByVal. This nearly matches old behavior, but we now set ByVal in a few situations we may have left it off before (on complex, for example). llvm-svn: 56086
-
Daniel Dunbar authored
no method declaration was found. - This was allowing arrays to pass "by value" among other things. Add assert in CodeGen that arguments cannot have array type. llvm-svn: 56080
-
- Sep 10, 2008
-
-
Daniel Dunbar authored
- As a test, enable basic usage for some common x86-32 cases. This increases our x86-32 compliance (on other targets our compliance will just be broken in a different way). llvm-svn: 56051
-
Daniel Dunbar authored
type of a call. Change NeXT runtime to use this instead of trying to bitcasting internally (which doesn't respect the ABI). Fix subtle bug, use of ConvertTypeRecursive instead of ConvertType is bad inside GetFunctionType. llvm-svn: 56050
-
Daniel Dunbar authored
- Added CodeGenTypes::GetFunctionType, taking a CGFunctionInfo. - Updated Obj-C runtimes to use this instead of rolling the llvm::FunctionType by hand. - Killed CodeGenTypes::{ConvertReturnType, DecodeArgumentTypes}. Add ABIArgInfo class to encapsulate ABI decision of how to lower types to LLVM. - Will move to target sometime soon. llvm-svn: 56047
-
Daniel Dunbar authored
to LLVM. - Will move to target sometime soon. llvm-svn: 56046
-
Argyrios Kyrtzidis authored
Implement CodeGen support for the 'CXXConditionDeclExpr' expression node, which represents a 'condition' declaration, e.g: "if (int x=0) {...}". llvm-svn: 56045
-
Daniel Dunbar authored
- Realized these functions will eventually need access to more data, moved to CodeGenModule. Eventually they should probably live together in some other helper class. llvm-svn: 56039
-
Daniel Dunbar authored
- Move actual param attr list creation to CodeGenFunction::ConstructParamAttrList. - Make ReturnTypeUsesSret static. llvm-svn: 56038
-
Daniel Dunbar authored
- Hook so NeXT runtime doesn't depend on ABI. llvm-svn: 56034
-
Daniel Dunbar authored
- Factor out EmitFunction{Pro,Epi}log llvm-svn: 56031
-
Daniel Dunbar authored
StartObjCMethod. llvm-svn: 56030
-
- Sep 09, 2008
-
-
Daniel Dunbar authored
- For the time being this means our emitted code is somewhat worse, especially for aggregates. This will be fixed. llvm-svn: 56013
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 56010
-