summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* <rdar://problem/15045059>Enrico Granata2013-10-303-0/+56
| | | | | | | One of the things that dynamic typing affects is the count of children a type has Clear out the flag that makes us blindly believe the children count when a dynamic type change is detected llvm-svn: 193663
* [ELF] Implement minimal support for .eh_frame_hdr.Michael J. Spencer2013-10-3013-79/+195
| | | | llvm-svn: 193662
* Fixing code gen to handle microsoft layouts for which size % alignment Warren Hunt2013-10-291-0/+3
| | | | | | != 0 llvm-svn: 193661
* Debug Info: code clean up.Manman Ren2013-10-292-3/+5
| | | | | | | | | | Use EmitLabelOffsetDifference for handling on darwin platform when non-darwin platforms use EmitLabelPlusOffset. Also fix a bug in EmitLabelOffsetDifference where the size is hard-coded to 4 even though Size is passed in as an argument. llvm-svn: 193660
* <rdar://problem/15296388>Enrico Granata2013-10-291-9/+21
| | | | | | | | | | Fix a crasher that would occur if one tried to read memory as characters of some size != 1, e.g. x -f c -s 10 buffer This commit tries to do the right thing and uses the byte-size as the number of elements, unless both are specified and the number of elements is != 1 In this latter case (e.g. x -f c -s 10 -c 3 buffer) one could multiply the two and read 30 characters, but it seems a stretch in mind reading. llvm-svn: 193659
* Debug Info: support for DW_FORM_ref_addr.Manman Ren2013-10-296-3/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support ref_addr, we calculate the section offset of a DIE (i.e. offset of a DIE from beginning of the debug info section). The Offset field in DIE is currently CU-relative. To calculate the section offset, we add a DebugInfoOffset field in CompileUnit to store the offset of a CU from beginning of the debug info section. We set the value in DwarfUnits::computeSizeAndOffset for each CompileUnit. A helper function DIE::getCompileUnit is added to return the CU DIE that the input DIE belongs to. We also add a map CUDieMap in DwarfDebug to help finding the CU for a given CU DIE. For a cross-referenced DIE, we first find the CU DIE it belongs to with getCompileUnit, then we use CUDieMap to get the corresponding CU for the CU DIE. Adding the section offset of the CU with the CU-relative offset of a DIE gives us the seciton offset of the DIE. We correctly emit ref_addr with relocation using EmitLabelPlusOffset when doesDwarfUseRelocationsAcrossSections is true. This commit handles the emission of DW_FORM_ref_addr when we have an attribute with FORM_ref_addr. A follow-on patch will start using ref_addr when adding a DIEEntry. This commit will be tested and verified in the follow-on patch. Reviewed off-list by Eric, Thanks. llvm-svn: 193658
* Debug Info: instead of calling addToContextOwner which constructs the contextManman Ren2013-10-2911-68/+63
| | | | | | | | | | | | | | | after the DIE creation, we construct the context first. Ensure that we create the context before we create a type so that we can add the newly created type to the parent. Remove last use of addToContextOwner now that it's not needed. We use createAndAddDIE to wrap around "new DIE(". Now all shareable DIEs should be added to their parents right after the creation. Reviewed off-list by Eric, Thanks. llvm-svn: 193657
* Struct byval cleanup: add helper functions to reduce code duplication.Manman Ren2013-10-291-180/+117
| | | | | | | | | | Helper functions are added: emitPostLd: emit a post-increment load operation with given size. emitPostSt: emit a post-increment store operation with given size. No functionality change. llvm-svn: 193656
* [sanitizer] Intercept drand48_r, lrand48_r.Evgeniy Stepanov2013-10-295-0/+43
| | | | llvm-svn: 193655
* [msandr] Remove use of std::set in msandr client to avoid reentrancy issues.Evgeniy Stepanov2013-10-291-14/+8
| | | | | | Patch by Qin Zhao. llvm-svn: 193654
* [stackprotector] Update the StackProtector pass to perform datalayout analysis.Josh Magee2013-10-292-28/+90
| | | | | | | | | | | | | | | This modifies the pass to classify every SSP-triggering AllocaInst according to an SSPLayoutKind (LargeArray, SmallArray, AddrOf). This analysis is collected by the pass and made available for use, but no other pass uses it yet. The next patch will make use of this analysis in PEI and StackSlot passes. The end goal is to support ssp-strong stack layout rules. WIP. Differential Revision: http://llvm-reviews.chandlerc.com/D1789 llvm-svn: 193653
* ScopInfo: Add support for AssumedContextTobias Grosser2013-10-294-4/+100
| | | | | | | | | | | | | | | | | | | When constructing a scop sometimes the exact representation of a statement or condition would be very complex, but there is a common case which is a lot simpler, but which is only valid under certain assumptions. The assumed context records the assumptions taken during the construction of this scop and that need to be code generated as a run-time test. At the moment, we do not yet model any assumptions, but only added the AssumedContext as well as the isl-ast generation support. As a next step, this needs to be hooked up with the isl code generation. if (1) /* run-time condition */ { /* optimized code */ } else { /* original code */ } llvm-svn: 193652
* Update commentMatt Arsenault2013-10-291-2/+2
| | | | llvm-svn: 193651
* Workaround MSVC 32-bit miscompile of getCondCodeAction.Matt Arsenault2013-10-291-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 32-bit types for the array instead of 64. This should generally be better anyway. In optimized + assert builds, I saw a failure when a cond code / type combination that is never set was loading a non-zero value and hitting the != Promote assert. It turns out when loading the 64-bit value to do the shift, the assembly loads the 2 32-bit halves from non-consecutive addresses. The address the second half of the loaded uint64_t doesn't include the offset of the array in the struct. Instead of being offset + 4, it's just + 4. I'm not entirely sure why this wasn't observed before. setCondCodeAction isn't heavily used by the in-tree targets, and not with the higher valued vector SimpleValueTypes. Only PPC is using one of the > 32 valued types, and that is probably never used by anyone on a 32-bit MSVC compiled host. I ran into this when upgrading LLVM versions, so I guess the value loaded from the nonsense address happened to work out before. No test since I'm not really sure if / how it can be reproduced with the current in tree targets, and it's not supposed to change anything. llvm-svn: 193650
* Removing a switch statement that contains only a default label. This ↵Aaron Ballman2013-10-291-28/+25
| | | | | | resolves an MSVC warning. No functional change intended. llvm-svn: 193649
* Changed tests_typestate to test_typestate for consistency.Chris Wailes2013-10-295-32/+32
| | | | llvm-svn: 193648
* [asan] Maybe fix test failures on lld bots.Evgeniy Stepanov2013-10-291-1/+1
| | | | llvm-svn: 193647
* [PECOFF] Suppress startup message of background processes.Rui Ueyama2013-10-292-0/+2
| | | | llvm-svn: 193646
* [sanitizer] Intercept sincos, remquo, lgamma, lgamma_r.Evgeniy Stepanov2013-10-295-0/+234
| | | | llvm-svn: 193645
* Add -lm to sanitizer link arguments.Evgeniy Stepanov2013-10-291-0/+1
| | | | | | We'll need to intercept a few function in libm. llvm-svn: 193644
* [msandr] Add support for standalone test.Evgeniy Stepanov2013-10-292-10/+128
| | | | | | | | Add macro MSANDR_STANDALONE_TEST for standalone test without msan executables. Patch by Qin Zhao. llvm-svn: 193643
* Add support for the separate version of /FI.Rafael Espindola2013-10-292-1/+4
| | | | | | Patch by Jeff Muizelaar. llvm-svn: 193642
* [mips] Align the stack to 16-bytes for mfp64.Akira Hatanaka2013-10-296-4/+25
| | | | llvm-svn: 193641
* [mips] Align the stack to 16-bytes for -mfp64.Akira Hatanaka2013-10-294-14/+56
| | | | llvm-svn: 193640
* [tsan] Fix unused variable warnings.Evgeniy Stepanov2013-10-291-4/+9
| | | | llvm-svn: 193639
* [mips] Use the distance between the current argument's starting address andAkira Hatanaka2013-10-291-11/+10
| | | | | | | | | the previous argument's ending address to compute the type of the padding argument. No intended functionality change. llvm-svn: 193638
* Remove declared but not implemented function.Rafael Espindola2013-10-291-11/+0
| | | | llvm-svn: 193637
* [mips] Move setDescriptionString to base class MipsTargetInfoBase and call itAkira Hatanaka2013-10-291-21/+29
| | | | | | | | at the end of handleTargetFeatures. No intended functionality change. llvm-svn: 193636
* [asan] Fix build.Evgeniy Stepanov2013-10-291-4/+4
| | | | llvm-svn: 193635
* [sanitizer] Fix build warnings.Evgeniy Stepanov2013-10-291-0/+4
| | | | llvm-svn: 193634
* [sanitizer] Ptrace syscall handler.Evgeniy Stepanov2013-10-294-2/+49
| | | | llvm-svn: 193633
* Fix common typos in the docs.Benjamin Kramer2013-10-294-4/+4
| | | | llvm-svn: 193632
* Fixing an issue in yesterday's dynamic type changes where we would not craft ↵Enrico Granata2013-10-295-10/+112
| | | | | | | | a valid SBType given debug information Added a test case to help us detect regression in this realm llvm-svn: 193631
* Move getSymbol to TargetLoweringObjectFile.Rafael Espindola2013-10-2912-39/+35
| | | | | | This allows constructing a Mangler with just a TargetMachine. llvm-svn: 193630
* Debug Info: clean up testing case.Manman Ren2013-10-291-2/+4
| | | | | | | | Add a tag before the name attribute for readability. Use CHECK-NEXT instead of CHECK-NOT followed by a CHECK. Add new lines to separate checking of different DIEs. llvm-svn: 193629
* Fixing TestAnonymous to build dwarf where it says it will.Andrew Kaylor2013-10-291-1/+1
| | | | llvm-svn: 193628
* Add a helper getSymbol to AsmPrinter.Rafael Espindola2013-10-2926-84/+88
| | | | llvm-svn: 193627
* add test cases for frameaddr and returnaddr for aarch64Weiming Zhao2013-10-292-0/+41
| | | | llvm-svn: 193626
* [AArch64] Implement FrameAddr and ReturnAddrWeiming Zhao2013-10-292-0/+43
| | | | | | Fixes PR17690 llvm-svn: 193625
* [ARM] Make sure HasCRC is initialized to false in Subtarget.Amara Emerson2013-10-291-0/+1
| | | | llvm-svn: 193624
* Support for microMIPS jump instructionsZoran Jovanovic2013-10-2918-21/+253
| | | | llvm-svn: 193623
* R600: Add Sea Islands GPUsTom Stellard2013-10-292-1/+12
| | | | llvm-svn: 193622
* R600/SI: Add compute support for CI v2Tom Stellard2013-10-297-16/+35
| | | | | | | | v2: - Fix LDS size calculation Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 193621
* R600: Expand vector FSQRT opsTom Stellard2013-10-292-0/+55
| | | | llvm-svn: 193620
* DWARF parser: propery handle DW_FORM_ref_sig8 and fix Windows build.Alexey Samsonov2013-10-292-43/+42
| | | | | | Based on D2050 by Timur Iskhodzhanov. llvm-svn: 193619
* The asm printer has a mangler. Use it.Rafael Espindola2013-10-293-7/+4
| | | | llvm-svn: 193618
* The AsmPrinter has a Mangler. Use it.Rafael Espindola2013-10-293-8/+6
| | | | llvm-svn: 193617
* The asm printer has a mangler. Don't keep a second pointer to it.Rafael Espindola2013-10-291-10/+11
| | | | llvm-svn: 193616
* [asan] increase the max malloc size from 8Gb to 64GbKostya Serebryany2013-10-291-1/+1
| | | | llvm-svn: 193615
* clang-format: Option to control spacing in template argument lists.Daniel Jasper2013-10-294-3/+39
| | | | | | | | | | | Same as SpacesInParentheses, this option allows adding a space inside the '<' and '>' of a template parameter list. Patch by Christopher Olsen. This fixes llvm.org/PR17301. llvm-svn: 193614
OpenPOWER on IntegriCloud