summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Make sure we or together the overflow flags of the multiply and add, so theEli Friedman2011-04-091-1/+1
| | | | | | check is triggered appropriately. Reported on cfe-dev. llvm-svn: 129231
* PR8369: make __attribute((regparm(0))) work correctly. Original patch byEli Friedman2011-04-092-6/+13
| | | | | | pageexec@freemail.hu, tweaks by me. llvm-svn: 129206
* fix indentationChris Lattner2011-04-091-7/+6
| | | | llvm-svn: 129202
* add a __sync_swap builtin to fill out the rest of the __sync builtins. Chris Lattner2011-04-091-0/+8
| | | | | | Patch by Dave Zarzycki! llvm-svn: 129189
* Convert the PointerWidthInBytes variable in EmitMemberPointer() to CharUnitsKen Dyck2011-04-091-4/+4
| | | | | | to eliminate a divide-by-8. No change in functionality intended. llvm-svn: 129180
* Eliminate a divide-by-8 in BuildVMIClassTypeInfo() by using CharUnits forKen Dyck2011-04-091-4/+5
| | | | | | the base offset. No change in functionality intended. llvm-svn: 129179
* Apply explicit braces to avoid ambiguous 'else' [-Wparentheses]Nick Lewycky2011-04-091-2/+2
| | | | llvm-svn: 129176
* Do not use zero as an upper bound for unbounded array because upper bound ↵Devang Patel2011-04-081-6/+17
| | | | | | zero also indicates one element array. llvm-svn: 129157
* [Reapply r128776, modified so that it does not break debug info.]Ken Dyck2011-04-075-12/+18
| | | | | | | Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. llvm-svn: 129072
* Basic, untested implementation for an "unknown any" type requested by LLDB.John McCall2011-04-078-3/+69
| | | | | | | | | | | | The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will still be valid to access that object as long as you explicitly cast it at every use. I'm still going back and forth about how I want to test this effectively, but I wanted to go ahead and provide a skeletal implementation for the LLDB folks' benefit and because it also improves some diagnostic goodness for placeholder expressions. llvm-svn: 129065
* [Reapply r128773. This is not the source of the issues Devang was seeingKen Dyck2011-04-072-6/+6
| | | | | | | | | with debug info.] Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. llvm-svn: 129048
* [Reapply r128771. It wasn't the source of the issues Devang saw with debugKen Dyck2011-04-071-4/+4
| | | | | | | | | info.] Use CharUnits for the offset type in the ClassNamesAndOffsets map in dumpLayout(). No change in functionality intended. llvm-svn: 129046
* Reapply r128770. It's not the cause of the issues Devang saw with debug info. Ken Dyck2011-04-071-8/+11
| | | | | | | Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. No change in functionality intended. llvm-svn: 129043
* Refine rules for atomic property api toFariborz Jahanian2011-04-061-2/+17
| | | | | | | pass a previously failing clang test. // rdar://8808439 llvm-svn: 129004
* If this is an intrinsic function, set the function's attributes to the ↵Peter Collingbourne2011-04-061-0/+7
| | | | | | intrinsic's attributes. llvm-svn: 129000
* Simplify.Devang Patel2011-04-051-3/+1
| | | | llvm-svn: 128957
* Fixes a regression caused by my last patch. Fariborz Jahanian2011-04-051-1/+2
| | | | | | | As a result, I had to remove a c++ version of a clang test which requires more scrutiny on my part. llvm-svn: 128950
* Emit debug info for function template parameters.Devang Patel2011-04-052-15/+47
| | | | llvm-svn: 128948
* Generate atomic api for atomic properties (x86 and x86_64Fariborz Jahanian2011-04-051-8/+59
| | | | | | | targets) when load/store results in multiple instructions. // rdar://8808439 llvm-svn: 128937
* Remove unintentional check-in.Devang Patel2011-04-051-3/+0
| | | | llvm-svn: 128928
* Fix typo.Devang Patel2011-04-052-1/+5
| | | | llvm-svn: 128921
* Use TemplateParameterList to extract template parameter name.Devang Patel2011-04-051-8/+15
| | | | llvm-svn: 128915
* Added *hidden* flags -print-options and -print-all-options soAndrew Trick2011-04-051-0/+3
| | | | | | | | | | | | | | | | | | | developers can see if their driver changed any cl::Option's. The current implementation isn't perfect but handles most kinds of options. This is nice to have when decomposing the stages of compilation and moving between different drivers. It's also a good sanity check when comparing results produced by different command line invocations that are expected to produce the comparable results. Note: This is not an attempt to prolong the life of cl::Option. On the contrary, it's a placeholder for a feature that must exist when cl::Option is replaced by a more appropriate framework. A new framework needs: a central option registry, dynamic name lookup, non-global containers of option values (e.g. per-module, per-function), *and* the ability to print options values and their defaults at any point during compilation. llvm-svn: 128911
* whitespaceAndrew Trick2011-04-051-3/+3
| | | | llvm-svn: 128908
* Refactor.Devang Patel2011-04-052-23/+36
| | | | llvm-svn: 128893
* Fix copy-and-paste bug that I introduced while tidying up the code.David Chisnall2011-04-051-1/+1
| | | | | | Does anyone want to buy me a new brain? llvm-svn: 128890
* Set AAPCS-VFP calling convention accordingly and hard float ABI command ↵Sandeep Patel2011-04-052-7/+11
| | | | | | handling. llvm-svn: 128866
* Eliminate conservative check that is covered by isIncompleteType() check.Devang Patel2011-04-041-5/+0
| | | | llvm-svn: 128857
* Incomplete type does not have any size.Devang Patel2011-04-041-1/+1
| | | | llvm-svn: 128855
* Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info.Devang Patel2011-04-045-33/+26
| | | | llvm-svn: 128842
* Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() toKen Dyck2011-04-025-15/+19
| | | | | | CharUnits. No change in functionality intended. llvm-svn: 128776
* Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. NoKen Dyck2011-04-022-6/+6
| | | | | | change in functionality intended. llvm-svn: 128773
* Use CharUnits for the offset type in the ClassNamesAndOffsets map inKen Dyck2011-04-021-4/+4
| | | | | | dumpLayout(). No change in functionality intended. llvm-svn: 128771
* Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. NoKen Dyck2011-04-021-8/+11
| | | | | | change in functionality intended. llvm-svn: 128770
* Convert BaseOffset::NonVirtualOffset to CharUnits. No change inKen Dyck2011-04-021-12/+12
| | | | | | functionality intended. llvm-svn: 128756
* Convert offset parameters and return values of VTableComponent methods toKen Dyck2011-04-021-20/+29
| | | | | | CharUnits. No change in functionality intended. llvm-svn: 128754
* Convert the offsets in VCallOffsetMap to CharUnits. No change inKen Dyck2011-04-021-8/+9
| | | | | | functionality intended. llvm-svn: 128753
* Convert offset parameters of VTableBuilder::IsOverriderUsed() to CharUnits.Ken Dyck2011-04-021-7/+7
| | | | | | No change in functionality intended. llvm-svn: 128752
* Do not try calculate the size of forward-declared template type array.Devang Patel2011-04-011-0/+8
| | | | llvm-svn: 128725
* IRgen: Reapply r128691 with a fix to ensure we don't increase alignment pastDaniel Dunbar2011-04-011-2/+13
| | | | | | that of the array element type. llvm-svn: 128698
* Revert r128691, "IRgen: Improve GCC compatibility when dealing with packedDaniel Dunbar2011-04-011-7/+2
| | | | | | arrays by propagating", it's breaking test in ways I don't understand yet. llvm-svn: 128693
* IRgen: Improve GCC compatibility when dealing with packed arrays by propagatingDaniel Dunbar2011-03-311-2/+7
| | | | | | | | the array alignment to the array access. - This is more or less the best we can do without having alignment present in the type system, but is a long way from truly matching how GCC handles this. llvm-svn: 128691
* Whoops.John McCall2011-03-311-2/+2
| | | | llvm-svn: 128621
* After much contemplation, I've decided that we probably shouldn't "unique"John McCall2011-03-313-165/+247
| | | | | | | | | | | | | __block object copy/dispose helpers for C++ objects with those for different variables with completely different semantics simply because they happen to both be no more aligned than a pointer. Found by inspection. Also, internalize most of the helper generation logic within CGBlocks.cpp, and refactor it to fit my peculiar aesthetic sense. llvm-svn: 128618
* Move all the significant __block code into CGBlocks.cpp. No functionalityJohn McCall2011-03-313-187/+215
| | | | | | change. llvm-svn: 128608
* Oops, prefer C-style cast hereMatt Beaumont-Gay2011-03-311-1/+1
| | | | llvm-svn: 128607
* Silence GCC warning about differing types on the branches of a conditional ↵Matt Beaumont-Gay2011-03-311-1/+1
| | | | | | expression llvm-svn: 128605
* Convert the return value ofKen Dyck2011-03-311-11/+11
| | | | | | | VCallAndVBaseOffsetBuilder::getCurrentOffsetOffset() to CharUnits. No change in functionality intended. llvm-svn: 128603
* Convert the OffsetInLayoutClass parameter ofKen Dyck2011-03-311-9/+10
| | | | | | | VCallAndVBaseOffsetBuilder::AddVBaseOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128600
* Convert the OffsetInLayoutClass of the VCallAndVBaseOffsetBuilderKen Dyck2011-03-311-6/+6
| | | | | | constructor to CharUnits. No change in functionality intended. llvm-svn: 128598
OpenPOWER on IntegriCloud