summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Replace LDriu*[bhdw]_indexed_V4 instructions with "def Pats".Jyotsna Verma2013-02-013-504/+33
| | | | llvm-svn: 174193
* Add appropriate TSFlags to the instructions that must be always extended.Jyotsna Verma2013-02-011-148/+147
| | | | llvm-svn: 174186
* InstSimplify: stripAndComputeConstantOffsets can be called with vectors of ↵Benjamin Kramer2013-02-012-10/+29
| | | | | | | | | | pointers too. Prepare it for vectors of pointers and handle simple cases. We don't handle complicated cases because accumulateConstantOffset bails on pointer vectors. Fixes selfhost on i386. llvm-svn: 174179
* Remove currently unused register decoder from AArch64.Tim Northover2013-02-011-14/+0
| | | | | | This should fix a warning when building this backend. llvm-svn: 174177
* Add explicit triples to AArch64 testsTim Northover2013-02-0176-83/+83
| | | | | | | | Only Linux is supported at the moment, and other platforms quickly fault. As a result these tests would fail on non-Linux hosts. It may be worth making the tests more generic again as more platforms are supported. llvm-svn: 174170
* Revert r174152. The shift amount may overflow and in that case this ↵Nadav Rotem2013-02-012-26/+0
| | | | | | transformation is illegal. llvm-svn: 174156
* Optimize shift lefts of a constant by a value plus constant into a single shift.Nadav Rotem2013-02-012-0/+26
| | | | llvm-svn: 174152
* [docs] Fixup fallout from other grammar fixup.Sean Silva2013-02-011-1/+1
| | | | | | | | | | | | My "excuse" for not refactoring the grammar here is to not diverge too far from the grammar in the comments of TGParser.cpp, since I'm not taking on the quest of majorly refactoring TGParser.cpp at the moment. One benefit of doing this is that Ideas for refactoring and clarifying the grammar in this document should translate almost immediately to beneficial refactorings that can be made to TGParser.cpp. llvm-svn: 174144
* [docs] Add missing colon to TableGen grammar.Sean Silva2013-02-011-1/+1
| | | | | | Spotted by Eli Bendersky. llvm-svn: 174143
* MachineModel: Inconsequential TableGen SubtargetEmitter fix.Andrew Trick2013-02-011-1/+15
| | | | | | | | Drive by fix. I noticed some missing logic that might bite future users. This shouldn't affect the final output on currently modeled targets. llvm-svn: 174142
* Remove some dead code, improve some asserts, and other assorted changes. No ↵Bill Wendling2013-02-012-29/+13
| | | | | | functionality change. llvm-svn: 174132
* Add a comment explaining an unavailable optimization.Dan Gohman2013-02-011-0/+28
| | | | llvm-svn: 174131
* Remove one of the odious 'Raw' methods.Bill Wendling2013-02-013-18/+5
| | | | llvm-svn: 174130
* Use iterators instead of relying upon a bitmask of attributes to remove ↵Bill Wendling2013-02-011-11/+17
| | | | | | attributes from an AttrBuilder. llvm-svn: 174123
* Rewrite instsimplify's handling if icmp on pointer values to remove theDan Gohman2013-02-012-56/+110
| | | | | | | | | | | | remaining use of AliasAnalysis concepts such as isIdentifiedObject to prove pointer inequality. @external_compare in test/Transforms/InstSimplify/compare.ll shows a simple case where a noalias argument can be equal to a global variable address, and while AliasAnalysis can get away with saying that these pointers don't alias, instsimplify cannot say that they are not equal. llvm-svn: 174122
* Fix another typo in the classof definitions that doesn't (currently)Chandler Carruth2013-02-011-1/+1
| | | | | | have any effect. Spotted by Eli in review, thanks!!! llvm-svn: 174121
* Add iterators to the AttributeSet class so that we can access the Attributes ↵Bill Wendling2013-01-312-0/+17
| | | | | | in a nice way. llvm-svn: 174120
* An alloca can be equal to an argument. It can't *alias* an alloca, but it couldDan Gohman2013-01-312-12/+13
| | | | | | | be equal, since there's nothing preventing a caller from correctly predicting the stack location of an alloca. llvm-svn: 174119
* Switch the code added in r173885 to use the new, shiny RTTIChandler Carruth2013-01-312-9/+5
| | | | | | | | | | | | | | | | | | | | | | | infrastructure on MCStreamer to test for whether there is an MCELFStreamer object available. This is just a cleanup on the AsmPrinter side of things, moving ad-hoc tests of random APIs to a direct type query. But the AsmParser completely broken. There were no tests, it just blindly cast its streamer to an MCELFStreamer and started manipulating it. I don't have a test case -- this actually failed on LLVM's own regression test suite. Unfortunately the failure only appears when the stars, compilers, and runtime align to misbehave when we read a pointer to a formatted_raw_ostream as-if it were an MCAssembler. =/ UBSan would catch this immediately. Many thanks to Matt for doing about 80% of the debugging work here in GDB, Jim for helping to explain how exactly to fix this, and others for putting up with the hair pulling that ensued during debugging it. llvm-svn: 174118
* Fix a think-o in the condition here. =[ I would commit the test thatChandler Carruth2013-01-311-1/+1
| | | | | | | | | caught this, but I want that in a separate commit in case there is a need to revert the actual functional bit as part of reverting other patches. This way, the commits relating to just getting the RTTI bits in place are separate from the functional changes that start using them. llvm-svn: 174117
* s/AttrBuilder::addAttributes/AttrBuilder::addAttribute/g because that's more ↵Bill Wendling2013-01-312-19/+19
| | | | | | descriptive of what it actually is. llvm-svn: 174116
* Fix a copy/paste-o that got missed because 'check' doesn't build lto.Chandler Carruth2013-01-311-1/+1
| | | | llvm-svn: 174115
* Give the MCStreamer class hierarchy LLVM RTTI facilities for use withChandler Carruth2013-01-3112-51/+104
| | | | | | | | | | | | | | | | isa<> and dyn_cast<>. In several places, code is already hacking around the absence of this, and there seem to be several interfaces that might be lifted and/or devirtualized using this. This change was based on a discussion with Jim Grosbach about how best to handle testing for specific MCStreamer subclasses. He said that this was the correct end state, and everything else was too hacky so I decided to just make it so. No functionality should be changed here, this is just threading the kind through all the constructors and setting up the classof overloads. llvm-svn: 174113
* Remove the AttrBuilder form of the Attribute::get creators.Bill Wendling2013-01-315-66/+69
| | | | | | | | | | | | | The AttrBuilder is for building a collection of attributes. The Attribute object holds only one attribute. So it's not really useful for the Attribute object to have a creator which takes an AttrBuilder. This has two fallouts: 1. The AttrBuilder no longer holds its internal attributes in a bit-mask form. 2. The attributes are now ordered alphabetically (hence why the tests have changed). llvm-svn: 174110
* Regenerate configure to hopefully fix buildbot breakage. Oh how I love autoconf.Richard Smith2013-01-311-9/+5
| | | | llvm-svn: 174108
* Update AMDGPURegisterInfo::eliminateFrameIndex() corresponding to r174083.NAKAMURA Takumi2013-01-312-0/+2
| | | | llvm-svn: 174106
* Add -Wno-nested-anon-types to -pedantic builds of LLVM. This Clang warningRichard Smith2013-01-315-4/+15
| | | | | | | | | | | | | | | | | | | catches uses of an extremely minor and widely-available C++ extension (which every C++ compiler I could find supports, but EDG and Clang reject in strict mode). The diagnosed code pattern looks like this: struct X { union { struct { int a; int b; } S; }; }; llvm-svn: 174103
* [lit] Add a test for internal shell execution behaviors.Daniel Dunbar2013-01-3110-0/+125
| | | | llvm-svn: 174102
* [lit] Change to raise InternalShellError for all command execution issues.Daniel Dunbar2013-01-311-4/+5
| | | | llvm-svn: 174101
* Document another instsimplify assumption.Dan Gohman2013-01-311-0/+7
| | | | llvm-svn: 174100
* R600: Fold clamp, neg, absTom Stellard2013-01-312-5/+49
| | | | | | | Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174099
* R600: Consider bitcast when folding const_address node.Tom Stellard2013-01-312-0/+11
| | | | | | | Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174098
* R600: Make store_dummy intrinsic more general by passing export typeTom Stellard2013-01-312-4/+9
| | | | | | | Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174097
* Remove unused variable, which should have been removed with r174083.Chad Rosier2013-01-311-1/+0
| | | | llvm-svn: 174094
* Linker: correctly link in dbg.declareManman Ren2013-01-313-2/+151
| | | | | | | | | | | | | | | | | | | This is a re-worked version of r174048. Given source IR: call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15 we used to generate call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29 !27 = metadata !{null} With this patch, we will correctly generate call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28 Looking up %argc.addr in ValueMap will return null, since %argc.addr is already correctly set up, we can use identity mapping. rdar://problem/13089880 llvm-svn: 174093
* Add support for emitting a string attribute.Bill Wendling2013-01-312-45/+77
| | | | | | | | | | Attributes that are strings are typically target-dependent attributes. They are of this form in the IR: "attr" "attr" = "val" llvm-svn: 174090
* [lit] Fix bug where InternalShellError messages were discarded.Daniel Dunbar2013-01-311-3/+2
| | | | | | - Also, change the exit code to match 'sh'. llvm-svn: 174089
* Add braces, so my head doesn't explode.Chad Rosier2013-01-311-1/+2
| | | | llvm-svn: 174088
* [lit] Fix a shell parsing bug with ';' not separated by whitespace.Daniel Dunbar2013-01-311-4/+9
| | | | | | - Testing finds bugs, who knew. llvm-svn: 174087
* Update AArch64 backend to changed eliminateFrameIndex interface.Tim Northover2013-01-312-13/+10
| | | | llvm-svn: 174086
* When lowering memcpys to loads and stores, make sure we don't promote alignmentsLang Hames2013-01-312-25/+61
| | | | | | past the natural stack alignment. llvm-svn: 174085
* [Dwarf] early exit to avoid creating dangling DIEsManman Ren2013-01-311-1/+6
| | | | | | | | | | | | We used to create children DIEs for a scope, then check whether ScopeDIE is null. If ScopeDIE is null, the children DIEs will be dangling. Other DIEs can link to those dangling DIEs, which are not emitted at all, causing dwarf error. The current testing case is 4k lines, from MultiSource/BenchMark/McCat/09-vor. rdar://problem/13071959 llvm-svn: 174084
* [PEI] Pass the frame index operand number to the eliminateFrameIndex function.Chad Rosier2013-01-3125-176/+139
| | | | | | | Each target implementation was needlessly recomputing the index. Part of rdar://13076458 llvm-svn: 174083
* interpreter: Fix errant fallthrough.Jim Grosbach2013-01-311-1/+3
| | | | llvm-svn: 174080
* Object: Fix errant fallthrough.Jim Grosbach2013-01-311-0/+1
| | | | llvm-svn: 174079
* RuntimeDyld: Fix errant fallthrough.Jim Grosbach2013-01-311-0/+1
| | | | llvm-svn: 174078
* Turn off missing field initializer warnings for gccEdwin Vane2013-01-311-0/+13
| | | | | | | | | gcc produces false positives for empty braces so turning the warning off. Instead, turning the warning on for clang so proper warnings aren't missed. Reviewers: dblaikie, chandlerc llvm-svn: 174073
* [lit] Add a test for the various ShTest format features.Daniel Dunbar2013-01-3116-0/+72
| | | | llvm-svn: 174072
* [lit] TestRunner: Eliminate failDueToStderr argument, which is now unused.Daniel Dunbar2013-01-311-9/+3
| | | | llvm-svn: 174071
* [lit] Delete the now-unused SyntaxCheckTest format.Daniel Dunbar2013-01-313-13/+1
| | | | | | - Also, kill the pointless LitFormats module. llvm-svn: 174070
OpenPOWER on IntegriCloud