History log of /llvm-project-15.0.7/clang/lib/CodeGen/CodeGenModule.cpp (Results 1776 – 1800 of 1864)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b7f4ce3d 21-Nov-2008 Chris Lattner <[email protected]>

temporarily revert Sangiv's patch.

llvm-svn: 59821


# 37129848 21-Nov-2008 Sanjiv Gupta <[email protected]>

mem[cpy,set,move] intrinsics are now overloaded.

llvm-svn: 59806


# f99d5449 19-Nov-2008 Sanjiv Gupta <[email protected]>

Pointer width for PIC16 is 16 bits. Modify getMemCpy, getMemMove and getMemSet accordingly.

llvm-svn: 59613


# 1b9ad472 19-Nov-2008 Daniel Dunbar <[email protected]>

Discard unused runtime function declarations (for readability).

llvm-svn: 59594


# 8488c829 18-Nov-2008 Chris Lattner <[email protected]>

This reworks some of the Diagnostic interfaces a bit to change how diagnostics
are formed. In particular, a diagnostic with all its strings and ranges is now
packaged up and sent to DiagnosticClient

This reworks some of the Diagnostic interfaces a bit to change how diagnostics
are formed. In particular, a diagnostic with all its strings and ranges is now
packaged up and sent to DiagnosticClients as a DiagnosticInfo instead of as a
ton of random stuff. This has the benefit of simplifying the interface, making
it more extensible, and allowing us to do more checking for things like access
past the end of the various arrays passed in.

In addition to introducing DiagnosticInfo, this also substantially changes how
Diagnostic::Report works. Instead of being passed in all of the info required
to issue a diagnostic, Report now takes only the required info (a location and
ID) and returns a fresh DiagnosticInfo *by value*. The caller is then free to
stuff strings and ranges into the DiagnosticInfo with the << operator. When
the dtor runs on the DiagnosticInfo object (which should happen at the end of
the statement), the diagnostic is actually emitted with all of the accumulated
information. This is a somewhat tricky dance, but it means that the
accumulated DiagnosticInfo is allowed to keep pointers to other expression
temporaries without those pointers getting invalidated.

This is just the minimal change to get this stuff working, but this will allow
us to eliminate the zillions of variant "Diag" methods scattered throughout
(e.g.) sema. For example, instead of calling:

Diag(BuiltinLoc, diag::err_overload_no_match, typeNames,
SourceRange(BuiltinLoc, RParenLoc));

We will soon be able to just do:

Diag(BuiltinLoc, diag::err_overload_no_match)
<< typeNames << SourceRange(BuiltinLoc, RParenLoc));

This scales better to support arbitrary types being passed in (not just
strings) in a type-safe way. Go operator overloading?!

llvm-svn: 59502

show more ...


# 16ba9139 18-Nov-2008 Chris Lattner <[email protected]>

Change the diagnostics interface to take an array of pointers to
strings instead of array of strings. This reduces string copying
in some not-very-important cases, but paves the way for future
imp

Change the diagnostics interface to take an array of pointers to
strings instead of array of strings. This reduces string copying
in some not-very-important cases, but paves the way for future
improvements.

llvm-svn: 59494

show more ...


# c2480a55 15-Nov-2008 Anders Carlsson <[email protected]>

Handle padding in the constant CFString struct. Fixes PR3046.

llvm-svn: 59372


# fdf389b9 11-Nov-2008 Anton Korobeynikov <[email protected]>

Codegen support for fastcall & stdcall CC.
Patch by Ilya Okonsky!

llvm-svn: 59080


Revision tags: llvmorg-2.4.0
# b8c18fa5 04-Nov-2008 Chris Lattner <[email protected]>

LinkageSpecDecl is c++ specific, move it to DeclCXX

llvm-svn: 58704


# 5b06d9f2 28-Oct-2008 Daniel Dunbar <[email protected]>

Don't run the verifier as part of IRgen, this is now down (per module)
in the driver (this means we no longer run the verifier per function, however).

