| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Fixes liftime of captured block variables in mrr mode, per John's feedback, as | Fariborz Jahanian | 2012-11-04 | 1 | -17/+12 | |
| | | | | | | | well as couple of tests which were not being excercised because of TYPOs. llvm-svn: 167374 | |||||
| * | Emit debug info for C++ struct definitions as DW_TAG_structure_type (instead ↵ | David Blaikie | 2012-11-02 | 1 | -4/+2 | |
| | | | | | | | of class_type). llvm-svn: 167336 | |||||
| * | objective-C mrr block. Block variable layout metadata in | Fariborz Jahanian | 2012-11-02 | 1 | -5/+26 | |
| | | | | | | | mrr mode. llvm-svn: 167331 | |||||
| * | Fix debug tag type of forward declarations of struct/class in C++. | David Blaikie | 2012-11-02 | 1 | -10/+6 | |
| | | | | | llvm-svn: 167308 | |||||
| * | Update the front end to use minsize attribute | Quentin Colombet | 2012-11-01 | 1 | -0/+3 | |
| | | | | | llvm-svn: 167266 | |||||
| * | Simplify: replace getContext().getLangOpts() with just getLangOpts(). | Richard Smith | 2012-11-01 | 14 | -48/+48 | |
| | | | | | llvm-svn: 167261 | |||||
| * | Clean up misapplication of diff. | Richard Smith | 2012-11-01 | 1 | -1/+0 | |
| | | | | | llvm-svn: 167260 | |||||
| * | Split emission of -ftrapv checks and -fcatch-undefined-behavior checks into | Richard Smith | 2012-11-01 | 3 | -25/+34 | |
| | | | | | | | separate functions, since they share essentially no code. llvm-svn: 167259 | |||||
| * | Remove divison-by-zero checks from -ftrapv. These checks were incompatible with | Richard Smith | 2012-11-01 | 1 | -6/+2 | |
| | | | | | | | | g++'s -ftrapv, failed to call the -ftrapv overflow handler, and are still available under -fcatch-undefined-behavior. llvm-svn: 167258 | |||||
| * | Silence -Wformat on platforms where uint64_t is unsigned long. | Matt Beaumont-Gay | 2012-11-01 | 1 | -1/+1 | |
| | | | | | llvm-svn: 167249 | |||||
| * | objective-C block meta-data. This patch completes meta-data | Fariborz Jahanian | 2012-11-01 | 3 | -18/+174 | |
| | | | | | | | | | generation for captured block variables in arc mode. This includes inlined version of the meta-data when it can be done. It also includes severat tests. This is wip. // rdar://12184410. llvm-svn: 167241 | |||||
| * | -fcatch-undefined-behavior: Start checking loads and stores for null pointers. | Richard Smith | 2012-11-01 | 1 | -11/+11 | |
| | | | | | | | | | We want the diagnostic, and if the load is optimized away, we still want to trap it. Stop checking non-default address spaces; that doesn't work in general. llvm-svn: 167219 | |||||
| * | ARM AAPCS-VFP: fix tracking of allocated VFP registers. | Manman Ren | 2012-10-31 | 1 | -24/+50 | |
| | | | | | | | | According to the spec, we can backfill VFP registers that were skipped due to alignment constraints. llvm-svn: 167159 | |||||
| * | ARM AAPCS-VFP: fix handling of homogeneous aggreate. | Manman Ren | 2012-10-30 | 1 | -6/+80 | |
| | | | | | | | | If HA can only partially fit into VFP registers, we add padding to make sure HA will be on stack and later VFP CPRCs will be on stack as well. llvm-svn: 167058 | |||||
| * | objective-C arc/mrr: Another patch for the new captured block variable | Fariborz Jahanian | 2012-10-30 | 1 | -23/+191 | |
| | | | | | | | layout meta-data. It is currently off (so no tests). This is wip. llvm-svn: 167047 | |||||
| * | Change ForceSizeOpt attribute into MinSize attribute | Quentin Colombet | 2012-10-30 | 1 | -1/+1 | |
| | | | | | llvm-svn: 167021 | |||||
| * | Don't crash on bad atomic operations. PR14176. | Eli Friedman | 2012-10-30 | 1 | -7/+13 | |
| | | | | | llvm-svn: 166992 | |||||
| * | Revert commit r166946 | Quentin Colombet | 2012-10-29 | 1 | -3/+0 | |
| | | | | | llvm-svn: 166957 | |||||
| * | Make forcesizeopt attribute available to the end user | Quentin Colombet | 2012-10-29 | 1 | -0/+3 | |
| | | | | | llvm-svn: 166946 | |||||
| * | Handle '*' and '#' asm constraint modifiers. | Ulrich Weigand | 2012-10-29 | 1 | -0/+4 | |
| | | | | | llvm-svn: 166924 | |||||
| * | objective-C arc/mrr: Patch for the new block variable layout meta-data. | Fariborz Jahanian | 2012-10-27 | 4 | -6/+176 | |
| | | | | | | | It is currently off (so no tests). This is wip. llvm-svn: 166892 | |||||
| * | Move two helper functions to AST so that sema can use them. | Rafael Espindola | 2012-10-27 | 1 | -113/+2 | |
| | | | | | llvm-svn: 166853 | |||||
| * | Refactor some code into a new findMaterializedTemporary function. | Rafael Espindola | 2012-10-27 | 1 | -25/+32 | |
| | | | | | llvm-svn: 166849 | |||||
| * | Refactor some code into a new skipRValueSubobjectAdjustments function. | Rafael Espindola | 2012-10-27 | 1 | -45/+51 | |
| | | | | | llvm-svn: 166848 | |||||
| * | Delay codegen to after collecting all SubobjectAdjustment so that the collection | Rafael Espindola | 2012-10-27 | 1 | -6/+6 | |
| | | | | | | | can be refactored and used in Sema. llvm-svn: 166847 | |||||
| * | Add missing safety check to an optimization for do-while loops. PR14191. | Eli Friedman | 2012-10-26 | 1 | -0/+4 | |
| | | | | | llvm-svn: 166832 | |||||
| * | Don't crash synthesizing an ObjC property with an empty struct type. ↵ | Eli Friedman | 2012-10-26 | 1 | -0/+8 | |
| | | | | | | | <rdar://problem/12547611>. llvm-svn: 166825 | |||||
| * | Add comment for my patch in r166809. | Fariborz Jahanian | 2012-10-26 | 1 | -0/+2 | |
| | | | | | llvm-svn: 166823 | |||||
| * | Remove BLOCK_BYREF_LAYOUT_BYREF flags from list of | Fariborz Jahanian | 2012-10-26 | 1 | -3/+2 | |
| | | | | | | | flags for __block variable meta-data. llvm-svn: 166811 | |||||
| * | objective-C IRGen: for @implementation nested in | Fariborz Jahanian | 2012-10-26 | 1 | -1/+8 | |
| | | | | | | | | | | extern "C", its method definitions must be IRGen'ed before meta-data for class is generated. Otherwise, IRGen crashes (to say the least). // rdar://12581683 llvm-svn: 166809 | |||||
| * | This patch addresses a 64-bit PowerPC ELF ABI compatibility issue with | Bill Schmidt | 2012-10-26 | 1 | -15/+0 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | varargs parameter passing. A strict reading of the ABI indicates that any argument with alignment greater than 8 may require skipping doublewords in the parameter save area to align the argument, and hence require skipping GPRs. In practice, this is not done by GCC. The alignment restriction is used for internal alignment of a structure, but a structure with 16-byte alignment, for example, is not itself 16-byte aligned in the parameter save area. Although this is messy, it has become the de facto standard used in building existing libraries. My initial varargs support followed the ABI language, but not the de facto standard. Running the GCC compatibility test suite exposed this issue, and indeed showed that LLVM didn't pass parameters self-consistently with my original logic. Removing the additional alignment logic allows the affected tests to now pass. I modified the ppc64-varargs-struct.c test case to remove the existing test for generation of alignment code, which is no longer appropriate. Built and tested on powerpc64-unknown-linux-gnu with no new regressions. llvm-svn: 166805 | |||||
| * | Declare type of flags to be used in a __block (byref) | Fariborz Jahanian | 2012-10-26 | 1 | -0/+12 | |
| | | | | | | | variable descriptor captured by a block. llvm-svn: 166746 | |||||
| * | Oz optimization level sets ForceSizeOpt attribute for each function | Quentin Colombet | 2012-10-26 | 1 | -0/+2 | |
| | | | | | llvm-svn: 166744 | |||||
| * | Changing name of enum for block literal flags to represent | Fariborz Jahanian | 2012-10-25 | 1 | -3/+3 | |
| | | | | | | | what it is meant for. llvm-svn: 166734 | |||||
| * | Add some new types in preparation of encoding of captured block variable | Fariborz Jahanian | 2012-10-25 | 1 | -0/+69 | |
| | | | | | | | layout meta-data work. wip. llvm-svn: 166717 | |||||
| * | Provide comment describing what buildBlockDescriptor does. | Fariborz Jahanian | 2012-10-25 | 1 | -1/+12 | |
| | | | | | llvm-svn: 166703 | |||||
| * | Cleanup some clang code to use new type functions instead of using cast<>. | Micah Villmow | 2012-10-25 | 6 | -24/+16 | |
| | | | | | llvm-svn: 166684 | |||||
| * | Modify the targets to set appropriate calling convention defaults and C ↵ | David Tweed | 2012-10-25 | 1 | -3/+5 | |
| | | | | | | | | | variables when using a gnueabihf or aapcs-vfp target. Tested by me and Wei-Ren Chen. llvm-svn: 166679 | |||||
| * | Initialize debug info for special cases of functions that lack declarations ↵ | Alexey Samsonov | 2012-10-25 | 4 | -7/+36 | |
| | | | | | | | and are generated by Clang (global initializers/destructors, thunks) . Fixes PR13942. llvm-svn: 166676 | |||||
| * | -fcatch-undefined-behavior checking for appropriate vptr value: Clang ↵ | Richard Smith | 2012-10-25 | 3 | -11/+91 | |
| | | | | | | | CodeGen side. llvm-svn: 166661 | |||||
| * | When we're devirtualizing a method call, make sure the method has the ↵ | Eli Friedman | 2012-10-25 | 1 | -7/+7 | |
| | | | | | | | | | correct IR type. Reported in the thread "devirtualisation appears to crash clang on covariant functions on ARM" on cfe-dev. llvm-svn: 166651 | |||||
| * | Remove the HiddenWeakTemplateVTables CodeGen option. It's currently unused. | Douglas Gregor | 2012-10-24 | 2 | -5/+2 | |
| | | | | | llvm-svn: 166561 | |||||
| * | Clang now attempts to create a TargetMachine whenever a triple is given. | Nadav Rotem | 2012-10-24 | 1 | -8/+17 | |
| | | | | | | | | | Many of our tests specify triples that are not built into clang. In this commit we allow clang to fail loading the triple if we are only using clang to emit llvm ir. llvm-svn: 166543 | |||||
| * | Add padding inreg registers to cause llvm to skip ecx when needed with | Rafael Espindola | 2012-10-24 | 3 | -33/+62 | |
| | | | | | | | the x86_fastcallcc calling convention. llvm-svn: 166538 | |||||
| * | Add inreg markers with the x86_fastcallcc calling convention. | Rafael Espindola | 2012-10-24 | 1 | -10/+39 | |
| | | | | | llvm-svn: 166537 | |||||
| * | Change EmitAssemblyHelper to create the target machine early | Nadav Rotem | 2012-10-24 | 1 | -17/+49 | |
| | | | | | | | | | | and use it to initialize the TargetTransformInfo analysis pass. We need the TTI information for the loop vectorizer. rdar://12464901 llvm-svn: 166532 | |||||
| * | Switch CodeGenOptions over to a .def file, like we do with LangOptions. | Douglas Gregor | 2012-10-23 | 9 | -31/+36 | |
| | | | | | llvm-svn: 166497 | |||||
| * | Don't try to use inreg with 0 sized structs. Thanks to Eli for reporting the | Rafael Espindola | 2012-10-23 | 1 | -0/+4 | |
| | | | | | | | regression. llvm-svn: 166461 | |||||
| * | Move private classes into anonymous namespaces. | Benjamin Kramer | 2012-10-20 | 1 | -0/+8 | |
| | | | | | llvm-svn: 166377 | |||||
| * | DR1472: A reference isn't odr-used if it has preceding initialization, | Richard Smith | 2012-10-20 | 1 | -3/+17 | |
| | | | | | | | | | | initialized by a reference constant expression. Our odr-use modeling still needs work here: we don't yet implement the 'set of potential results of an expression' DR. llvm-svn: 166361 | |||||

