summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Simplify.Daniel Dunbar2010-12-221-6/+5
| | | | llvm-svn: 122401
* MC/Mach-O: Split out RecordARMRelocation for now, it is weird enough it isn'tDaniel Dunbar2010-12-221-0/+15
| | | | | | | clear how to keep in the generic path (yet). - Will revisit when it actually works. llvm-svn: 122400
* Add a generic expansion transform: A op (B op' C) -> (A op B) op' (A op C)Duncan Sands2010-12-226-73/+154
| | | | | | | | if both A op B and A op C simplify. This fires fairly often but doesn't make that much difference. On gcc-as-one-file it removes two "and"s and turns one branch into a select. llvm-svn: 122399
* ptx: add ld instruction and testChe-Liang Chiou2010-12-227-22/+225
| | | | llvm-svn: 122398
* Add some statistics, good for understanding how much more powerfulDuncan Sands2010-12-222-16/+60
| | | | | | instcombine is compared to instsimplify. llvm-svn: 122397
* If the unary operator is prefix and an lvalue (in C++), bindZhongxing Xu2010-12-222-6/+10
| | | | | | the location (l-value) to it. llvm-svn: 122396
* Fixes file extension for loadable modules on OS X.Oscar Fuentes2010-12-221-1/+7
| | | | | | Patch by Wesley Peck! llvm-svn: 122395
* Introduced raw_identifier token kind.Abramo Bagnara2010-12-2214-89/+115
| | | | llvm-svn: 122394
* The base type is not always pointer type. We may cast to a base reference.Zhongxing Xu2010-12-221-2/+8
| | | | llvm-svn: 122393
* Fix a bug in ReduceLoadWidth that wasn't handling extendingChris Lattner2010-12-222-4/+25
| | | | | | | | | | | | | | | | | | | | | loads properly. We miscompiled the testcase into: _test: ## @test movl $128, (%rdi) movzbl 1(%rdi), %eax ret Now we get a proper: _test: ## @test movl $128, (%rdi) movsbl (%rdi), %eax movzbl %ah, %eax ret This fixes PR8757. llvm-svn: 122392
* more cleanups, move a check for "roundedness" earlier to rejectChris Lattner2010-12-221-14/+20
| | | | | | unhanded cases faster and simplify code. llvm-svn: 122391
* Always blast through no-op casts when getting expr SVals.Zhongxing Xu2010-12-221-6/+1
| | | | llvm-svn: 122390
* reduce indentation and improve comments, no functionality change.Chris Lattner2010-12-221-51/+53
| | | | llvm-svn: 122389
* After inlining the CXXConstructExpr, bind the temporary object region to it.Zhongxing Xu2010-12-223-12/+22
| | | | | | | | | | | This change is necessary when the variable is a const reference and we need the l-value of the construct expr. After that, when binding the variable, recover the lazy compound value when the variable is not a reference. In Environment, use the value of a no-op cast expression when it has one. Otherwise, blast-through it. llvm-svn: 122388
* Redesign the way anonymous fields are handled in designated-initializers.Francois Pichet2010-12-224-88/+32
| | | | | | Previously designated anonymous fields were found via name lookup. This redesign uses the fact that an IndirectFieldDecl declaration will always follow an anonymous implicit field to remove the special case of name lookup. llvm-svn: 122387
* RegisterContextLLDB.cpp (InitializeNonZerothFrame): If we get aJason Molenda2010-12-222-6/+14
| | | | | | | | | | | 0 mid-stack, stop backtracing. SectionLoadList.cpp (ResolveLoadAddress): Don't assert on an out-of-range address, just return an invalid Address object. The unwinder may be passing in invalid addresses on the final stack frame and the assert is a problem. llvm-svn: 122386
* Don't generate carry bit when loading immediate values on the Microblaze.Wesley Peck2010-12-222-2/+2
| | | | llvm-svn: 122385
* Add support for some of the LLVM atomic operations to the MBlaze backend.Wesley Peck2010-12-223-156/+386
| | | | llvm-svn: 122384
* Fix some typos in the docstrings and also update the test method names.Johnny Chen2010-12-221-13/+12
| | | | llvm-svn: 122382
* Modeling the carry bit in the MSR register of the MicroBlaze.Wesley Peck2010-12-223-83/+140
| | | | llvm-svn: 122381
* Add test cases for registering a listener object with the broadcaster of a ↵Johnny Chen2010-12-221-16/+126
| | | | | | | | | process and waiting for two expected state changed events to arrive: "running" followed by "stopped". llvm-svn: 122380
* Fix a regression introduced into the MBlaze delay slot filler.Wesley Peck2010-12-221-6/+25
| | | | llvm-svn: 122379
* Give GVN back the ability to perform simple conditional propagation on ↵Owen Anderson2010-12-212-52/+137
| | | | | | | | | conditional branch values. I still think that LVI should be handling this, but that capability is some ways off in the future, and this matters for some significant benchmarks. llvm-svn: 122378
* GCC objects to the two sides of a conditional expression having different enumMatt Beaumont-Gay2010-12-211-2/+2
| | | | | | | types, but they're just getting converted to unsigned anyway, so cast first (and ask questions later). llvm-svn: 122377
* Remove dead code.Owen Anderson2010-12-211-9/+0
| | | | llvm-svn: 122371
* In DelayForLiveRegsBottomUp, handle instructions that read and writeAndrew Trick2010-12-211-15/+4
| | | | | | | the same physical register. Simplifies the fix from the previous checkin r122211. llvm-svn: 122370
* Tweak the checking of class template partial specialization argumentsDouglas Gregor2010-12-211-4/+16
| | | | | | | | to cope with parameter packs. This is a band-aid I will be revisiting this section when I implement declaration matching semantics for variadic templates. llvm-svn: 122369
* whitespaceAndrew Trick2010-12-211-42/+42
| | | | llvm-svn: 122368
* Add a hack to work around the lack of proper type-source info in a pack ↵Douglas Gregor2010-12-211-1/+8
| | | | | | expansion TypeLoc llvm-svn: 122367
* Reapply 122353-122355 with fixes. 122354 was wrong;Dale Johannesen2010-12-213-7/+44
| | | | | | | | the shift type was needed one place, the shift count type another. The transform in 123555 had the same problem. llvm-svn: 122366
* Add some const qualifiersDouglas Gregor2010-12-211-2/+2
| | | | llvm-svn: 122365
* Add some x86 specific dagcombines for conditional increments.Benjamin Kramer2010-12-212-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (add Y, (sete X, 0)) -> cmp X, 1; adc 0, Y (add Y, (setne X, 0)) -> cmp X, 1; sbb -1, Y (sub (sete X, 0), Y) -> cmp X, 1; sbb 0, Y (sub (setne X, 0), Y) -> cmp X, 1; adc -1, Y for unsigned foo(unsigned a, unsigned b) { if (a == 0) b++; return b; } we now get: foo: cmpl $1, %edi movl %esi, %eax adcl $0, %eax ret instead of: foo: testl %edi, %edi sete %al movzbl %al, %eax addl %esi, %eax ret llvm-svn: 122364
* For member pointer conversions potentially involving derived-to-baseDouglas Gregor2010-12-212-4/+7
| | | | | | | | | conversions, make sure that the (possibly) derived type is complete before looking for base classes. Finishes the fix for PR8801. llvm-svn: 122363
* GVN's Expression is not POD-like (it contains a SmallVector). Simplify code ↵Benjamin Kramer2010-12-211-13/+3
| | | | | | while at it. llvm-svn: 122362
* When searching for the instantiation of a locally-scoped tagDouglas Gregor2010-12-212-5/+28
| | | | | | | declaration, also look for an instantiation of its previous declarations. Fixes PR8801. llvm-svn: 122361
* Revert 122353-122355 for the moment, they broke stuff.Dale Johannesen2010-12-213-42/+6
| | | | llvm-svn: 122360
* Simplify EvaluateAsAbsolute now that EvaluateAsRelocatableImpl does allRafael Espindola2010-12-211-19/+5
| | | | | | the folding it can. llvm-svn: 122359
* Don't relax org or align. They change size as the relaxation happens, but theyRafael Espindola2010-12-212-62/+30
| | | | | | | are not actually relaxed. For example, a section with only alignments will never needs relaxation. llvm-svn: 122356
* Add a new transform to DAGCombiner.Dale Johannesen2010-12-212-0/+36
| | | | llvm-svn: 122355
* Get the type of a shift from the shift, not from its shiftDale Johannesen2010-12-212-4/+4
| | | | | | | | count operand. These should be the same but apparently are not always, and this is cleaner anyway. This improves the code in an existing test. llvm-svn: 122354
* Shift by the word size is invalid IR; don't create it.Dale Johannesen2010-12-211-2/+2
| | | | llvm-svn: 122353
* Rename the test methods to be more meaningful.Johnny Chen2010-12-211-8/+8
| | | | llvm-svn: 122352
* In C++, if the user redeclares a builtin function with a type that isDouglas Gregor2010-12-214-0/+29
| | | | | | | | | | | | | | | inconsistent with the type that the builtin *should* have, forget about the builtin altogether: we don't want subsequence analyses, CodeGen, etc., to think that we have a proper builtin function. C is protected from errors here because it allows one to use a library builtin without having a declaration, and detects inconsistent (re-)declarations of builtins during declaration merging. C++ was unprotected, and therefore would crash. Fixes PR8839. llvm-svn: 122351
* When determining which preprocessed entities to traverse in libclang,Douglas Gregor2010-12-214-1/+29
| | | | | | | | take into account the region of interest. Otherwise, we may fail to traverse some important preprocessed entity cursors. Fixes <rdar://problem/8554072>. llvm-svn: 122350
* fix some typosChris Lattner2010-12-211-2/+1
| | | | llvm-svn: 122349
* Fix test to be platform-agnosticDouglas Gregor2010-12-211-1/+1
| | | | llvm-svn: 122348
* Fix a major inconsistency in the representation of Objective-CDouglas Gregor2010-12-217-70/+56
| | | | | | | | | | | | | | | | | | | | classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the DeclContext in an ordering that doesn't necessarily reflect source order. The culprits were Sema::ActOnMethodDeclaration(), which did not perform the insertion of the just-created method declaration into the DeclContext for these Objective-C entities, and Sema::ActOnAtEnd(), which inserted all method declarations at the *end* of the DeclContext. With this fix in hand, clean up the code-completion actions for property setters/getters that worked around this brokenness in the AST. Fixes <rdar://problem/8062781>, where this problem manifested as poor token-annotation information, but this would have struck again in many other places. llvm-svn: 122347
* Revert 122341. It breaks some darwin tests.David Greene2010-12-213-50/+2
| | | | llvm-svn: 122346
* Fix indentation, add comment.Stuart Hastings2010-12-211-4/+6
| | | | llvm-svn: 122345
* Visit instructions deterministically. Use a FIFO so as to approximatelyDuncan Sands2010-12-211-11/+21
| | | | | | | visit instructions before their uses, since InstructionSimplify does a better job in that case. All this prompted by Frits van Bommel. llvm-svn: 122343
OpenPOWER on IntegriCloud