- Apr 30, 2005
-
-
Chris Lattner authored
Morten Ofstad! llvm-svn: 21630
-
- Apr 29, 2005
-
-
Chris Lattner authored
llvm-svn: 21610
-
- Apr 28, 2005
-
-
Chris Lattner authored
llvm-svn: 21608
-
Chris Lattner authored
llvm-svn: 21607
-
- Apr 27, 2005
-
-
Andrew Lenharth authored
Implement Value* tracking for loads and stores in the selection DAG. This enables one to use alias analysis in the backends. (TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*. Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null. llvm-svn: 21599
-
Duraid Madina authored
llvm-svn: 21590
-
- Apr 26, 2005
-
-
Duraid Madina authored
llvm-svn: 21564
-
Duraid Madina authored
llvm-svn: 21563
-
Duraid Madina authored
subtracts. This is a very rough and nasty implementation of Lefevre's "pattern finding" algorithm. With a few small changes though, it should end up beating most other methods in common use, regardless of the size of the constant (currently, it's often one or two shifts worse) TODO: rewrite it so it's not hideously ugly (this is a translation from perl, which doesn't help ;) bypass most of it for multiplies by 2^n+1 (eventually) teach it that some combinations of shift+add are cheaper than others (e.g. shladd on ia64, scaled adds on alpha) get it to try multiple booth encodings in search of the cheapest routine make it work for negative constants This is hacked up as a DAG->DAG transform, so once I clean it up I hope it'll be pulled out of here and put somewhere else. The only thing backends should really have to worry about for now is where to draw the line between using this code vs. going ahead and doing an integer multiply anyway. llvm-svn: 21560
-
- Apr 25, 2005
-
-
Reid Spencer authored
destructor. Just add the do-nothing virtual destructor. llvm-svn: 21524
-
- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21457
-
Misha Brukman authored
llvm-svn: 21452
-
Reid Spencer authored
variable TARGETS_TO_BUILD is used to determine which targets in lib/Target are built and which libraries are linked into llc. This effectively implements the feature. One item remains: disabling targets in the dejagnu test suite. llvm-svn: 21450
-
Andrew Lenharth authored
llvm-svn: 21446
-
Tanya Lattner authored
llvm-svn: 21444
-
Misha Brukman authored
* Convert tabs to spaces llvm-svn: 21426
-
Misha Brukman authored
llvm-svn: 21425
-
Misha Brukman authored
llvm-svn: 21424
-
Misha Brukman authored
llvm-svn: 21422
-
- Apr 21, 2005
-
-
Chris Lattner authored
llvm-svn: 21413
-
Chris Lattner authored
test1: movl $N, %eax movl %eax, G ret emit: test1: movl $N, G ret llvm-svn: 21407
-
Chris Lattner authored
printf format strings and other stuff. Instead of generating this: movl $l1__2E_str_1, %eax movl %eax, (%esp) we now emit: movl $l1__2E_str_1, (%esp) llvm-svn: 21406
-
- Apr 20, 2005
-
-
Misha Brukman authored
llvm-svn: 21379
-
- Apr 19, 2005
-
-
Chris Lattner authored
llvm-svn: 21353
-
Chris Lattner authored
llvm-svn: 21352
-
Chris Lattner authored
llvm-svn: 21351
-
Chris Lattner authored
them away. llvm-svn: 21350
-
Chris Lattner authored
llvm-svn: 21349
-
Chris Lattner authored
llvm-svn: 21348
-
Chris Lattner authored
llvm-svn: 21347
-
Chris Lattner authored
llvm-svn: 21346
-
Chris Lattner authored
bits that must be passed up the inheritance hierarchy. Convert MForm and AForm instructions over llvm-svn: 21345
-
- Apr 18, 2005
-
-
Nate Begeman authored
int %bar(float %a, float %b, float %c, float %d) { entry: %tmp.1 = setlt float %a, %d %tmp.2 = setlt float %b, %d %or = or bool %tmp.1, %tmp.2 %tmp.3 = setgt float %c, %d %tmp.4 = or bool %or, %tmp.3 %tmp.5 = and bool %tmp.4, true %retval = cast bool %tmp.5 to int ret int %retval } We now emit: _bar: .LBB_bar_0: ; entry fcmpu cr0, f1, f4 fcmpu cr1, f2, f4 cror 0, 0, 4 fcmpu cr1, f3, f4 cror 28, 0, 5 mfcr r2 rlwinm r3, r2, 29, 31, 31 blr Instead of: _bar: .LBB_bar_0: ; entry fcmpu cr7, f1, f4 mfcr r2 rlwinm r2, r2, 29, 31, 31 fcmpu cr7, f2, f4 mfcr r3 rlwinm r3, r3, 29, 31, 31 or r2, r2, r3 fcmpu cr7, f3, f4 mfcr r3 rlwinm r3, r3, 30, 31, 31 or r3, r2, r3 blr llvm-svn: 21321
-
Nate Begeman authored
register. Added support in the .td file for the g5-specific variant of cr -> gpr moves that executes faster, but we currently don't generate it. llvm-svn: 21314
-
Chris Lattner authored
llvm-svn: 21312
-
- Apr 16, 2005
-
-
Nate Begeman authored
Add new ppc beta option related to using condition registers Make pattern isel control flag (-enable-pattern-isel) global and tristate 0 == off 1 == on 2 == target default llvm-svn: 21309
-
- Apr 14, 2005
-
-
Andrew Lenharth authored
llvm-svn: 21303
-
Andrew Lenharth authored
a 21264 fix, and fix the operator precidence on an and -> zap check (should fix hundreds of test cases llvm-svn: 21302
-
Duraid Madina authored
easier on the eyes, not that numbers like 18446744073709541376 are bad or anything llvm-svn: 21300
-
Duraid Madina authored
llvm-svn: 21299
-