- Dec 26, 2010
-
-
Chris Lattner authored
llvm-svn: 122560
-
Chris Lattner authored
llvm-svn: 122559
-
- Dec 25, 2010
-
-
Chris Lattner authored
rejected by the mc assembler. llvm-svn: 122557
-
Chris Lattner authored
llvm-svn: 122556
-
Chris Lattner authored
getOrEnforceKnownAlignment function, which simplifies the code and makes it stronger. llvm-svn: 122555
-
Chris Lattner authored
llvm-svn: 122554
-
Michael J. Spencer authored
llvm-svn: 122553
-
- Dec 24, 2010
-
-
Benjamin Kramer authored
Fix a thinko pointed out by Frits van Bommel: looking through global variables in isBytewiseValue is not safe. llvm-svn: 122550
-
Rafael Espindola authored
have a single point where targets test if a relocation is needed. llvm-svn: 122549
-
Benjamin Kramer authored
This allows us to compile "int cst[] = {-1, -1, -1};" into movl $-1, 16(%rsp) movq $-1, 8(%rsp) instead of movl _cst+8(%rip), %eax movl %eax, 16(%rsp) movq _cst(%rip), %rax movq %rax, 8(%rsp) llvm-svn: 122548
-
Daniel Dunbar authored
llvm-svn: 122547
-
Andrew Trick authored
llvm-svn: 122545
-
Andrew Trick authored
Fix a few cases where the scheduler is not checking for phys reg copies. The scheduling node may have a NULL DAG node, yuck. llvm-svn: 122544
-
Andrew Trick authored
DAG scheduling during isel. Most new functionality is currently guarded by -enable-sched-cycles and -enable-sched-hazard. Added InstrItineraryData::IssueWidth field, currently derived from ARM itineraries, but could be initialized differently on other targets. Added ScheduleHazardRecognizer::MaxLookAhead to indicate whether it is active, and if so how many cycles of state it holds. Added SchedulingPriorityQueue::HasReadyFilter to allowing gating entry into the scheduler's available queue. ScoreboardHazardRecognizer now accesses the ScheduleDAG in order to get information about it's SUnits, provides RecedeCycle for bottom-up scheduling, correctly computes scoreboard depth, tracks IssueCount, and considers potential stall cycles when checking for hazards. ScheduleDAGRRList now models machine cycles and hazards (under flags). It tracks MinAvailableCycle, drives the hazard recognizer and priority queue's ready filter, manages a new PendingQueue, properly accounts for stall cycles, etc. llvm-svn: 122541
-
Andrew Trick authored
llvm-svn: 122539
-
Cameron Zwarich authored
llvm-svn: 122537
-
Kevin Enderby authored
preprocessed .s files and matches darwin gas. rdar://8798690 Also fix a comment on the next line of AsmParser.cpp after this new code. llvm-svn: 122531
-
Jim Grosbach authored
llvm-svn: 122530
-
Owen Anderson authored
are not the low bits of x, but the bits that WILL be the low bits after the operation completes. llvm-svn: 122529
-
Evan Cheng authored
llvm-svn: 122528
-
Jim Grosbach authored
llvm-svn: 122524
-
Jim Grosbach authored
llvm-svn: 122523
-
- Dec 23, 2010
-
-
Bob Wilson authored
If the basic block containing the BCCi64 (or BCCZi64) instruction ends with an unconditional branch, that branch needs to be deleted before appending the expansion of the BCCi64 to the end of the block. llvm-svn: 122521
-
Owen Anderson authored
pipeline to be caught by instcombine, and it's not feasible to catch them in SimplifyCFG because the use-lists are in an inconsistent state at the point where it could know that it need to simplify them. Instead, have CodeGenPrepare look for trivially redundant PHIs as part of its general cleanup effort. llvm-svn: 122516
-
Chris Lattner authored
llvm-svn: 122513
-
Chris Lattner authored
llvm-svn: 122509
-
Chris Lattner authored
llvm-svn: 122507
-
Benjamin Kramer authored
Remove/fix invalid README entries. The well thought out strcpy function doesn't return a pointer to the end of the string. llvm-svn: 122496
-
Benjamin Kramer authored
llvm-svn: 122495
-
Andrew Trick authored
llvm-svn: 122491
-
Andrew Trick authored
Converted LiveRegCycles to LiveRegGens. It's easier to work with and allows multiple nodes per cycle. llvm-svn: 122474
-
Andrew Trick authored
llvm-svn: 122473
-
Andrew Trick authored
In the bottom-up selection DAG scheduling, handle two-address instructions that read/write unspillable registers. Treat the entire chain of two-address nodes as a single live range. llvm-svn: 122472
-
Mon P Wang authored
llvm-svn: 122462
-
Jeffrey Yasskin authored
new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458
-
Jim Grosbach authored
llvm-svn: 122456
-
Benjamin Kramer authored
DAGCombine add (sext i1), X into sub X, (zext i1) if sext from i1 is illegal. The latter usually compiles into smaller code. example code: unsigned foo(unsigned x, unsigned y) { if (x != 0) y--; return y; } before: _foo: ## @foo cmpl $1, 4(%esp) ## encoding: [0x83,0x7c,0x24,0x04,0x01] sbbl %eax, %eax ## encoding: [0x19,0xc0] notl %eax ## encoding: [0xf7,0xd0] addl 8(%esp), %eax ## encoding: [0x03,0x44,0x24,0x08] ret ## encoding: [0xc3] after: _foo: ## @foo cmpl $1, 4(%esp) ## encoding: [0x83,0x7c,0x24,0x04,0x01] movl 8(%esp), %eax ## encoding: [0x8b,0x44,0x24,0x08] adcl $-1, %eax ## encoding: [0x83,0xd0,0xff] ret ## encoding: [0xc3] llvm-svn: 122455
-
Benjamin Kramer authored
llvm-svn: 122453
-
Benjamin Kramer authored
int test(unsigned long a, unsigned long b) { return -(a < b); } compiles to _test: ## @test cmpq %rsi, %rdi ## encoding: [0x48,0x39,0xf7] sbbl %eax, %eax ## encoding: [0x19,0xc0] ret ## encoding: [0xc3] instead of _test: ## @test xorl %ecx, %ecx ## encoding: [0x31,0xc9] cmpq %rsi, %rdi ## encoding: [0x48,0x39,0xf7] movl $-1, %eax ## encoding: [0xb8,0xff,0xff,0xff,0xff] cmovael %ecx, %eax ## encoding: [0x0f,0x43,0xc1] ret ## encoding: [0xc3] llvm-svn: 122451
-
- Dec 22, 2010
-
-
Rafael Espindola authored
fixed. llvm-svn: 122448
-