summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [NVPTX] Add a new test case for the newly-enabled call handlingJustin Holewinski2012-05-251-0/+26
| | | | | | NV_CONTRIB llvm-svn: 157485
* boundschecking:Nuno Lopes2012-05-254-50/+179
| | | | | | | add support for select add experimental support for alloc_size metadata llvm-svn: 157481
* Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCallJustin Holewinski2012-05-2530-290/+343
| | | | | | | | | | to pass around a struct instead of a large set of individual values. This cleans up the interface and allows more information to be added to the struct for future targets without requiring changes to each and every target. NV_CONTRIB llvm-svn: 157479
* test/CodeGen/X86/bigstructret.ll: Suppress one test. It is ↵NAKAMURA Takumi2012-05-251-12/+0
| | | | | | msvc-incompatible. (compatible to mingw32 and netbsd, though) llvm-svn: 157474
* test/CodeGen/X86/bigstructret.ll: Relax stack offsets for hosts of ↵NAKAMURA Takumi2012-05-251-2/+2
| | | | | | stack-align=8, eg. win32 and netbsd. llvm-svn: 157471
* Make the reassociation pass more powerful so that it can handle expressionsDuncan Sands2012-05-252-256/+410
| | | | | | | | | | | | | | | | | with arbitrary topologies (previously it would give up when hitting a diamond in the use graph for example). The testcase from PR12764 is now reduced from a pile of additions to the optimal 1617*%x0+208. In doing this I changed the previous strategy of dropping all uses for expression leaves to one of dropping all but one use. This works out more neatly (but required a bunch of tweaks) and is also safer: some recently fixed bugs during recursive linearization were because the linearization code thinks it completely owns a node if it has no uses outside the expression it is linearizing. But if the node was also in another expression that had been linearized (and thus all uses of the node from that expression dropped) then the conclusion that it is completely owned by the expression currently being linearized is wrong. Keeping one use from within each linearized expression avoids this kind of mistake. llvm-svn: 157467
* misched: trace formattingAndrew Trick2012-05-252-7/+7
| | | | llvm-svn: 157455
* Early-continue.Reducing indentation.Bill Wendling2012-05-251-8/+7
| | | | llvm-svn: 157451
* Don't call exit from a runtime.Bill Wendling2012-05-251-2/+6
| | | | llvm-svn: 157450
* Compress MCRegisterInfo register name tables.Jakob Stoklund Olesen2012-05-253-9/+25
| | | | | | | Store (debugging) register names as offsets into a string table instead of as char pointers. llvm-svn: 157449
* Simplify code for calling a function where CanLowerReturn fails, fixing a ↵Eli Friedman2012-05-255-45/+48
| | | | | | small bug in the process. llvm-svn: 157446
* Silence unused variable warnings from when assertions are disabled.Kaelyn Uhrain2012-05-241-0/+2
| | | | llvm-svn: 157438
* misched: Use the same scheduling heuristics with -misched-topdown/bottomup.Andrew Trick2012-05-241-2/+16
| | | | | | (except the part about choosing direction) llvm-svn: 157437
* Shrink.Jakob Stoklund Olesen2012-05-241-7145/+18
| | | | llvm-svn: 157433
* Add support for range expressions in TableGen foreach loops.Jakob Stoklund Olesen2012-05-243-19/+77
| | | | | | | | | | | | Like this: foreach i = 0-127 in ... Use braces for composite ranges: foreach i = {0-3,9-7} in ... llvm-svn: 157432
* Don't put TGParser scratch results in the output.Jakob Stoklund Olesen2012-05-243-6/+9
| | | | | | Only fully expanded Records should go into RecordKeeper. llvm-svn: 157431
* Simplify TGParser::ProcessForEachDefs.Jakob Stoklund Olesen2012-05-242-103/+72
| | | | | | Use static type checking. llvm-svn: 157430
* misched: Trace regpressure.Andrew Trick2012-05-241-2/+4
| | | | llvm-svn: 157429
* misched: Give each ReadyQ a unique IDAndrew Trick2012-05-241-36/+45
| | | | llvm-svn: 157428
* misched: Added ScoreboardHazardRecognizer.Andrew Trick2012-05-244-50/+252
| | | | | | | | | | | | | | | | | | | The Hazard checker implements in-order contraints, or interlocked resources. Ready instructions with hazards do not enter the available queue and are not visible to other heuristics. The major code change is the addition of SchedBoundary to encapsulate the state at the top or bottom of the schedule, including both a pending and available queue. The scheduler now counts cycles in sync with the hazard checker. These are minimum cycle counts based on known hazards. Targets with no itinerary (x86_64) currently remain at cycle 0. To fix this, we need to provide some maximum issue width for all targets. We also need to add the concept of expected latency vs. minimum latency. llvm-svn: 157427
* misched: Release bottom roots in reverse order.Andrew Trick2012-05-241-9/+23
| | | | llvm-svn: 157426
* misched: rename ReadyQ classAndrew Trick2012-05-241-8/+9
| | | | llvm-svn: 157425
* misched: copy comments so compareRPDelta is readable by itself.Andrew Trick2012-05-241-1/+4
| | | | llvm-svn: 157424
* regpressure: Added RegisterPressure::dumpAndrew Trick2012-05-242-0/+20
| | | | llvm-svn: 157423
* regpressure: physreg livein/out fixAndrew Trick2012-05-241-2/+2
| | | | llvm-svn: 157422
* Fix for CHECK-NOT misspelling.David Blaikie2012-05-241-1/+1
| | | | | | Patch by Nicklas Bo Jensen. llvm-svn: 157421
* Remove the PTX back-end and all of its artifacts (triple, etc.)Justin Holewinski2012-05-2495-9086/+97
| | | | | | | | This back-end was deprecated in favor of the NVPTX back-end. NV_CONTRIB llvm-svn: 157417
* Teach tblgen's set theory "sequence" operator to support an optional stride ↵Owen Anderson2012-05-243-4/+21
| | | | | | operand. llvm-svn: 157416
* Typo. Patch by Nicklas Bo Jensen <nbjensen@gmail.com>.Chad Rosier2012-05-241-1/+1
| | | | llvm-svn: 157415
* Turn on mips16 pseudo op when compiling for mips16.Akira Hatanaka2012-05-242-1/+10
| | | | | | | | Expand test case for this. Patch by Reed Kotler. llvm-svn: 157410
* Enable Mips16 compiler to compile a null program.Akira Hatanaka2012-05-245-6/+39
| | | | | | | | First code from the Mips16 compiler. Includes trivial test program. Patch by Reed Kotler. llvm-svn: 157408
* Silence Clang's -Wlogical-op-parentheses warning.David Blaikie2012-05-241-1/+1
| | | | | | I'm not sure it's really worth expressing this as a range rather than 3 specific equalities, but it doesn't seem fundamentally wrong either. llvm-svn: 157398
* Add half support to LLVM (for OpenCL)Tobias Grosser2012-05-247-13/+76
| | | | | | | | | | Submitted by: Anton Lokhmotov <Anton.Lokhmotov@arm.com> Approved by: o Anton Korobeynikov o Micah Villmow o David Neto llvm-svn: 157393
* Testing commit accessMeador Inge2012-05-241-1/+0
| | | | llvm-svn: 157389
* PR1255 related changes (case ranges):Stepan Dyatkovskiy2012-05-242-44/+111
| | | | | | | LowerSwitch::Clusterify : main functinality was replaced with CRSBuilder::optimize, so big part of Clusterify's code was reduced. test/Transform/LowerSwitch/feature.ll - this test was refactored: grep + count was replaced with FileCheck usage. llvm-svn: 157384
* Fix -Wcovered-switch-default warning.Patrik Hägglund2012-05-241-1/+0
| | | | llvm-svn: 157381
* Convert assert(0) to llvm_unreachable.Craig Topper2012-05-245-31/+20
| | | | llvm-svn: 157380
* Remove old release notes. Ready them for additions from current developmentBill Wendling2012-05-241-245/+96
| | | | | | cycle. llvm-svn: 157378
* Mark some static arrays as const.Craig Topper2012-05-245-10/+10
| | | | llvm-svn: 157377
* Use uint16_t to store registers in static tables. Matches other tables.Craig Topper2012-05-241-5/+5
| | | | llvm-svn: 157375
* Use uint16_t to store register number in static tables to match other tables.Craig Topper2012-05-241-7/+7
| | | | llvm-svn: 157374
* Make some opcode tables static and const. Allows code to avoid making copies ↵Craig Topper2012-05-241-173/+219
| | | | | | to pass the tables around. llvm-svn: 157373
* Reflect that tblgen is now llvm-tblgenJoel Jones2012-05-241-6/+7
| | | | llvm-svn: 157371
* Mark a couple arrays as static and const. Use array_lengthof instead of ↵Craig Topper2012-05-242-6/+6
| | | | | | sizeof/sizeof. llvm-svn: 157369
* Mark a static array as const.Craig Topper2012-05-241-1/+1
| | | | llvm-svn: 157368
* Mark a static table as const. Shrink opcode size in static tables to ↵Craig Topper2012-05-241-14/+9
| | | | | | uint16_t. Simplify loop iterating over one of those tables. No functional change intended. llvm-svn: 157367
* Tidy up naming for consistency and other cleanup. No functional change ↵Chad Rosier2012-05-231-10/+9
| | | | | | intended. llvm-svn: 157358
* Add a test case for global live range splitting.Jakob Stoklund Olesen2012-05-231-0/+27
| | | | llvm-svn: 157357
* Add a last resort tryInstructionSplit() to RAGreedy.Jakob Stoklund Olesen2012-05-232-1/+87
| | | | | | | | | | | | | Live ranges with a constrained register class may benefit from splitting around individual uses. It allows the remaining live range to use a larger register class where it may allocate. This is like spilling to a different register class. This is only attempted on constrained register classes. <rdar://problem/11438902> llvm-svn: 157354
* Forgot to reverse conditional.Bill Wendling2012-05-231-1/+1
| | | | llvm-svn: 157349
OpenPOWER on IntegriCloud