aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
AgeCommit message (Collapse)Author
2009-04-13Minor work related to removing the assumption that value initialization Eli Friedman
implies an all-zero bit pattern. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68994 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Minor simplification.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68992 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Update to use hasAttr() instead of getAttr().Daniel Dunbar
- No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68987 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Move/update recent FIXME (wrt UTF-8 checking for ObjC @-strings).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68982 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Fixed crasher in <rdar://problem/6780904> [irgen] Assertion failed: (Result ↵Steve Naroff
== conversionOK && "UTF-8 to UTF-16 conversion failed"), function GetAddrOfConstantCFString, file CodeGenModule.cpp, line 1063. Still a diagnostic related FIXME (will discuss with Daniel/Fariborz offline). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68975 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Use the new guard variable mangling function and get rid of the old code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Add support for mangling guard variables.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68969 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11Minor refactoring of my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68870 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11Fixes a ir-gen crash for K&R style blocks.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68865 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11Don't mangle variables that are at translation unit scope.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11Add support for generating reference initialization code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68852 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Fixup copy/dispose helpers for Objective-C. Radar 6756504Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68837 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Remove asserts that weren't really useful, and that would fire in case the ↵Anders Carlsson
CleanupEntries vector needed to be reallocated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Don't set both readnone and readonly.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Internal variables could mistakenly have "hidden" visibility whenDaniel Dunbar
their emission was deferred. - <rdar://problem/6775234> variables with internal linkage should not be exposed with -fvisibility=hidden. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68818 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Fixup codegen for nested blocks that use copy/dispose in the innerMike Stump
blocks, so that the outer blocks use it as well. Radar 6762279 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Patch to generate meta-data for prtocol usedFariborz Jahanian
in @protocol expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68806 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Rename variables to avoid conflict.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Make messages consistent.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10reject codegen of __thread variables as unimplemented, rdar://6775265Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68755 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor
No functionality change (really). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68726 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Use the new EmitCallArgs function. No indented functionality change.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Add code for emitting call arguments (not used yet).Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68639 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08We weren't generating correct code for calls to variadic member functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Use presumed location to get line number info.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68630 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Make sure value is initialized when built w/o asserts.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68615 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Make debug info work when using -save-temps.Daniel Dunbar
- This is pretty ugly, but the most obvious solution. Chime in if you have a nicer one. - The problem is that with -save-temps, clang-cc has no idea what the name of the original input file is. However, the user expects to be able to set breakpoints based on the input file name. - We support this by providing a new option -main-file-name (similar to -dumpbase used by gcc) which allows the driver to pass in the original file name. - <rdar://problem/6753383> building with clang using --save-temps gets the compile unit name from the .i file... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Add a destination type argument to EmitConstantExpr. This will be used for ↵Anders Carlsson
when the destination has a reference type. (No functionality change yet) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Implementation definition of interfaces with __objc_exception attribute.Daniel Dunbar
- Complete <rdar://problem/6635883> Support __objc_exception__ attribute git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Pointer width on targets like PIC16 is 16-bit, while the valid index size to ↵Sanjiv Gupta
GEP is only 32 or 64. So promote index to 32 in such cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Don't assume that a block always has a FunctionProtoType. Fixes rdar://6768379.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Visibility attributes should only be set on definition.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Shuffle some call code around. No functionality change.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68557 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Propagte -fvisibility to objc2's class symbols.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Remove some dead code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Handle use side of __objc_exception__ attribute; when using anDaniel Dunbar
exception with this attribute we don't need to emit a weak definition for the exception type information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Various fixes to symbols used for Obj-C x86_64 metadata.Daniel Dunbar
- Changed method names to match gcc (categories names still aren't mangled in). - Expose correct name for class and metadata symbols (although -fvisibility=hidden isn't yet correct). - Remove several things from llvm.used that didn't need to be there (I suspect this can still be trimmed). - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not needed). - Hide EH type class info with -fvisibility=hidden - Change setGlobal[Option]Visibility to not change the visibility of functions with internal linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68510 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Implement __sync_{add,sub,and,or,xor}_and_fetch andDaniel Dunbar
__sync_bool_compare_and_swap. - <rdar://problem/6762223> [sema/irgen] support __sync_bool_compare_and_swap and __sync_add_and_fetch git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68482 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Use the new getFunctionInfo that takes a BlockPointerType parameter, and get ↵Anders Carlsson
rid of getBlockFunctionType from CGBlocks.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68478 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Fixed visibility issues related to objc2's synthesizedFariborz Jahanian
ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68453 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Add a getFunctionInfo that takes a BlockPointerType.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68452 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Simplify C++ member function calls.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68451 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06Fix a couple of cases where Constant* pointers can dangle inChris Lattner
ObjCNonFragileABITypesHelper by converting them to dynamic getters. This fixes a crash on rdar://6757213. The others should be converted over as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68445 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04Add some basic support for generating C++ member functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68425 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04Basic support for regparm codegenAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68414 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Add support for calling C++ member functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Add a getFunctionInfo that takes a CXXMethodDecl.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68411 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Add a comment/FIXME so Eli can sleep better:-))Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Implement -fvisibility.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68369 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-03Add target hook for setting symbol prefix and section of unicodeDaniel Dunbar
string literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68363 91177308-0d34-0410-b5e6-96231b3b80d8