- Apr 18, 2011
-
-
Devang Patel authored
llvm-svn: 129715
-
Jakob Stoklund Olesen authored
the spilled register. This is quite common on ARM now that some stores have early-clobber defines. llvm-svn: 129714
-
Sean Callanan authored
superclass variable is instantiated properly. llvm-svn: 129713
-
Eric Christopher authored
registers for fast allocation a different way. This has us updating used registers only when we're using that exact register. Fixes rdar://9207598 llvm-svn: 129711
-
Chandler Carruth authored
silences Clang's -Wunused-function when building in release mode. llvm-svn: 129709
-
Chris Lattner authored
this fixes a few rejects on c++ iterator loops. llvm-svn: 129694
-
-
Chris Lattner authored
the generated FastISel. X86 doesn't need to generate code to match ADD16ri8 since ADD16ri will do just fine. This is a small codesize win in the generated instruction selector. llvm-svn: 129692
-
Eli Friedman authored
llvm-svn: 129689
-
Eli Friedman authored
small heap-allocated SmallString because it unconditionally forces a malloc. llvm-svn: 129688
-
Eli Friedman authored
reduces the number of calls to malloc(). llvm-svn: 129687
-
Chris Lattner authored
simplifying them and exposing more information to tblgen. It would be nice if other target authors adopted this as well, particularly arm since it has fastisel. llvm-svn: 129676
-
Chris Lattner authored
kind of predicate: one that is specific to imm nodes. The predicate function specified here just checks an int64_t directly instead of messing around with SDNode's. The virtue of this is that it means that fastisel and other things can reason about these predicates. llvm-svn: 129675
-
- Apr 17, 2011
-
-
Chris Lattner authored
structure and fix some fixmes. We now have a TreePredicateFn class that handles all of the decoding of these things. This is an internal cleanup that has no impact on the code generated by tblgen. llvm-svn: 129670
-
Chris Lattner authored
2. implement rdar://9289501 - fast isel should fold trivial multiplies to shifts 3. teach tblgen to handle shift immediates that are different sizes than the shifted operands, eliminating some code from the X86 fast isel backend. 4. Have FastISel::SelectBinaryOp use (the poorly named) FastEmit_ri_ function instead of FastEmit_ri to simplify code. llvm-svn: 129666
-
Chris Lattner authored
when we have a global variable base an an index. Instead, just give up on folding the global variable. Before we'd geenrate: _test: ## @test ## BB#0: movq _rtx_length@GOTPCREL(%rip), %rax leaq (%rax), %rax addq %rdi, %rax movzbl (%rax), %eax ret now we generate: _test: ## @test ## BB#0: movq _rtx_length@GOTPCREL(%rip), %rax movzbl (%rax,%rdi), %eax ret The difference is even more significant when there is a scale involved. This fixes rdar://9289558 - total fail with addr mode formation at -O0/x86-64 llvm-svn: 129664
-
Chris Lattner authored
less trivial things) into a dummy lea. Before we generated: _test: ## @test movq _G@GOTPCREL(%rip), %rax leaq (%rax), %rax ret now we produce: _test: ## @test movq _G@GOTPCREL(%rip), %rax ret This is part of rdar://9289558 llvm-svn: 129662
-
Chris Lattner authored
llvm-svn: 129661
-
rdar://9289512Chris Lattner authored
The basic issue here is that bottom-up isel is matching the branch and compare, and was failing to fold the load into the branch/compare combo. Fixing this (by allowing folding into any instruction of a sequence that is selected) allows us to produce things like: cmpb $0, 52(%rax) je LBB4_2 instead of: movb 52(%rax), %cl cmpb $0, %cl je LBB4_2 This makes the generated -O0 code run a bit faster, but also speeds up compile time by putting less pressure on the register allocator and generating less code. This was one of the biggest classes of missing load folding. Implementing this shrinks 176.gcc's c-decl.s (as a random example) by about 4% in (verbose-asm) line count. llvm-svn: 129656
-
Chris Lattner authored
which don't need to check for falling off the end of a block *and* end of phi nodes, since terminators are never phis. llvm-svn: 129655
-
Eli Friedman authored
llvm-svn: 129654
-
rdar://9289583Chris Lattner authored
allowing us to fold the immediate into the 'and' in this case: int test1(int i) { return 8&i; } llvm-svn: 129653
-
Eli Friedman authored
Returning a new node makes the code try to replace the old node, which in the included testcase is killed by CSE. llvm-svn: 129650
-
- Apr 16, 2011
-
-
Frits van Bommel authored
llvm-svn: 129644
-
Francois Pichet authored
For further information on this particular issue see: http://connect.microsoft.com/VisualStudio/feedback/details/520043/error-converting-from-null-to-a-pointer-type-in-std-pair llvm-svn: 129642
-
Jay Foad authored
found by code inspection. llvm-svn: 129641
-
Francois Pichet authored
llvm-svn: 129640
-
Benjamin Kramer authored
llvm-svn: 129639
-
Rafael Espindola authored
error in foo.o; no .eh_frame_hdr table will be created. llvm-svn: 129635
-
Stuart Hastings authored
boundary. <rdar://problem/8933028> llvm-svn: 129634
-
Evan Cheng authored
Fix divmod libcall lowering. Convert to {S|U}DIVREM first and then expand the node to a libcall. rdar://9280991 llvm-svn: 129633
-
Rafael Espindola authored
llvm-svn: 129632
-
Nick Lewycky authored
Break the arc-profile code out to a function like the notes emission code is, and reorder the functions in the file. The only functionality change is that we no longer modify the Module when the Module has no debug info to use. llvm-svn: 129631
-
Nick Lewycky authored
does. Also mostly implement it. Still a work-in-progress, but generates legal output on crafted test cases. llvm-svn: 129630
-
Devang Patel authored
Introduce support to encode Objective-C property information in debugging information generated for an interface. llvm-svn: 129624
-
Johnny Chen authored
rdar://problem/9292717 llvm-svn: 129619
-
Johnny Chen authored
The a bit must be encoded as 0. rdar://problem/9292625 llvm-svn: 129618
-
- Apr 15, 2011
-
-
Akira Hatanaka authored
llvm-svn: 129612
-
Cameron Zwarich authored
a case involving EOR, so I only added a test for ORR. llvm-svn: 129610
-
Akira Hatanaka authored
llvm-svn: 129608
-