summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support to the two-address pass for updating LiveIntervals in many of theCameron Zwarich2013-02-202-14/+102
| | | | | | | common transformations. This includes updating repairIntervalsInRange() to handle more cases. llvm-svn: 175604
* Move the computation of the IsEarlyClobber flag into its own loop, since theCameron Zwarich2013-02-201-1/+5
| | | | | | | correct value is needed in every iteration of the loop for updating LiveIntervals. llvm-svn: 175603
* Modify LiveInterval::addRange() to match the comment about what it returns.Cameron Zwarich2013-02-201-2/+2
| | | | llvm-svn: 175602
* Add SlotIndexes::repairIndexesInRange(), which repairs SlotIndexes after addingCameron Zwarich2013-02-203-0/+68
| | | | | | | | | | and removing instructions. The implementation seems more complicated than it needs to be, but I couldn't find something simpler that dealt with all of the corner cases. Also add a call to repairIndexesInRange() from repairIntervalsInRange(). llvm-svn: 175601
* Make SlotIndex::getEntry() return unsigned to match IndexListEntry.Cameron Zwarich2013-02-201-1/+1
| | | | llvm-svn: 175600
* Fix a misunderstanding about how RegMaskBlocks works. This was caught byCameron Zwarich2013-02-201-1/+1
| | | | | | | assertions in the register allocator when running 'make check' without LiveVariables. llvm-svn: 175599
* Remove verification after PHIElimination when using LiveIntervals, and move itCameron Zwarich2013-02-202-3/+3
| | | | | | | after the two-address pass. The remaining problems in 'make check' are occurring later. llvm-svn: 175598
* Avoid recomputing an inserted instruction's SlotIndex.Cameron Zwarich2013-02-201-2/+1
| | | | llvm-svn: 175597
* Add preservation of SlotIndexes to PHIElimination.Cameron Zwarich2013-02-201-0/+1
| | | | llvm-svn: 175596
* Rename llvm::Optional<T>::Reset to 'reset' as per LLVM naming conventions.David Blaikie2013-02-202-4/+4
| | | | | | Code review feedback on r175580 from Jordan Rose. llvm-svn: 175595
* Replace SVal llvm::cast support to be well-defined.David Blaikie2013-02-2044-505/+579
| | | | | | See r175462 for another example/more details. llvm-svn: 175594
* Expand pseudos/macros:Reed Kotler2013-02-2016-25/+125
| | | | | | | | SltCCRxRy16, SltiCCRxImmX16, SltiuCCRxImmX16, SltuCCRxRy16 $T8 shows up as register $24 when emitted from C++ code so we had to change some tests that were already there for this functionality. llvm-svn: 175593
* [llvm-readobj] Add ELF .dynamic table dumping.Michael J. Spencer2013-02-206-9/+281
| | | | llvm-svn: 175592
* Lastly, a few synthetic children classes for Cocoa are availableEnrico Granata2013-02-201-3/+2
| | | | llvm-svn: 175591
* And the NSString formatter is not Python anymoreEnrico Granata2013-02-201-4/+3
| | | | llvm-svn: 175590
* Data formatters are not a *recent* addition...Enrico Granata2013-02-201-3/+2
| | | | llvm-svn: 175589
* intmax_t is long long on Darwin, not long.Jordan Rose2013-02-203-1/+26
| | | | | | <rdar://problem/11540697> llvm-svn: 175588
* Add a new 'type_visibility' attribute to allow users toJohn McCall2013-02-2013-91/+441
| | | | | | | | | | | | | | control the visibility of a type for the purposes of RTTI and template argument restrictions independently of how visibility propagates to its non-type member declarations. Also fix r175326 to not ignore template argument visibility on a template explicit instantiation when a member has an explicit attribute but the instantiation does not. The type_visibility work is rdar://11880378 llvm-svn: 175587
* Don't repeat the function name in the comment.Richard Smith2013-02-201-4/+4
| | | | llvm-svn: 175586
* [preprocessor] Split the MacroInfo class into two separate concepts, ↵Argyrios Kyrtzidis2013-02-2017-305/+322
| | | | | | | | | | | | | | | | | | | | | | | | | MacroInfo class for the data specific to a macro definition (e.g. what the tokens are), and MacroDirective class which encapsulates the changes to the "macro namespace" (e.g. the location where the macro name became active, the location where it was undefined, etc.) (A MacroDirective always points to a MacroInfo object.) Usually a macro definition (MacroInfo) is where a macro name becomes active (MacroDirective) but splitting the concepts allows us to better model the effect of modules to the macro namespace (also as a bonus it allows better modeling of push_macro/pop_macro #pragmas). Modules can have their own macro history, separate from the local (current translation unit) macro history; MacroDirectives will be used to model the macro history (changes to macro namespace). For example, if "@import A;" imports macro FOO, there will be a new local MacroDirective created to indicate that "FOO" became active at the import location. Module "A" itself will contain another MacroDirective in its macro history (at the point of the definition of FOO) and both MacroDirectives will point to the same MacroInfo object. Introducing the separation of macro concepts is the first part towards better modeling of module macros. llvm-svn: 175585
* Remove unneeded #include.Jakub Staszak2013-02-201-1/+0
| | | | llvm-svn: 175584
* Add missing #include.Jakub Staszak2013-02-201-0/+1
| | | | llvm-svn: 175583
* [analyzer] Account for the "interesting values" hash table resizing.Jordan Rose2013-02-201-3/+3
| | | | | | | | | | | RegionStoreManager::getInterestingValues() returns a pointer to a std::vector that lives inside a DenseMap, which is constructed on demand. However, constructing one such value can lead to constructing another value, which will invalidate the reference created earlier. Fixed by delaying the new entry creation until the function returns. llvm-svn: 175582
* Fix #includes, so we include only what we really need.Jakub Staszak2013-02-202-3/+2
| | | | llvm-svn: 175581
* Allow llvm::Optional to work with types without default constructors.David Blaikie2013-02-203-11/+221
| | | | | | | | | This generalizes Optional to require less from the T type by using aligned storage for backing & placement new/deleting the T into it when necessary. Also includes unit tests. llvm-svn: 175580
* Move part of APInt implementation from header to cpp file. These methodsJakub Staszak2013-02-202-38/+45
| | | | | | | require call cpp file anyway, so we wouldn't gain anything by keeping them inline. llvm-svn: 175579
* clear new map and initialize new variablePedro Artigas2013-02-201-0/+2
| | | | llvm-svn: 175578
* Add the function attributes from an inline asm call. These don't have ↵Bill Wendling2013-02-201-0/+8
| | | | | | declarations that set the attribute groups, so we must do it on our own. llvm-svn: 175577
* [ms-inline asm] Force the use of a base pointer if the MachineFunction includesChad Rosier2013-02-192-4/+6
| | | | | | | | | | | | | MS-style inline assembly. This is a follow-on to r175334. Forcing a FP to be emitted doesn't ensure it will be used. Therefore, force the base pointer as well. We now treat MS inline assembly in the same way we treat functions with dynamic stack realignment and VLAs. This guarantees the BP will be used to reference parameters and locals. rdar://13218191 llvm-svn: 175576
* PR15300: Support C++11 attributes on base-specifiers. We don't support any suchRichard Smith2013-02-1911-53/+129
| | | | | | | | attributes yet, so just issue the appropriate diagnostics. Also generalize the fixit for attributes-in-the-wrong-place code and reuse it here, if attributes are placed after the access-specifier or 'virtual' in a base specifier. llvm-svn: 175575
* Fixing a potential crasher where a synthetic value could return itself as ↵Enrico Granata2013-02-191-0/+9
| | | | | | its static value llvm-svn: 175574
* If RunThreadPlan is called on a thread that doesn't have a selected frame, ↵Jim Ingham2013-02-191-1/+13
| | | | | | | | select frame 0. <rdar://problem/13093321> llvm-svn: 175573
* [Driver][GNULD] Lookup .so files and default to dynamic output.Michael J. Spencer2013-02-192-0/+21
| | | | llvm-svn: 175572
* Update a portability kludge to keep it in sync with changes in the codeDan Gohman2013-02-191-2/+7
| | | | | | | which uses it. This is not ideal, but it ought to at least restore the behavior to what it was before. llvm-svn: 175571
* <rdar://problem/13147878>Enrico Granata2013-02-191-0/+14
| | | | | | | | | | Be more user-friendly about not having scripting enabled: a) if Python was built-out then tell people about it explicitly b) if we are told to use none as a scripting language, then tell people about that too This should limit the cases where the semi-cryptic error message "there is no embedded script interpreter in this mode." actually shows llvm-svn: 175570
* ELF symbol table field st_other support, Jack Carter2013-02-193-7/+12
| | | | | | | | | | | | excluding visibility bits. Mips (o32 abi) specific e_header setting. EF_MIPS_ABI_O32 needs to be set in the ELF header flags for o32 abi output. Contributer: Reed Kotler llvm-svn: 175569
* Remove unused variable.Jakub Staszak2013-02-191-2/+1
| | | | llvm-svn: 175568
* Minor cleanups. No functionality change.Jakub Staszak2013-02-191-10/+7
| | | | llvm-svn: 175567
* ELF symbol table field st_other support, Jack Carter2013-02-194-5/+27
| | | | | | | | | | | | excluding visibility bits. Mips (Mips16) specific e_header setting. EF_MIPS_ARCH_ASE_M16 needs to be set in the ELF header flags for Mips16. Contributer: Reed Kotler llvm-svn: 175566
* Remove unneeded #includes.Jakub Staszak2013-02-191-2/+0
| | | | llvm-svn: 175565
* ELF symbol table field st_other support, Jack Carter2013-02-195-9/+46
| | | | | | | | | | | excluding visibility bits. Mips (MicroMips) specific STO handling . The st_other field settig for STO_MIPS_MICROMIPS Contributer: Zoran Jovanovic llvm-svn: 175564
* ValueObjectSynthetic could be wrapping a ValueObjectDynamic. In that case, ↵Enrico Granata2013-02-192-4/+16
| | | | | | we want to report that the ValueObject is dynamic since synthetic values are supposed to be just their parent with different children llvm-svn: 175563
* Fix typos.Jakub Staszak2013-02-191-10/+10
| | | | llvm-svn: 175562
* ELF symbol table field st_other support, Jack Carter2013-02-197-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | excluding visibility bits. Generic STO handling at the Target level. The st_other field of the ELF symbol table is one byte in size. The first 2 bytes are used for generic visibility and are currently handled by llvm. The other six bits are processor specific and need to be set at the target level. A couple of notes: The new static methods for accessing and setting the "other" flags in include/llvm/MC/MCELF.h match the style guide and not the other methods in the file. I don't like the inconsistency, but feel I should follow the prescribed lowerUpper() convention. STO_ value definitions are not specified in gnu land as consistently as the STT_ and STB_ fields. Probably because the latter were defined in a standards doc and the former defined partially in code. I have stuck with the full byte definition of the flags. Contributer: Zoran Jovanovic llvm-svn: 175561
* Add obvious constantness.Jakub Staszak2013-02-191-2/+2
| | | | llvm-svn: 175560
* Simplify code. No functionality change.Jakub Staszak2013-02-191-4/+2
| | | | llvm-svn: 175559
* [ELF] Fix memory leak by deleting BumpPtr allocated objects.Michael J. Spencer2013-02-195-38/+73
| | | | llvm-svn: 175558
* Make the progress bar opt in (using the -P option.)Jim Ingham2013-02-191-5/+7
| | | | llvm-svn: 175557
* [analyzer] Don't accidentally strip off base object regions for lazy bindings.Jordan Rose2013-02-192-21/+212
| | | | | | | | | | | | If a base object is at a 0 offset, RegionStoreManager may find a lazy binding for the entire object, then try to attach a FieldRegion or grandparent CXXBaseObjectRegion on top of that (skipping the intermediate region). We now preserve as many layers of base object regions necessary to make the types match. <rdar://problem/13239840> llvm-svn: 175556
* ARM NEON: Don't need COPY_TO_REGCLASS in patternArnold Schwaighofer2013-02-191-3/+1
| | | | | | | | | | | | | | | | | In my previous commit: "Merge a f32 bitcast of a v2i32 extractelt A vectorized sitfp on doubles will get scalarized to a sequence of an extract_element of <2 x i32>, a bitcast to f32 and a sitofp. Due to the the extract_element, and the bitcast we will uneccessarily generate moves between scalar and vector registers." I added a pattern containing a copy_to_regclass. The copy_to_regclass is actually not needed. radar://13191881 llvm-svn: 175555
OpenPOWER on IntegriCloud