summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a warning when there is a macro defintion that has named parameters butKevin Enderby2013-01-222-0/+118
| | | | | | | | | | | | | the body does not use them and it appears the body has positional parameters. This can cause unexpected results as in the added test case. As the darwin version of gas(1) which only supported positional parameters, happened to ignore the named parameters. Now that we want to support both styles of macros we issue a warning in this specific case. rdar://12861644 llvm-svn: 173199
* [mips] Implement MipsRegisterInfo::getRegPressureLimit.Akira Hatanaka2013-01-225-7/+31
| | | | llvm-svn: 173197
* More encapsulation work.Bill Wendling2013-01-227-63/+69
| | | | | | | Use the AttributeSet when we're talking about more than one attribute. Add a function that adds a single attribute. No functionality change intended. llvm-svn: 173196
* Have the integrated assembler give an error if $1 is used as an identifier inKevin Enderby2013-01-222-2/+12
| | | | | | | | | an expression. Currently this bug causes the line to be ignored in a release build and an assert in a debug build. rdar://13062484 llvm-svn: 173195
* [mips] Clean up code in MipsTargetLowering::LowerCall. No functional changeAkira Hatanaka2013-01-222-21/+14
| | | | | | intended llvm-svn: 173189
* Add forgotten test case for the x32 commitEli Bendersky2013-01-221-0/+24
| | | | llvm-svn: 173181
* X86: Make sure we account for the FMA4 register immediate value, otherwise ↵Benjamin Kramer2013-01-222-1/+62
| | | | | | | | rip-rel relocations will be off by one byte. PR15040. llvm-svn: 173176
* Initial patch for x32 ABI support.Eli Bendersky2013-01-226-5/+34
| | | | | | | | Add the x32 environment kind to the triple, and separate the concept of pointer size and callee save stack slot size, since they're not equal on x32. llvm-svn: 173175
* Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ↵Dmitri Gribenko2013-01-221-1/+1
| | | | | | | | ModuleID This is done to avoid odd test failures, like the one fixed in r171243. llvm-svn: 173163
* llvm-symbolizer: factor out bits of the tool into separate ↵Alexey Samsonov2013-01-224-288/+381
| | | | | | LLVMSymbolize.{h,cpp} files. No functionality change. llvm-svn: 173159
* [msan] Export the value of msan-keep-going flag for the runtime.Evgeniy Stepanov2013-01-221-0/+3
| | | | llvm-svn: 173156
* [msan] Do not insert check on volatile store.Evgeniy Stepanov2013-01-222-4/+15
| | | | | | Volatile bitfields can cause valid stores of uninitialized bits. llvm-svn: 173153
* Fix truncation of relocation types in Support/ELF.hTim Northover2013-01-221-14/+14
| | | | | | | This is a follow-up to r171845, which fixes the same issue in the Support code. Only targets with >256 relocations (principally AArch64) should be affected. llvm-svn: 173151
* Begin fleshing out an interface in TTI for modelling the costs ofChandler Carruth2013-01-225-66/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | generic function calls and intrinsics. This is somewhat overlapping with an existing intrinsic cost method, but that one seems targetted at vector intrinsics. I'll merge them or separate their names and use cases in a separate commit. This sinks the test of 'callIsSmall' down into TTI where targets can control it. The whole thing feels very hack-ish to me though. I've left a FIXME comment about the fundamental design problem this presents. It isn't yet clear to me what the users of this function *really* care about. I'll have to do more analysis to figure that out. Putting this here at least provides it access to proper analysis pass tools and other such. It also allows us to more cleanly implement the baseline cost interfaces in TTI. With this commit, it is now theoretically possible to simplify much of the inline cost analysis's handling of calls by calling through to this interface. That conversion will have to happen in subsequent commits as it requires more extensive restructuring of the inline cost analysis. The CodeMetrics class is now really only in the business of running over a block of code and aggregating the metrics on that block of code, with the actual cost evaluation done entirely in terms of TTI. llvm-svn: 173148
* ADT/SparseMultiSetTest.cpp: Try to appease cygwin-clang on stage2, take two. ↵NAKAMURA Takumi2013-01-221-1/+1
| | | | | | [-Wsign-compare] llvm-svn: 173144
* Fix missed out llvm-stress after APFloat change.Tim Northover2013-01-221-3/+1
| | | | llvm-svn: 173141
* Make APFloat constructor require explicit semantics.Tim Northover2013-01-2217-102/+159
| | | | | | | | | Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate. llvm-svn: 173138
* SparseMultiSet.h: Add suggested parentheses.NAKAMURA Takumi2013-01-221-2/+2
| | | | llvm-svn: 173128
* ADT/SparseMultiSetTest.cpp: Try to appease cygwin-clang (libstdc++-4.5) on ↵NAKAMURA Takumi2013-01-221-2/+2
| | | | | | stage2. [-Wsign-compare] llvm-svn: 173127
* This test is only supposed to test that the objc-arc alias analysisMichael Gottesman2013-01-221-1/+1
| | | | | | | allows for gvn to perform certain optimizations. Thus the runline should only contain -objc-arc-aa, not the full -objc-arc. llvm-svn: 173126
* ErrorOrTest.cpp: Check existence of EXPECT_DEBUG_DEATH. It is not always ↵NAKAMURA Takumi2013-01-221-0/+2
| | | | | | available. llvm-svn: 173123
* [MC/Mach-O] Load commands are supposed to 8-byte aligned on 64-bit.Daniel Dunbar2013-01-222-8/+17
| | | | llvm-svn: 173120
* [CMake] bugpoint-passes should not be built in "all", when LLVM_BUILD_TOOLS ↵NAKAMURA Takumi2013-01-221-0/+4
| | | | | | is OFF. llvm-svn: 173112
* Remove target triple from an LSR test.Andrew Trick2013-01-221-1/+0
| | | | | | Manish already fixed this test to work with NoTTI. llvm-svn: 173110
* Add a new method that adds the AttributeSet at the given index. No ↵Bill Wendling2013-01-222-10/+14
| | | | | | functional change. llvm-svn: 173109
* Add the attributes that are passed in instead of the ones we're merging into.Bill Wendling2013-01-221-2/+2
| | | | llvm-svn: 173108
* Remove unused method.Bill Wendling2013-01-211-8/+0
| | | | llvm-svn: 173106
* Fix spellingJoel Jones2013-01-211-1/+1
| | | | llvm-svn: 173103
* Use AttributeSet instead of Attribute to verify things.Bill Wendling2013-01-211-53/+52
| | | | llvm-svn: 173101
* Have AttributeSet::getRetAttributes() return an AttributeSet instead of ↵Bill Wendling2013-01-215-33/+48
| | | | | | | | | Attribute. This further restricts the use of the Attribute class to the Attribute family of classes. llvm-svn: 173098
* Make AttributeSet::getFnAttributes() return an AttributeSet instead of an ↵Bill Wendling2013-01-216-54/+80
| | | | | | | | | Attribute. This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. llvm-svn: 173094
* Transform (sub 0, (zext bool to A)) to (sext bool to A) andPaul Redmond2013-01-214-4/+22
| | | | | | | | | (sub 0, (sext bool to A)) to (zext bool to A). Patch by Muhammad Ahmad Reviewed by Duncan Sands llvm-svn: 173093
* Docs for SparseMultiSetMichael Ilseman2013-01-211-0/+16
| | | | llvm-svn: 173092
* Fix some incorrectly named u10 / lu10 instructions.Richard Osborne2013-01-211-25/+12
| | | | llvm-svn: 173090
* Remove unneeded #include.Jakub Staszak2013-01-211-1/+0
| | | | llvm-svn: 173088
* Remove unused multiclass.Richard Osborne2013-01-211-12/+0
| | | | llvm-svn: 173087
* Add instruction encodings / disassembly support for u6 / lu6 instructions.Richard Osborne2013-01-213-59/+92
| | | | llvm-svn: 173086
* Add instruction encoding / disassembly support for ru6 / lru6 instructions.Richard Osborne2013-01-214-94/+177
| | | | llvm-svn: 173085
* Use correct format for the LDAWCP instruction (u6).Richard Osborne2013-01-211-7/+3
| | | | llvm-svn: 173083
* r173072 is causing some regressions on big endian hosts, I don't have time ↵Chris Lattner2013-01-211-49/+21
| | | | | | | | to debug it so revert it for now. llvm-svn: 173074
* rework the Bitstream reader to actually work a machine word at a time, ↵Chris Lattner2013-01-211-21/+49
| | | | | | | | | instead of 32-bits at a time. This cuts in half the number of virtual methods called to refill that word when compiling on a 64-bit host, and will make 64-bit read operations faster. llvm-svn: 173072
* Fix a heinous inefficiency introduced in r149918, wherein reading each byte of aChris Lattner2013-01-212-15/+8
| | | | | | | | BLOB (i.e., large, performance intensive data) in a bitcode file was switched to invoking one virtual method call per byte read. Now we do one virtual call per BLOB. llvm-svn: 173065
* Introduce a new data structure, the SparseMultiSet, and changes to the MI ↵Michael Ilseman2013-01-215-91/+804
| | | | | | | | scheduler to use it. A SparseMultiSet adds multiset behavior to SparseSet, while retaining SparseSet's desirable properties. Essentially, SparseMultiSet provides multiset behavior by storing its dense data in doubly linked lists that are inlined into the dense vector. This allows it to provide good data locality as well as vector-like constant-time clear() and fast constant time find(), insert(), and erase(). It also allows SparseMultiSet to have a builtin recycler rather than keeping SparseSet's behavior of always swapping upon removal, which allows it to preserve more iterators. It's often a better alternative to a SparseSet of a growable container or vector-of-vector. llvm-svn: 173064
* wean Blob handling logic off of banging on NextChar directly. Instead, makeChris Lattner2013-01-211-10/+13
| | | | | | | it reason about the current bit position, which is always independent of the underlying cursors word size. llvm-svn: 173063
* rename "SkipToWord" to "SkipToFourByteBoundary" since a word is not always 4 ↵Chris Lattner2013-01-212-6/+6
| | | | | | bytes. llvm-svn: 173062
* Fix a comment. Induction vars dont need to start at zero.Nadav Rotem2013-01-211-1/+1
| | | | llvm-svn: 173061
* R600/SI: Use unnormalized coordinates for sampling with the RECT target.Tom Stellard2013-01-212-0/+13
| | | | | | | | | Patch by: Michel Dänzer Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 173053
* R600/SI: Take target parameter for sample intrinsics.Tom Stellard2013-01-212-4/+4
| | | | | | | | | Patch by: Michel Dänzer Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 173052
* R600/SI: Derive all sample intrinsics from a single class.Tom Stellard2013-01-211-3/+5
| | | | | | | | | Patch by: Michel Dänzer Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 173051
* R600/SILowerControlFlow.cpp: Fix a warning. [-Wunused-variable]NAKAMURA Takumi2013-01-211-3/+2
| | | | llvm-svn: 173040
OpenPOWER on IntegriCloud