summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add mcr* and mr*c support to thumb targetsBruno Cardoso Lopes2011-01-204-2/+81
| | | | llvm-svn: 123917
* Diagnose when a virtual member function marked final is overridden.Anders Carlsson2011-01-204-19/+35
| | | | llvm-svn: 123916
* Disable this test until I can figure out why it's broken. Not xfailed because itMichael J. Spencer2011-01-201-0/+0
| | | | | | usese 100% CPU and times out, so it's annoying to run it. llvm-svn: 123915
* Merge test.Rafael Espindola2011-01-202-7/+9
| | | | llvm-svn: 123914
* Add some tests for reference-collapsing and referencing bindingDouglas Gregor2011-01-206-11/+78
| | | | | | | | | involving rvalue references, to start scoping out what is and what isn't implemented. In the process, tweak some standards citations, type desugaring, and teach the tentative parser about && in ptr-operator. llvm-svn: 123913
* Allow sign-extending of i8 and i16 to i128 on SPU. Kalle Raiskila2011-01-203-1/+28
| | | | llvm-svn: 123912
* At -O123 the early-cse pass is run before instcombine has run. According to myDuncan Sands2011-01-203-32/+218
| | | | | | | | | | | | | | | | auto-simplier the transform most missed by early-cse is (zext X) != 0 -> X != 0. This patch adds this transform and some related logic to InstructionSimplify and removes some of the logic from instcombine (unfortunately not all because there are several situations in which instcombine can improve things by making new instructions, whereas instsimplify is not allowed to do this). At -O2 this often results in more than 15% more simplifications by early-cse, and results in hundreds of lines of bitcode being eliminated from the testsuite. I did see some small negative effects in the testsuite, for example a few additional instructions in three programs. One program, 483.xalancbmk, got an additional 35 instructions, which seems to be due to a function getting an additional instruction and then being inlined all over the place. llvm-svn: 123911
* Refactor mcr* and mr*c instructions into classes with the same encoding. No ↵Bruno Cardoso Lopes2011-01-201-108/+46
| | | | | | functionality change. llvm-svn: 123910
* My editor's indent went crazy. Fix.Eric Christopher2011-01-201-1/+1
| | | | llvm-svn: 123909
* Expand invalid return values for umulo and smulo. Handle these similarlyEric Christopher2011-01-203-0/+56
| | | | | | | | | | to add/sub by doing the normal operation and then checking for overflow afterwards. This generally relies on the DAG handling the later invalid operations as well. Fixes the 64-bit part of rdar://8622122 and rdar://8774702. llvm-svn: 123908
* Correct itinerary entry for t2MOV_pic_ga_add_pc.Evan Cheng2011-01-201-1/+1
| | | | llvm-svn: 123907
* Add test.Evan Cheng2011-01-201-0/+9
| | | | llvm-svn: 123906
* Sorry, several patches in one.Evan Cheng2011-01-2016-223/+320
| | | | | | | | | | | | | | | | | | | | | | | | | | | | TargetInstrInfo: Change produceSameValue() to take MachineRegisterInfo as an optional argument. When in SSA form, targets can use it to make more aggressive equality analysis. Machine LICM: 1. Eliminate isLoadFromConstantMemory, use MI.isInvariantLoad instead. 2. Fix a bug which prevent CSE of instructions which are not re-materializable. 3. Use improved form of produceSameValue. ARM: 1. Teach ARM produceSameValue to look pass some PIC labels. 2. Look for operands from different loads of different constant pool entries which have same values. 3. Re-implement PIC GA materialization using movw + movt. Combine the pair with a "add pc" or "ldr [pc]" to form pseudo instructions. This makes it possible to re-materialize the instruction, allow machine LICM to hoist the set of instructions out of the loop and make it possible to CSE them. It's a bit hacky, but it significantly improve code quality. 4. Some minor bug fixes as well. With the fixes, using movw + movt to materialize GAs significantly outperform the load from constantpool method. 186.crafty and 255.vortex improved > 20%, 254.gap and 176.gcc ~10%. llvm-svn: 123905
* Fix the computation of alignment for fields of packed+aligned structs.John McCall2011-01-205-15/+69
| | | | | | Part of the fix for PR8413. llvm-svn: 123904
* Fixed the async packets (packets that need to be sent to the GDB server Greg Clayton2011-01-202-8/+25
| | | | | | | | | | | while the inferior is running) to be fast. The previous code would always cause the sender to timeout, yet still return success due to the way we were waiting for a value (incorrect value) to change. Now the ProcessGDBRemote plug-in has a public and private "is running" predicate. This allows things that need to send async packets to interrupt and wait for the private "is running" state to be flipped to false, and then resume quickly with no timeout. llvm-svn: 123903
* llvm-objdump: Remove redundant includes.Michael J. Spencer2011-01-201-2/+0
| | | | llvm-svn: 123902
* llvm-nm: Fix warning.Michael J. Spencer2011-01-201-2/+2
| | | | llvm-svn: 123901
* When instantiating member functions, propagate whether the member function ↵Anders Carlsson2011-01-202-0/+20
| | | | | | | | is marked 'final' and 'override'. Also, call CheckOverrideControl when instantiating member functions. llvm-svn: 123900
* Object: Add some tests!Michael J. Spencer2011-01-209-0/+76
| | | | llvm-svn: 123899
* Add llvm-objdumpMichael J. Spencer2011-01-205-4/+290
| | | | llvm-svn: 123898
* llvm-nm: Update to use the new LLVMObject library.Michael J. Spencer2011-01-203-32/+192
| | | | llvm-svn: 123897
* Object: Add ELF support.Michael J. Spencer2011-01-204-1/+711
| | | | llvm-svn: 123896
* Object: Add COFF Support.Michael J. Spencer2011-01-203-1/+372
| | | | llvm-svn: 123895
* When checking for functions marked override, ignore dependent contexts.Anders Carlsson2011-01-202-0/+19
| | | | llvm-svn: 123894
* Make CheckOverrideControl a member of Sema.Anders Carlsson2011-01-202-4/+6
| | | | llvm-svn: 123893
* Selection DAG scheduler register pressure heuristic fixes.Andrew Trick2011-01-201-8/+27
| | | | | | | | Added a check for already live regs before claiming HighRegPressure. Fixed a few cases of checking the wrong number of successors. Added some tracing until these heuristics are better understood. llvm-svn: 123892
* Check that a live range exists before shortening it. This fixes PR8989.Jakob Stoklund Olesen2011-01-201-3/+5
| | | | | | The live range may have been deleted earlier because of rematerialization. llvm-svn: 123891
* Add hidden -verify-coalescing to run the machine code verifier before and afterJakob Stoklund Olesen2011-01-201-0/+10
| | | | | | register coalescing. llvm-svn: 123890
* Made the DWARF + debug map symbol file parser be much more efficient when it ↵Greg Clayton2011-01-203-6/+36
| | | | | | | | | | isn't going to actually be used as the symbol file plug-in by looking only for suitable N_OSO symbols and avoiding sorting function (N_FUN) and global/static (N_GSYM/N_STSYM) symbols when there are no suitable N_OSO objects. llvm-svn: 123889
* Diagnose virtual member functions marked override but not overriding any ↵Anders Carlsson2011-01-204-7/+43
| | | | | | virtual member functions. llvm-svn: 123888
* Fix tests to be valid.Anders Carlsson2011-01-202-6/+25
| | | | llvm-svn: 123887
* gold: MinGW fix.Michael J. Spencer2011-01-201-0/+7
| | | | llvm-svn: 123886
* Add IsMarkedOverride and IsMarkedFinal flags to FunctionDecl (to be used by ↵Anders Carlsson2011-01-203-2/+19
| | | | | | CXXRecordDecl). llvm-svn: 123885
* Sparc backend: Implements a delay slot filler that attempt to fill delay slotsVenkatraman Govindaraju2011-01-203-8/+302
| | | | | | with useful instructions. llvm-svn: 123884
* Change the parser error to reflect that virt-specifiers are allowed on any ↵Anders Carlsson2011-01-202-4/+4
| | | | | | class member. llvm-svn: 123883
* Only allow virtual member functions to be marked 'override' and 'final'.Anders Carlsson2011-01-204-0/+41
| | | | llvm-svn: 123882
* Fixed the auto completion of objective C types with the new ExternalASTSource Greg Clayton2011-01-202-11/+25
| | | | | | changes that recently happened. llvm-svn: 123881
* Add silly test case.Anders Carlsson2011-01-201-0/+5
| | | | llvm-svn: 123880
* Update a comment.Cameron Zwarich2011-01-201-1/+1
| | | | llvm-svn: 123879
* Pass the VirtSpecifiers along to Sema::ActOnCXXMemberDeclarator.Anders Carlsson2011-01-204-4/+6
| | | | llvm-svn: 123878
* Remove an unnecessary #include.Cameron Zwarich2011-01-201-1/+0
| | | | llvm-svn: 123877
* Lazily initialize the 'final' and 'override' contextual keywords as ↵Anders Carlsson2011-01-203-7/+10
| | | | | | suggested by Doug. llvm-svn: 123876
* Add more parser tests for the override control keywords.Anders Carlsson2011-01-201-0/+7
| | | | llvm-svn: 123875
* Turns out that the previous commit also fixes this :-)Rafael Espindola2011-01-201-0/+7
| | | | llvm-svn: 123873
* Fix bug found by new clang warning.Jakob Stoklund Olesen2011-01-201-2/+2
| | | | llvm-svn: 123872
* Fix PR8884 by skipping transparent contexts. The test is for LikageSpec. IRafael Espindola2011-01-202-1/+13
| | | | | | | failed to find a case where an enum context would make a difference, but found PR9007 on the way. llvm-svn: 123871
* Back up both the register AND the stop state when calling functions.Jim Ingham2011-01-2014-57/+181
| | | | | | | Set the thread state to "bland" before calling functions so they don't inherit the pending signals and die. llvm-svn: 123869
* Add CharUnits::RoundUpToAlignment() to simplify rounding in character units.Ken Dyck2011-01-202-5/+11
| | | | llvm-svn: 123868
* When building a user-defined conversion sequence, keep track of theDouglas Gregor2011-01-204-3/+24
| | | | | | | declaration that name lookup actually found, so that we can use it for access checking later on. Fixes <rdar://problem/8876150>. llvm-svn: 123867
* Use only one API at a time.Eric Christopher2011-01-201-2/+1
| | | | llvm-svn: 123866
OpenPOWER on IntegriCloud