- Apr 08, 2012
-
-
Chandler Carruth authored
optimizations which are valid for position independent code being linked into a single executable, but not for such code being linked into a shared library. I discussed the design of this with Eric Christopher, and the decision was to support an optional bit rather than a completely separate relocation model. Fundamentally, this is still PIC relocation, its just that certain optimizations are only valid under a PIC relocation model when the resulting code won't be in a shared library. The simplest path to here is to expose a single bit option in the TargetOptions. If folks have different/better designs, I'm all ears. =] I've included the first optimization based upon this: changing TLS models to the *Exec models when PIE is enabled. This is the LLVM component of PR12380 and is all of the hard work. llvm-svn: 154294
-
Chandler Carruth authored
in TargetLowering. There was already a FIXME about this location being odd. The interface is simplified as a consequence. This will also make it easier to change TLS models when compiling with PIE. llvm-svn: 154292
-
- Mar 26, 2012
-
-
Craig Topper authored
llvm-svn: 153429
-
- Mar 25, 2012
-
-
Craig Topper authored
llvm-svn: 153415
-
- Feb 10, 2012
-
-
Andrew Trick authored
Creates a configurable regalloc pipeline. Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa. When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>. CodeGen transformation passes are never "required" as an analysis ProcessImplicitDefs does not require LiveVariables. We have a plan to massively simplify some of the early passes within the regalloc superpass. llvm-svn: 150226
-
- Jan 17, 2012
-
-
Andrew Trick authored
More short term hackery until we have a way to configure passes that work on LiveIntervals. llvm-svn: 148289
-
- Jan 13, 2012
-
-
Andrew Trick authored
llvm-svn: 148105
-
- Dec 11, 2011
-
-
Nick Lewycky authored
of r146334! llvm-svn: 146338
-
- Dec 10, 2011
-
-
Nick Lewycky authored
the only parts of TM that depends on CodeGen headers with it. llvm-svn: 146334
-
- Dec 02, 2011
-
-
Nick Lewycky authored
change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714
-
- Nov 16, 2011
-
-
Evan Cheng authored
and code model. This eliminates the need to pass OptLevel flag all over the place and makes it possible for any codegen pass to use this information. llvm-svn: 144788
-
- Oct 31, 2011
-
-
Nick Lewycky authored
-enable-dwarf-directory. llvm-svn: 143326
-
- Oct 18, 2011
-
-
Nick Lewycky authored
.file filenumber "directory" "filename" This removes one join+split of the directory+filename in MC internals. Because bitcode files have independent fields for directory and filenames in debug info, this patch may change the .o files written by existing .bc files. llvm-svn: 142300
-
- Aug 30, 2011
-
-
Rafael Espindola authored
-segmented-stacks. Patch by Sanjoy Das! llvm-svn: 138811
-
- Jul 20, 2011
-
-
Evan Cheng authored
- Introduce JITDefault code model. This tells targets to set different default code model for JIT. This eliminates the ugly hack in TargetMachine where code model is changed after construction. llvm-svn: 135580
-
Benjamin Kramer authored
llvm-svn: 135555
-
- Jul 19, 2011
-
-
Evan Cheng authored
(including compilation, assembly). Move relocation model Reloc::Model from TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine. llvm-svn: 135468
-
- Jul 08, 2011
-
-
Evan Cheng authored
- Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". llvm-svn: 134678
-
- Jun 23, 2011
-
-
Evan Cheng authored
llvm-svn: 133739
-
- May 25, 2011
-
-
Rafael Espindola authored
LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. llvm-svn: 132033
-
- Apr 30, 2011
-
-
Rafael Espindola authored
the final assembly. It is the same technique used when targeting assemblers that don't support .loc. llvm-svn: 130587
-
- Apr 21, 2011
-
-
Evan Cheng authored
llvm-svn: 129884
-
- Apr 08, 2011
-
-
Evan Cheng authored
Change -arm-trap-func= into a non-arm specific option. Now Intrinsic::trap is lowered into a call to the specified trap function at sdisel time. llvm-svn: 129152
-
- Apr 07, 2011
-
-
Evan Cheng authored
llvm-svn: 129045
-
- Mar 29, 2011
-
-
Daniel Dunbar authored
integrated-as. llvm-svn: 128431
-
- Jan 23, 2011
-
-
Rafael Espindola authored
llvm-svn: 124079
-
- Nov 19, 2010
-
-
Rafael Espindola authored
MCStreamer instead of just MCObjectStreamer. Address changes cannot be as efficient as we have to use DW_LNE_set_addres, but at least most of the logic is shared. This will be used so that, with CodeGen still using EmitDwarfLocDirective, llvm-gcc is able to produce debug_line sections without needing an assembler that supports .loc. llvm-svn: 119777
-
- Jul 16, 2010
-
-
Evan Cheng authored
-enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments and results can never be NaN. llvm-svn: 108465
-
- Jul 13, 2010
-
-
Evan Cheng authored
llvm-svn: 108254
-
- May 26, 2010
-
-
Daniel Dunbar authored
-filetype=obj. llvm-svn: 104747
-
- May 18, 2010
-
-
Bill Wendling authored
specified. llvm-svn: 104066
-
Bill Wendling authored
- Change the logic DisableFramePointerElim() to check for the -disable-non-leaf-fp-elim before -disable-fp-elim. llvm-svn: 103990
-
- May 14, 2010
-
-
Bill Wendling authored
llvm-svn: 103808
-
Bill Wendling authored
the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
-
- May 02, 2010
-
-
Duncan Sands authored
Remove the -enable-eh option which is only used by the JIT, and replace it with -jit-enable-eh. llvm-svn: 102865
-
- Apr 21, 2010
-
-
Evan Cheng authored
optimization for non-leaf functions. This will be hooked up to gcc's -momit-leaf-frame-pointer option. rdar://7886181 llvm-svn: 101984
-
- Apr 13, 2010
-
-
Chris Lattner authored
patch by Sylvere Teissier! llvm-svn: 101106
-
- Feb 08, 2010
-
-
Dan Gohman authored
its current purpose. llvm-svn: 95564
-
- Jan 27, 2010
-
-
Evan Cheng authored
llvm-svn: 94628
-
- Jan 23, 2010
-
-
Bill Wendling authored
the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also, keep track of the SDNode ordering by default. Eventually, we would like to make this ordering a way to break a "tie" in the scheduler. However, doing that now breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux. llvm-svn: 94308
-