- Jan 15, 2010
-
-
Nate Begeman authored
Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer Further refactoring to completely remove MachOWriter and drive the object file writer with the AsmPrinter MCInst/MCSection logic is forthcoming. llvm-svn: 93527
-
- Jan 14, 2010
-
-
Jim Grosbach authored
llvm-svn: 93459
-
Jim Grosbach authored
catch info can get misplaced when a selector ends up more than one block removed from the parent invoke(s). This could happen when a landing pad is shared by multiple invokes and is also a target of a normal edge from elsewhere. llvm-svn: 93456
-
- Jan 13, 2010
-
-
Evan Cheng authored
llvm-svn: 93313
-
Evan Cheng authored
llvm-svn: 93286
-
Evan Cheng authored
llvm-svn: 93285
-
Evan Cheng authored
Add a quick pass to optimize sign / zero extension instructions. For targets where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg. For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used. llvm-svn: 93278
-
- Jan 07, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 92874
-
- Jan 04, 2010
-
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92524
-
- Dec 21, 2009
-
-
Eric Christopher authored
by allowing backends to override routines that will default the JIT and Static code generation to an appropriate code model for the architecture. Should fix PR 5773. llvm-svn: 91824
-
- Dec 17, 2009
-
-
Evan Cheng authored
llvm-svn: 91604
-
Evan Cheng authored
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. llvm-svn: 91598
-
- Dec 04, 2009
-
-
Evan Cheng authored
llvm-svn: 90567
-
- Nov 26, 2009
-
-
Bob Wilson authored
llvm-svn: 89968
-
Bob Wilson authored
running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication. llvm-svn: 89904
-
- Nov 24, 2009
-
-
Devang Patel authored
llvm-svn: 89790
-
- Nov 20, 2009
-
-
Dan Gohman authored
just before codegen. llvm-svn: 89439
-
- Nov 05, 2009
-
-
Evan Cheng authored
llvm-svn: 86092
-
- Nov 04, 2009
-
-
Eric Christopher authored
llvm-svn: 86044
-
- Oct 31, 2009
-
-
Dan Gohman authored
previously running CodePlacementOpt. Also print headers before each dump in -print-machineinstrs mode, so that it's clear which dump is which. llvm-svn: 85681
-
Dan Gohman authored
to unfold loop-invariant loads. llvm-svn: 85657
-
- Oct 29, 2009
-
-
Bill Wendling authored
llvm-svn: 85460
-
Bill Wendling authored
--- Reverse-merging r85338 into '.': U lib/CodeGen/SimpleRegisterCoalescing.cpp U lib/CodeGen/SimpleRegisterCoalescing.h llvm-svn: 85454
-
- Oct 28, 2009
-
-
Bob Wilson authored
I'm going to redo this using the OptimizeForSize function attribute. llvm-svn: 85426
-
Bob Wilson authored
use it to control tail merging when there is a tradeoff between performance and code size. When there is only 1 instruction in the common tail, we have been merging. That can be good for code size but is a definite loss for performance. Now we will avoid tail merging in that case when the optimization level is "Aggressive", i.e., "-O3". Radar 7338114. Since the IfConversion pass invokes BranchFolding, it too needs to know the optimization level. Note that I removed the RegisterPass instantiation for IfConversion because it required a default constructor. If someone wants to keep that for some reason, we can add a default constructor with a hard-wired optimization level. llvm-svn: 85346
-
- Oct 16, 2009
-
-
Evan Cheng authored
llvm-svn: 84273
-
- Sep 30, 2009
-
-
Evan Cheng authored
llvm-svn: 83144
-
David Goodwin authored
Remove -post-RA-schedule flag and add a TargetSubtarget method to enable post-register-allocation scheduling. By default it is off. For ARM, enable/disable with -mattr=+/-postrasched. Enable by default for cortex-a8. llvm-svn: 83122
-
- Sep 25, 2009
-
-
Evan Cheng authored
llvm-svn: 82803
-
- Sep 16, 2009
-
-
Dan Gohman authored
constants out of loops. These aren't covered by the regular LICM pass, because in LLVM IR constants don't require separate instructions. They're not always covered by the MachineLICM pass either, because it doesn't know how to unfold folded constant-pool loads. This is somewhat experimental at this point, and off by default. llvm-svn: 82076
-
- Aug 26, 2009
-
-
Dan Gohman authored
llvm-svn: 80104
-
- Aug 23, 2009
-
-
Chris Lattner authored
upgrading a few things to use raw_ostream llvm-svn: 79811
-
- Aug 22, 2009
-
-
Chris Lattner authored
llvm-svn: 79763
-
- Aug 17, 2009
-
-
Jim Grosbach authored
more properly belong. This allows removing the front-end conditionalized SJLJ code, and cleans up the generated IR considerably. All of the infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is added by the SjLjEHPrepare pass. llvm-svn: 79250
-
- Aug 15, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 79095
-
- Aug 14, 2009
-
-
Daniel Dunbar authored
AsmPrinter instance (instead of just a FunctionPass) llvm-svn: 78962
-
- Aug 13, 2009
-
-
Daniel Dunbar authored
TargetAsmInfo. This eliminates a dependency on TargetMachine.h from TargetRegistry.h, which technically was a layering violation. - Clients probably can only sensibly pass in the same TargetAsmInfo as the TargetMachine has, but there are only limited clients of this API. llvm-svn: 78928
-
- Aug 12, 2009
-
-
Chris Lattner authored
pair instead of from a virtual method on TargetMachine. This cuts the final ties of TargetAsmInfo to TargetMachine, meaning that MC can now use TargetAsmInfo. llvm-svn: 78802
-
- Aug 11, 2009
-
-
Dan Gohman authored
llvm-svn: 78677
-
Jim Grosbach authored
and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. llvm-svn: 78625
-