- Dec 27, 2010
-
-
Cameron Zwarich authored
valno verification. The "Different value live out of predecessor" check is incorrect in the case of phi-def valnos, so just skip that check for phi-def valnos and instead check that all of the valnos for predecessors have phi-kill. Fixes PR8863. llvm-svn: 122581
-
Michael J. Spencer authored
llvm-svn: 122580
-
Rafael Espindola authored
llvm-svn: 122579
-
Francois Pichet authored
1. Do not validate for uuid attribute if the type is template dependent. 2. Search every class declaration and definition for the uuid attribute. llvm-svn: 122578
-
Rafael Espindola authored
supports. llvm-svn: 122577
-
Benjamin Kramer authored
BuildLibCalls: Nuke EmitMemCpy, EmitMemMove and EmitMemSet. They are dead and superseded by IRBuilder. llvm-svn: 122576
-
Benjamin Kramer authored
llvm-svn: 122575
-
Chris Lattner authored
llvm-svn: 122574
-
Chris Lattner authored
memsets. This is still missing one important validity check, but this is enough to compile stuff like this: void test0(std::vector<char> &X) { for (std::vector<char>::iterator I = X.begin(), E = X.end(); I != E; ++I) *I = 0; } void test1(std::vector<int> &X) { for (long i = 0, e = X.size(); i != e; ++i) X[i] = 0x01010101; } With: $ clang t.cpp -S -o - -O2 -emit-llvm | opt -loop-idiom | opt -O3 | llc to: __Z5test0RSt6vectorIcSaIcEE: ## @_Z5test0RSt6vectorIcSaIcEE ## BB#0: ## %entry subq $8, %rsp movq (%rdi), %rax movq 8(%rdi), %rsi cmpq %rsi, %rax je LBB0_2 ## BB#1: ## %bb.nph subq %rax, %rsi movq %rax, %rdi callq ___bzero LBB0_2: ## %for.end addq $8, %rsp ret ... __Z5test1RSt6vectorIiSaIiEE: ## @_Z5test1RSt6vectorIiSaIiEE ## BB#0: ## %entry subq $8, %rsp movq (%rdi), %rax movq 8(%rdi), %rdx subq %rax, %rdx cmpq $4, %rdx jb LBB1_2 ## BB#1: ## %for.body.preheader andq $-4, %rdx movl $1, %esi movq %rax, %rdi callq _memset LBB1_2: ## %for.end addq $8, %rsp ret llvm-svn: 122573
-
- Dec 26, 2010
-
-
Chris Lattner authored
llvm-svn: 122572
-
Chris Lattner authored
llvm-svn: 122571
-
Rafael Espindola authored
llvm-svn: 122570
-
David Chisnall authored
Add support for GNU runtime property set / get structure functions. Minor refactoring of Mac runtime (returns the same function for both, as the Mac runtimes currently only provide a single entry point for setting and getting struct properties, although this will presumably be fixed at some point). llvm-svn: 122569
-
Rafael Espindola authored
llvm-svn: 122568
-
Chris Lattner authored
llvm-svn: 122567
-
Rafael Espindola authored
llvm-svn: 122566
-
Chris Lattner authored
llvm-svn: 122565
-
David Chisnall authored
llvm-svn: 122564
-
Chris Lattner authored
llvm-svn: 122563
-
Chris Lattner authored
No functionality yet. llvm-svn: 122562
-
Benjamin Kramer authored
llvm-svn: 122561
-
Chris Lattner authored
llvm-svn: 122560
-
Chris Lattner authored
llvm-svn: 122559
-
Chris Lattner authored
16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. llvm-svn: 122558
-
- 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
-
Michael J. Spencer authored
llvm-svn: 122552
-
Eric Christopher authored
llvm-svn: 122551
-
- 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
-
Ted Kremenek authored
SimpleSValBuilder. This clears up some false positives emitted by ArrayBoundCheckerV2 due to the lack of support for pointer arithmetic. llvm-svn: 122546
-
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
-
Argyrios Kyrtzidis authored
llvm-svn: 122543
-
Jim Grosbach authored
llvm-svn: 122542
-