summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Misc fixes for cpp backend.Eli Friedman2013-09-241-3/+16
| | | | | | PR17317. llvm-svn: 191258
* Add namespaces to the list of items that we expose via pubnames.Eric Christopher2013-09-242-0/+2
| | | | llvm-svn: 191257
* Regenerate testcase from source.Eric Christopher2013-09-241-64/+70
| | | | llvm-svn: 191256
* Format the index entry kind string to align.Eric Christopher2013-09-241-3/+3
| | | | llvm-svn: 191255
* Make dwarfdump-type-units.test order-independentDavid Blaikie2013-09-241-19/+26
| | | | | | | The order in which the comdat type unit sections appear in the output is unspecified and may vary from machine to machine. llvm-svn: 191253
* Selecting the address from a very long chain of GEPs can blow the stack.Bill Wendling2013-09-242-3/+25619
| | | | | | | | | | The recursive nature of the address selection code can cause the stack to explode if there is a long chain of GEPs. Convert the recursive bit into a iterative method to avoid this. <rdar://problem/12445434> llvm-svn: 191252
* Comments for r191234 as suggested by Eric Christopher.David Blaikie2013-09-231-0/+4
| | | | llvm-svn: 191244
* Explicitly request unsigned enum types when desiredReid Kleckner2013-09-2311-27/+46
| | | | | | | | | | | | | | | | | | | | | The underlying type of all plain enums in MSVC is 'int', even if the enumerator contains large 32-bit unsigned values or values greater than UINT_MAX. The only way to get a large or unsigned enum type is to request it explicitly with the C++11 strong enum types feature. However, since LLVM isn't C++11 yet, I had to add a conditional LLVM_ENUM_INT_TYPE to Compiler.h to control its usage. The motivating true positive for this change is compiling PointerIntPair with MSVC for win64. The PointerIntMask value is supposed to be pointer sized value of all ones with some low zeros. Instead, it's truncated to 32-bits! We are only saved later because it is sign extended back in the AND with int64_t, and we happen to want all ones. This silences lots of -Wmicrosoft warnings during a clang self-host targeting Windows. llvm-svn: 191241
* Add more external types to the pubtypes table. Expand the asmEric Christopher2013-09-232-1/+4
| | | | | | checking patch until we get full dumping support. llvm-svn: 191239
* Unbreak the build (from r191233)since we're calling printf.David Blaikie2013-09-231-0/+1
| | | | llvm-svn: 191238
* Rename IsStatic variable to Linkage in order to be a bit more descriptive.Eric Christopher2013-09-231-3/+3
| | | | llvm-svn: 191236
* Formatting.Eric Christopher2013-09-231-6/+6
| | | | llvm-svn: 191235
* llvm-dwarfdump/libDebugInfo support for type unitsDavid Blaikie2013-09-239-3/+172
| | | | llvm-svn: 191234
* Exract most of DWARFCompileUnit into a new DWARFUnit to prepare for the ↵David Blaikie2013-09-2310-675/+704
| | | | | | coming DWARFTypeUnit. llvm-svn: 191233
* Make nomips16 mask not repeat if it ends with a '.'.Reed Kotler2013-09-232-6/+35
| | | | | | This mask is purely for debugging and testing. llvm-svn: 191231
* Reformat code with clang-format.Bill Wendling2013-09-231-107/+108
| | | | llvm-svn: 191226
* Handle gnu pubtypes sections:Eric Christopher2013-09-232-6/+15
| | | | | | | | | | | a) Make sure we are emitting the correct section in our section labels when we begin the module. b) Make sure we are emitting the correct pubtypes section in the presence of gnu pubtypes. c) For C++ struct, union, class, and enumeration types are default external. llvm-svn: 191225
* Add a paragraph on prefix data layout.Peter Collingbourne2013-09-231-0/+5
| | | | llvm-svn: 191219
* Remove remaining references to -O4.Rafael Espindola2013-09-231-6/+2
| | | | | | Thanks to Hal Finkel for noticing it. llvm-svn: 191216
* fix typo: than -> thenKay Tiong Khoo2013-09-231-1/+1
| | | | llvm-svn: 191214
* Fixed debug_aranges handling for common symbols.Richard Mitton2013-09-235-14/+30
| | | | | | | | | | The size of common symbols is now tracked correctly, so they can be listed in the arange section without needing knowledge of other following symbols. .comm (and .lcomm) do not indicate to the system assembler any particular section to use, so we have to treat them as having no section. Test case update to account for this. llvm-svn: 191210
* DebugInfo: Wrap section data and relocs together for dwarf dumping supportDavid Blaikie2013-09-232-48/+39
| | | | | | | | | | | | | | | | | | This is a small step that may enable some simplifications in producer (DWARFContext) and consumer (DWARFCompileUnit and other places) by making a more complete abstraction around the data and relocations for a section. Small initial steps could include simple changes such as passing the pair to DWARFCompileUnit's ctor rather than passing the data and relocs separately. I don't intend to pursue any such changes immediately, however. The motivation for doing this now is that type unit dumping will need to deal with these data+reloc pairs moreso than the existing dumping support has needed to associate the data as type unit sections are named the same (debug_types) and comdat group folded. So to implement dumping and reloc handling we'll need a mapping of section->data+relocs. llvm-svn: 191209
* Add sha intrinsic testsBen Langmuir2013-09-231-0/+139
| | | | | | These should have been included with r190864, but I forgot to use svn add. llvm-svn: 191208
* Revert "LoopVectorizer: Only allow vectorization of intrinsics."Arnold Schwaighofer2013-09-232-49/+99
| | | | | | | | | | | | | | Revert 191122 - with extra checks we are allowed to vectorize math library function calls. Standard library indentifiers are reserved names so functions with external linkage must not overrided them. However, functions with internal linkage can. Therefore, we can vectorize calls to math library functions with a check for external linkage and matching signature. This matches what we do during SelectionDAG building. llvm-svn: 191206
* Expand test case a bit.Benjamin Kramer2013-09-231-2/+5
| | | | llvm-svn: 191205
* [mips][msa] Added support for matching addvi, and subvi from normal IR (i.e. ↵Daniel Sanders2013-09-233-25/+189
| | | | | | not intrinsics) llvm-svn: 191203
* [ARM] Split A/R class into separate subtarget features.Amara Emerson2013-09-235-23/+37
| | | | | | Patch by Bradley Smith. llvm-svn: 191202
* InstSimplify: Fold equality comparisons between non-inbounds GEPs.Benjamin Kramer2013-09-232-2/+24
| | | | | | | | | Overflow doesn't affect the correctness of equalities. Computing this is cheap, we just reuse the computation for the inbounds case and try to peel of more non-inbounds GEPs. This pattern is unlikely to ever appear in code generated by Clang, but SCEV occasionally produces it. llvm-svn: 191200
* [mips][msa] Added support for matching insert and copy from normal IR (i.e. ↵Daniel Sanders2013-09-237-24/+445
| | | | | | | | | | | not intrinsics) Changes to MIPS SelectionDAG: * Added nodes VEXTRACT_[SZ]EXT_ELT to represent extract and extend in a single operation and implemented the DAG combines necessary to fold sign/zero extends into the extract. llvm-svn: 191199
* [mips][msa] Added support for matching pcnt from normal IR (i.e. not intrinsics)Daniel Sanders2013-09-233-4/+70
| | | | llvm-svn: 191198
* [mips][msa] Added support for matching nor from normal IR (i.e. not intrinsics)Daniel Sanders2013-09-235-3/+135
| | | | llvm-svn: 191195
* [mips][msa] Added support for matching and, or, and xor from normal IR (i.e. ↵Daniel Sanders2013-09-234-3/+444
| | | | | | not intrinsics) llvm-svn: 191194
* Partially revert r191192: Fix -Wunused-variable error when assertions are ↵Daniel Sanders2013-09-231-9/+0
| | | | | | | | | disabled and -Werror is in use. An unrelated change crept in because 'svn revert' isn't recursive by default. The unrelated changes have been reverted. llvm-svn: 191193
* Fix -Wunused-variable error when assertions are disabled and -Werror is in use.Daniel Sanders2013-09-231-3/+9
| | | | llvm-svn: 191192
* [mips][msa] Implemented build_vector using ldi, fill, and custom ↵Daniel Sanders2013-09-237-11/+316
| | | | | | | | | | | | | | | | | | SelectionDAG nodes (VSPLAT and VSPLATD) Note: There's a later patch on my branch that re-implements this to select build_vector without the custom SelectionDAG nodes. The future patch avoids the constant-folding problems stemming from the custom node (i.e. it doesn't need to re-implement all the DAG combines related to BUILD_VECTOR). Changes to MIPS specific SelectionDAG nodes: * Added VSPLAT This is a special case of BUILD_VECTOR that covers the case the BUILD_VECTOR is a splat operation. * Added VSPLATD This is a special case of VSPLAT that handles the cases when v2i64 is legal llvm-svn: 191191
* llvm/test/tools/lto/lit.local.cfg: Add "MingW" for exclusion list.NAKAMURA Takumi2013-09-231-1/+1
| | | | llvm-svn: 191185
* Add missing index comments to the left side of the DAG ISel matcher table ↵Craig Topper2013-09-221-2/+6
| | | | | | for each individual case of SwitchOpcode/Type. llvm-svn: 191181
* [Sparc] Use correct instruction pattern for CMPri.Venkatraman Govindaraju2013-09-221-1/+1
| | | | llvm-svn: 191180
* Remove dead codeDavid Blaikie2013-09-222-21/+0
| | | | llvm-svn: 191179
* StringRef-ize some thingsDavid Blaikie2013-09-222-13/+8
| | | | llvm-svn: 191178
* Provide basic type safety for array_pod_sort comparators.Benjamin Kramer2013-09-2211-42/+38
| | | | | | | | This makes using array_pod_sort significantly safer. The implementation relies on function pointer casting but that should be safe as we're dealing with void* here. llvm-svn: 191175
* Drop spurious handle in comment.Benjamin Kramer2013-09-221-1/+1
| | | | llvm-svn: 191172
* [Sparc] Make SPARC instructions' encoding well defined such that TableGen ↵Venkatraman Govindaraju2013-09-224-39/+70
| | | | | | can automatically generate code emitter. llvm-svn: 191168
* [Sparc] Clean up MOVcc instructions so that TableGen can encode them ↵Venkatraman Govindaraju2013-09-222-29/+105
| | | | | | correctly. No functionality change intended. llvm-svn: 191167
* [Sparc] Clean up branch instructions, so that TableGen can encode branch ↵Venkatraman Govindaraju2013-09-223-23/+26
| | | | | | conditions as well. No functionality change intended. llvm-svn: 191166
* ISelDAG: spot chain cycles involving MachineNodesTim Northover2013-09-2214-11/+54
| | | | | | | | | | | | | | | | | Previously, the DAGISel function WalkChainUsers was spotting that it had entered already-selected territory by whether a node was a MachineNode (amongst other things). Since it's fairly common practice to insert MachineNodes during ISelLowering, this was not the correct check. Looking around, it seems that other nodes get their NodeId set to -1 upon selection, so this makes sure the same thing happens to all MachineNodes and uses that characteristic to determine whether we should stop looking for a loop during selection. This should fix PR15840. llvm-svn: 191165
* [Sparc] Add support for TLS in sparc.Venkatraman Govindaraju2013-09-228-10/+311
| | | | llvm-svn: 191164
* X86: Use R_X86_64_TPOFF64 for FK_Data_8David Majnemer2013-09-222-0/+5
| | | | | | | | | | | | | | | | | | | Summary: LLVM would crash when trying to come up with a relocation type for assembly like: movabsq $V@TPOFF, %rax Instead, we say the relocation type is R_X86_64_TPOFF64. Fixes PR17274. Reviewers: dblaikie, nrieck, rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1717 llvm-svn: 191163
* [SPARC] Make functions with GLOBAL_OFFSET_TABLE access as non-leaf functions.Venkatraman Govindaraju2013-09-223-6/+16
| | | | llvm-svn: 191160
* [Sparc] Emit .register directive to declare the use of global registers %g2, ↵Venkatraman Govindaraju2013-09-222-0/+42
| | | | | | %g4, %g6 and %g7. llvm-svn: 191158
OpenPOWER on IntegriCloud