llvm-svn: 58307


# 03a3844c 28-Oct-2008 Daniel Dunbar <[email protected]>

Add attribute always_inline support.

llvm-svn: 58304


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

Add option argument to GetAddrOfConstantString to use for name of
(first) global holding the string.
- No functionality change.

llvm-svn: 57736


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

Change CGDebugInfo::setLocation to just ignore invalid locations. This
simplifies clients.

Also, add assert that RegionStack is empty when the CGDebugInfo is
destroyed.

llvm-svn: 57684


# 23fd462f 01-Oct-2008 Daniel Dunbar <[email protected]>

Add simple interface for protecting runtime functions from name
collisions.
- Provide CodeGenModule::CreateRuntimeFunction which guarantees that
the function it creates will have the provided nam

Add simple interface for protecting runtime functions from name
collisions.
- Provide CodeGenModule::CreateRuntimeFunction which guarantees that
the function it creates will have the provided name in the final
module. This allows the runtime to have its functions protected
from declarations of the same name in the source code.

- One could argue that this is a reason to abuse the llvm::Module
namespace for dealing with function redeclarations. However, that
approach seems conceptually flawed to me. This one also happens to
be somewhat more efficient.

No functionality change.

llvm-svn: 56899

show more ...


# aec553bf 27-Sep-2008 Daniel Dunbar <[email protected]>

Prefer llvm::Function::addFnAttr(...) to F->addAttribute(~0, ...).

llvm-svn: 56753


# 597e7087 26-Sep-2008 Devang Patel <[email protected]>

Now Attributes are divided in three groups
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn

Return attributes use 0 as

Now Attributes are divided in three groups
- 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

show more ...


# 322300d1 25-Sep-2008 Devang Patel <[email protected]>

Large mechanical patch.

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 a

Large mechanical patch.

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

show more ...


# 7a95ca31 10-Sep-2008 Daniel Dunbar <[email protected]>

Move FunctionType conversion into CGCall.cpp:
- Added CodeGenTypes::GetFunctionType, taking a CGFunctionInfo.
- Updated Obj-C runtimes to use this instead of rolling the
llvm::FunctionType by ha

Move FunctionType conversion into CGCall.cpp:
- 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

show more ...


# c68897d2 10-Sep-2008 Daniel Dunbar <[email protected]>

Tweak CGCall functions again:
- Realized these functions will eventually need access to more data,
moved to CodeGenModule. Eventually they should probably live
together in some other helper cl

Tweak CGCall functions again:
- 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

show more ...


# 76c8eb75 10-Sep-2008 Daniel Dunbar <[email protected]>

Tweak CGCall functions:
- Move actual param attr list creation to
CodeGenFunction::ConstructParamAttrList.
- Make ReturnTypeUsesSret static.

llvm-svn: 56038


# 0beedc16 08-Sep-2008 Daniel Dunbar <[email protected]>

Fix a number of issues w.r.t. emission of global for functions and
aliases.
- Attributes specific to a definition are only set when the
definition is seen.
- Alias generation is delayed until th

Fix a number of issues w.r.t. emission of global for functions and
aliases.
- Attributes specific to a definition are only set when the
definition is seen.
- Alias generation is delayed until the end of the module; necessary
since the alias may reference forward.
- Fixes: PR2743, <rdr://6140807&6094512>
- Improves: <rdr://6095112> (added XFAIL)

Also, print module on verification failures.

llvm-svn: 55966

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 ...


# 2ffee610 05-Sep-2008 Daniel Dunbar <[email protected]>

Set sext/zext on function result.
- <rdar://problem/6156739>

llvm-svn: 55815


# 449a339f 04-Sep-2008 Daniel Dunbar <[email protected]>

Set function attributes (sext, zext, etc.) on Objective-C methods.

llvm-svn: 55812


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

Avoid superfluous errors regarding variable-length arrays (casts).

llvm-svn: 55759


1...<<7172737475