aboutsummaryrefslogtreecommitdiff
path: root/include/llvm
AgeCommit message (Collapse)Author
2013-02-19ELF symbol table field st_other support, Jack Carter
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175561 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-19Simplify code. No functionality change.Jakub Staszak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175559 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-19Fix a bug in mayHaveSideEffects. Functions that do not return are now ↵Nadav Rotem
considered as instructions with side effects. rdar://13227456 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175553 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-19Remove my bogus MapVector::erase() with a narrower ::pop_back(), and add a ↵Douglas Gregor
unit test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175538 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-19Fix initialization-order bug in llvm::Support::TimeValue. TimeValue::now() ↵Alexey Samsonov
is explicitly called during module initialization of lib/Support/Process.cpp. It reads the field of global object PosixZeroTime, which is not guaranteed to be initialized at this point. Found by AddressSanitizer with -fsanitize=init-order option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175509 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-19Grammar.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175493 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Add some convenience methods for querying function attributes.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175469 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments.David Blaikie
Also removes some redundant DNI comments on function declarations already using the macro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175466 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Support for HiPE-compatible code emission, patch by Yiannis Tsiouris.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175457 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Use llvm::cast instead of reinterpret_cast.Jakub Staszak
Also, GetElementPtrInst::getType() method returns SequentialType now, instead of PointerType. There wasn't any issue yet, so no testcase attached. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175452 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Add front/back/erase to MapVector.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175449 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Futureproof AttrBuild if we ever have more than 64 attr enum values.Benjamin Kramer
Currently we're at 34. Bitset should compile into virtually the same code as uint64_t here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175437 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Add `unsigned DISubprogram::getFlags() const` for DragonEgg.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175430 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Add `DIFile DISubprogram::getFile() const` for DragonEgg.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175428 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-18Narrow the return types of a few DIBuilder utility functions.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175421 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-17Remove use of reverse iterators in repairIntervalsInRange(). While they wereCameron Zwarich
arguably better than forward iterators for this use case, they are confusing and there are some implementation problems with reverse iterators and MI bundles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175393 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-17Use ArrayRef instead of a reference to a SmallVectorImpl.Cameron Zwarich
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175385 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-17Add support for updating the LiveIntervals of registers used by 'exotic'Cameron Zwarich
terminators that actually have register uses when splitting critical edges. This commit also introduces a method repairIntervalsInRange() on LiveIntervals, which allows for repairing LiveIntervals in a small range after an arbitrary target hook modifies, inserts, and removes instructions. It's pretty limited right now, but I hope to extend it to support all of the things that are done by the convertToThreeAddress() target hooks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175382 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16Remove comma at the end of enum. Still my favourite C++11 feature.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175372 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16Turn the enum attributes DenseSet in AttrBuilder into a set of bits.Benjamin Kramer
Avoids malloc and is a lot denser. We lose iteration over target independent attributes, but that's a strange interface anyways and didn't have any users outside of AttrBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175370 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16Use const reference instead of vector object when passing an argument toJakub Staszak
updateScheduledPressure method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175362 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16Add even more constatness in MachineDominators.h.Jakub Staszak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175358 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16Add some constantness in Machine Dominators.Jakub Staszak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175344 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16Remove trailing spaces.Jakub Staszak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175343 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16[ELF] Add STN_UNDEF.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175338 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-16[ms-inline asm] Do not omit the frame pointer if we have ms-inline assembly.Chad Rosier
If the frame pointer is omitted, and any stack changes occur in the inline assembly, e.g.: "pusha", then any C local variable or C argument references will be incorrect. I pass no judgement on anyone who would do such a thing. ;) rdar://13218191 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175334 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15Pacify -Wnon-virtual-dtorMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175324 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15Use the 'target-features' and 'target-cpu' attributes to reset the subtarget ↵Bill Wendling
features. If two functions require different features (e.g., `-mno-sse' vs. `-msse') then we want to honor that, especially during LTO. We can do that by resetting the subtarget's features depending upon the 'target-feature' attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175314 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15capitalize SCEV to match the current naming conventionSebastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175302 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15add ScevApplyRewriterSebastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175294 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15add SCEVParameterRewriterSebastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175293 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15BBVectorize: Cap the number of candidate pairs in each instruction groupHal Finkel
For some basic blocks, it is possible to generate many candidate pairs for relatively few pairable instructions. When many (tens of thousands) of these pairs are generated for a single instruction group, the time taken to generate and rank the different vectorization plans can become quite large. As a result, we now cap the number of candidate pairs within each instruction group. This is done by closing out the group once the threshold is reached (set now at 3000 pairs). Although this will limit the overall compile-time impact, this may not be the best way to achieve this result. It might be better, for example, to prune excessive candidate pairs after the fact the prevent the generation of short, but highly-connected groups. We can experiment with this in the future. This change reduces the overall compile-time slowdown of the csa.ll test case in PR15222 to ~5x. If 5x is still considered too large, a lower limit can be used as the default. This represents a functionality change, but only for very large inputs (thus, there is no regression test). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175251 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-14Mark getRawBits const.Preston Gurd
Patch by Tyler Nowicki. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175218 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-14include/llvm/Object/ELF.h: do debug checks only when NDEBUGDmitry Vyukov
validateSymbol() is called all over the place, and it seems it's a debug check. It significantly speedups llvm-symbolizer used in tsan/asan/msan. validateSymbol() is the second hot function and accounts for 15% of runtime. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175192 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-14Add deprecation of neverHasSideEffects to documentation comments.Tim Northover
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175175 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-14Add missing typename to unbreak the MSVC 2012 build.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175129 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13llvm-gcc -pedantic warns about C++ comments in C90 mode even if they'reAlex Rosenberg
inside an #if 0 block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175098 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13Fix iterator definitions for ImmutableSet and ImmutableMap.Ryan Govostes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175097 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13Add iterator_traits to ImmutableMap and ImmutableSet.Ryan Govostes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175085 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13Metadata for annotating loops as parallel. The first consumer for this Pekka Jaaskelainen
metadata is the loop vectorizer. See the documentation update for more info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13Fix MSan annotations inclusion guard.Evgeniy Stepanov
#cmakedefine does not behave the way I though it was. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175050 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13Add some accessor and query methods for retrieving Attribute objects and such.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175046 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13Remove unnecessary condtional assignment. The next line ignores the result ↵Craig Topper
of the assignment with the same condition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175042 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-13use memcpy instead of dubious union to type pun two values,Chris Lattner
thanks to David Blaike for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175032 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-12Cleaned up some leftover legacy-JIT localmods.Eli Bendersky
Ran all sandboxed translator tests for x86 and x64 locally. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3183 Review URL: https://codereview.chromium.org/12224110
2013-02-12Add a default empty string to the 'value' of a string attribute.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175016 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-12[ms-inline-asm] Implement align directive (which is roughly equivalent to ↵Chad Rosier
.align). Also, allow _EMIT and __EMIT for the emit directive. We already do the same for TYPE, SIZE, and LENGTH. rdar://13200215 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175008 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-12This patch just fixes up various llvm formattingJack Carter
violations such as tabs, blanks at eol and long lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175007 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-12This CL supersedes the previous 2 outstanding CLs.Derek Schuff
1) Remove the ABIVerifyErrors class since it was just a wrapper with no real functionality. Replace with a simple string ostream for now. If in the future we want to have more intelligent error handling, we can come up with something that does what we actually decide we want. 2) When printing type errors in initializers, just print the Type that was invalid, rather than the whole initializer. This is implemented by having checkTypesInValue return the Type that was invalid, rather than just a boolean. 3) Check the type of each instruction (this is just to make sure it works from the function pass). Do not, however, make the passes dependent as in the previous CL (function passes cannot depend on module passes, but there are no checks for this, and opt does not enforce the dependence, and when llc tries to enforce it, very bad things happen) 2) Style cleanup to match LLVM style. Sorry for the multiple changes in one CL, hopefully it's still small enough to be reviewable. BUG= Review URL: https://codereview.chromium.org/12224109
2013-02-12Allow optionally generating pubnames section in DWARF info. IntroduceKrzysztof Parzyszek
option "generate-dwarf-pubnames" to control it, set to "false" by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174981 91177308-0d34-0410-b5e6-96231b3b80d8