History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExpr.cpp (Results 1201 – 1225 of 1262)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 50a1270d 19-Nov-2008 Fariborz Jahanian <[email protected]>

Few more changes due to Daniel's feedback.

llvm-svn: 59645


# 9b1335ec 19-Nov-2008 Daniel Dunbar <[email protected]>

Fix redundant load of bit-fields on assignment (to get the updated
value).
- Use extra argument to EmitStoreThroughLValue to provide place to
write update bit-field value if caller requires it.

Fix redundant load of bit-fields on assignment (to get the updated
value).
- Use extra argument to EmitStoreThroughLValue to provide place to
write update bit-field value if caller requires it.
- This fixes several FIXMEs.

llvm-svn: 59615

show more ...


# d7db9644 19-Nov-2008 Fariborz Jahanian <[email protected]>

Generate strong write barriers for __strong objects.
Also, took care of Daniel's commments.

llvm-svn: 59575


# 83f45b55 18-Nov-2008 Fariborz Jahanian <[email protected]>

Patch for generation of weak write barriers for objc
__weak objects.

llvm-svn: 59560


# f5125d19 18-Nov-2008 Fariborz Jahanian <[email protected]>

Generate objc_read_weak for __weak objc loads.

llvm-svn: 59553


# 406b117e 18-Nov-2008 Fariborz Jahanian <[email protected]>

Some basic support toward objective-c's GC code gen.

llvm-svn: 59543


# 993603d8 14-Nov-2008 Douglas Gregor <[email protected]>

Add a new expression node, CXXOperatorCallExpr, which expresses a
function call created in response to the use of operator syntax that
resolves to an overloaded operator in C++, e.g., "str1 +
str2" t

Add a new expression node, CXXOperatorCallExpr, which expresses a
function call created in response to the use of operator syntax that
resolves to an overloaded operator in C++, e.g., "str1 +
str2" that resolves to std::operator+(str1, str2)". We now build a
CXXOperatorCallExpr in C++ when we pick an overloaded operator. (But
only for binary operators, where we actually implement overloading)

I decided *not* to refactor the current CallExpr to make it abstract
(with FunctionCallExpr and CXXOperatorCallExpr as derived
classes). Doing so would allow us to make CXXOperatorCallExpr a little
bit smaller, at the cost of making the argument and callee accessors
virtual. We won't know if this is going to be a win until we can parse
lots of C++ code to determine how much memory we'll save by making
this change vs. the performance penalty due to the extra virtual
calls.

llvm-svn: 59306

show more ...


# f7fb7504 13-Nov-2008 Daniel Dunbar <[email protected]>

Easy IRgen improvement for bitfields, don't emit x >> 0.
- Logic such as this quite possibly should be optional builder
behavior.

llvm-svn: 59213


Revision tags: llvmorg-2.4.0
# 8ea1f534 04-Nov-2008 Douglas Gregor <[email protected]>

Add a new expression class, ObjCSuperExpr, to handle the Objective-C 'super'. Remove ObjCThis from PredefinedExpr

llvm-svn: 58698


# 1ea1aa2c 17-Oct-2008 Daniel Dunbar <[email protected]>

Emit more descriptive unsupported error message on dot-syntax use of super.

llvm-svn: 57745


# b3517472 17-Oct-2008 Daniel Dunbar <[email protected]>

Lift CodeGenFunction::EmitPredefinedFunctioName out of EmitPredefinedLValue.
- Shouldn't assume predefined expr is a function printing one.
- Uses CGM functionality to cache function names per modu

Lift CodeGenFunction::EmitPredefinedFunctioName out of EmitPredefinedLValue.
- Shouldn't assume predefined expr is a function printing one.
- Uses CGM functionality to cache function names per module.

llvm-svn: 57737

show more ...


# 1c64e5d1 24-Sep-2008 Daniel Dunbar <[email protected]>

Refactor some CodeGen functionality:
- Add CodeGenFunction::{EmitReturnOfRValue, EmitIvarOffset}
- Factor EmitLValueForIvar out of EmitObjCIvarRefLValue.

