- Jan 13, 2008
-
-
Duncan Sands authored
a pointer to a struct. llvm-svn: 45939
-
- Jan 10, 2008
-
-
Duncan Sands authored
Likewise fix up a bunch of other libcalls. While there I remove NEG_F32 and NEG_F64 since they are not used anywhere. This fixes 9 Ada ACATS failures. llvm-svn: 45833
-
Evan Cheng authored
llvm-svn: 45787
-
- Jan 09, 2008
-
-
Chris Lattner authored
void test(long long *P) { *P ^= 1; } into just: _test: movl 4(%esp), %eax xorl $1, (%eax) ret instead of code like this: _test: movl 4(%esp), %ecx xorl $1, (%ecx) movl 4(%ecx), %edx movl %edx, 4(%ecx) ret llvm-svn: 45762
-
- Jan 07, 2008
-
-
Chris Lattner authored
Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
-
Chris Lattner authored
llvm-svn: 45693
-
Chris Lattner authored
all clients over to using predicates instead of these flags directly. These are now private values which are only to be used to statically initialize the tables. llvm-svn: 45692
-
Chris Lattner authored
flags that can be set. Add predicates for the ones lacking it, and switch some clients over to using the predicates instead of Flags directly. llvm-svn: 45690
-
Chris Lattner authored
Evan, please review the comments I added to getNumDefs to make sure that they are accurate, thx. llvm-svn: 45687
-
Chris Lattner authored
llvm-svn: 45680
-
Chris Lattner authored
into TargetInstrDescriptor from TargetInstrInfo. llvm-svn: 45678
-
Chris Lattner authored
over to using them, instead of diddling Flags directly. Change the various flags from const variables to enums. llvm-svn: 45677
-
Chris Lattner authored
that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674
-
Owen Anderson authored
llvm-svn: 45673
-
Gordon Henriksen authored
up to the various compiler pipelines. This doesn't actually add support for any GC algorithms, which means it temporarily breaks a few tests. To be fixed shortly. llvm-svn: 45669
-
- Jan 05, 2008
-
-
Nate Begeman authored
Don't overwrite a variable used by the fallthrough code path in this case. llvm-svn: 45630
-
- Dec 31, 2007
-
-
Duncan Sands authored
values, which means doing extra legalization work. It would be easier to get this kind of thing right if there was some documentation... llvm-svn: 45472
-
Owen Anderson authored
Machine-level API cleanup instigated by Chris. llvm-svn: 45470
-
Chris Lattner authored
llvm-svn: 45468
-
Chris Lattner authored
that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
-
- Dec 30, 2007
-
-
Chris Lattner authored
llvm-svn: 45459
-
Chris Lattner authored
llvm-svn: 45436
-
Chris Lattner authored
llvm-svn: 45435
-
Chris Lattner authored
llvm-svn: 45432
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
Chris Lattner authored
llvm-svn: 45415
-
Chris Lattner authored
comparisons with a constant. This allows us to compile isnan to: _foo: fcmpu cr7, f1, f1 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr instead of: LCPI1_0: ; float .space 4 _foo: lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr7, f1, f0 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr llvm-svn: 45405
-
Chris Lattner authored
llvm-svn: 45402
-
Chris Lattner authored
llvm-svn: 45400
-
Chris Lattner authored
x = load p store x -> p llvm-svn: 45398
-
- Dec 22, 2007
-
-
Chris Lattner authored
legalizer support goes in. llvm-svn: 45323
-
Chris Lattner authored
llvm-svn: 45322
-
Chris Lattner authored
or after legalize. llvm-svn: 45321
-
Chris Lattner authored
targets. llvm-svn: 45320
-
- Dec 20, 2007
-
-
Evan Cheng authored
llvm-svn: 45259
-
Evan Cheng authored
llvm-svn: 45252
-
- Dec 19, 2007
-
-
Duncan Sands authored
llvm-svn: 45198
-
Duncan Sands authored
to know about calls that cannot throw ('nounwind'): if such a call does throw for some reason then the personality will terminate the program. The distinction between an ordinary call and a nounwind call is that an ordinary call gets an entry in the exception table but a nounwind call does not. This patch sets up the exception table appropriately. One oddity is that I've chosen to bracket nounwind calls with labels (like invokes) - the other choice would have been to bracket ordinary calls with labels. While bracketing ordinary calls is more natural (because bracketing by labels would then correspond exactly to getting an entry in the exception table), I didn't do it because introducing labels impedes some optimizations and I'm guessing that ordinary calls occur more often than nounwind calls. This fixes the gcc filter2 eh test, at least at -O0 (the inliner needs some tweaking at higher optimization levels). llvm-svn: 45197
-
Evan Cheng authored
llvm-svn: 45186
-
- Dec 18, 2007
-
-
Evan Cheng authored
llvm-svn: 45167
-