No non-error functionality change (some u

Refactor some CodeGen functionality:
- 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

show more ...


# 07052350 10-Sep-2008 Argyrios Kyrtzidis <[email protected]>

Implement CodeGen support for the 'CXXConditionDeclExpr' expression node, which represents a 'condition' declaration, e.g: "if (int x=0) {...}".

llvm-svn: 56045


# 613855c8 09-Sep-2008 Daniel Dunbar <[email protected]>

Move ABI specific code for functions / calls to CGCall.cpp:
- Factor out EmitFunction{Pro,Epi}log

llvm-svn: 56031


# 41cf9ded 09-Sep-2008 Daniel Dunbar <[email protected]>

Change CodeGen to emit calls using (RValue,Type) list:
- Add CodeGenFunction::EmitAnyExprToTemp
o Like EmitAnyExpr, but emits aggregates to a temporary location if
none is available. Seems l

Change CodeGen to emit calls using (RValue,Type) list:
- Add CodeGenFunction::EmitAnyExprToTemp
o Like EmitAnyExpr, but emits aggregates to a temporary location if
none is available. Seems like this should be simpler (even aside
from using first class aggregates).

- Killed CodeGenFunction::EmitCallArg (just append the pair)

- Conversion of RValues to actual call arguments is now isolated in
CodeGenFunction::EmitCall.

llvm-svn: 55970

show more ...


# 3d7c90b8 08-Sep-2008 Daniel Dunbar <[email protected]>

Refactor parameter attribute handling:
- Add CGCall.h for dealing with ABI issues related to calls.
- Add CGFunctionInfo and CGCallInfo for capturing ABI relevant
information about functions

Refactor parameter attribute handling:
- Add CGCall.h for dealing with ABI issues related to calls.
- Add CGFunctionInfo and CGCallInfo for capturing ABI relevant
information about functions and calls.
- Isolate LLVM parameter attribute handling inside CGCall.cpp

llvm-svn: 55963

show more ...


# 8cde00a5 04-Sep-2008 Daniel Dunbar <[email protected]>

Implement codegen of aggregates as lvalues in binary expressions,
e.g. "(a = b).somefield".

llvm-svn: 55758


# 4b8c6db9 30-Aug-2008 Daniel Dunbar <[email protected]>

Add Objective-C property setter support.
- Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
favor of just result type and selector. Necessary so it can be
reused in situations

Add Objective-C property setter support.
- Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
favor of just result type and selector. Necessary so it can be
reused in situations where we don't want to cons up an
ObjCMessageExpr.
- Update aggregate binary assignment to know about special property
ref lvalues.
- Add CodeGenFunction::EmitCallArg overload which takes an already
emitted rvalue.

Add CodeGenFunction::StoreComplexIntoAddr.

Disabled logic in Sema for parsing Objective-C dot-syntax that
accesses methods. This code does not search in the correct order and
the AST node has no way of properly representing its results.

Updated StmtDumper to print a bit more information about
ObjCPropertyRefExprs.

llvm-svn: 55561

show more ...


# c722b856 30-Aug-2008 Daniel Dunbar <[email protected]>

Refactor handling of calls:
- Added CodeGenFunction::EmitCall which just takes the callee, return
type, and a list of (Value*,QualType) pairs.
- Added CodeGenFunction::EmitCallArg which handles

Refactor handling of calls:
- Added CodeGenFunction::EmitCall which just takes the callee, return
type, and a list of (Value*,QualType) pairs.
- Added CodeGenFunction::EmitCallArg which handles emitting code for
a call argument and turning it into an appropriate
(Value*,QualType) pair.
- Changed Objective-C runtime interface so that the actual emission
of arguments for message sends is (once again) done in the code to
emit a message send.

No intended functionality change, this is prep work for better ABI
support and for Objective-C property setter support.

llvm-svn: 55560

show more ...


# 9e22c0d3 29-Aug-2008 Daniel Dunbar <[email protected]>

Add special "property reference" CodeGen::LValue type for emitting
Objective-C property references.
- This handles property references "more correctly" but setters still
don't work.

llvm-svn: 55

Add special "property reference" CodeGen::LValue type for emitting
Objective-C property references.
- This handles property references "more correctly" but setters still
don't work.

llvm-svn: 55534

show more ...


# f2e69888 25-Aug-2008 Daniel Dunbar <[email protected]>

Support __PRETTY_FUNCTION__ and friends in Obj-C methods.

Add CodeGenFunction::EmitUnsupportedLValue
- Gives error and returns undef value.

Swap some asserts() over to using EmitUnsupportedLValue

Support __PRETTY_FUNCTION__ and friends in Obj-C methods.

Add CodeGenFunction::EmitUnsupportedLValue
- Gives error and returns undef value.

Swap some asserts() over to using EmitUnsupportedLValue
- Rumor has it users (and even some developers) prefer carat
diagnostics to backtraces.
- Works better in Release-Asserts to boot.

llvm-svn: 55328

show more ...


# c13b85a6 25-Aug-2008 Anders Carlsson <[email protected]>

Make code generation of ivar ref exprs more like member exprs.

llvm-svn: 55298


# c8317a44 23-Aug-2008 Daniel Dunbar <[email protected]>

Implement Obj-C ivar references to aggregates.

Implement Obj-C lvalue message sends (aggregate returns).

Update several places to emit more precise ErrorUnsupported warnings
for currently unimple

Implement Obj-C ivar references to aggregates.

Implement Obj-C lvalue message sends (aggregate returns).

Update several places to emit more precise ErrorUnsupported warnings
for currently unimplemented Obj-C features (main missing chunks are
property references, Obj-C exception handling, and the for ... in
syntax).

llvm-svn: 55234

show more ...


# 97ff50dd 23-Aug-2008 Daniel Dunbar <[email protected]>

NeXT: Fix message sends which return structures.
- Simplify the sending code a bit.

llvm-svn: 55232


# 97db84ce 23-Aug-2008 Daniel Dunbar <[email protected]>

Trim CGObjCRuntime::GenerateMessageSend[Super]
- Returns an RValue.
- Reduced to only taking the CodeGenFunction, Expr, and Receiver.
- Becomes responsible for emitting the arguments.

Add CodeGen

Trim CGObjCRuntime::GenerateMessageSend[Super]
- Returns an RValue.
- Reduced to only taking the CodeGenFunction, Expr, and Receiver.
- Becomes responsible for emitting the arguments.

Add CodeGenFunction::EmitCallExprExt
- Takes optional extra arguments to insert at the head of the call.
- This allows the Obj-C runtimes to call into this and isolates the
argument and call instruction generation code to one place. Upshot
is that we now pass structures (more) correctly.

Also, fix one aspect of generating methods which take structure
arguments (for NeXT). This probably needs to be merged with the
SetFunctionAttributes code in CodeGenModule.cpp

llvm-svn: 55223

show more ...


1...<<4142434445464748495051