- Aug 03, 2009
-
-
Anton Korobeynikov authored
Unbreak Win64 CC. Step one: honour register save area, fix some alignment and provide a different set of call-clobberred registers. llvm-svn: 77962
-
Devang Patel authored
llvm-svn: 77959
-
Rafael Espindola authored
llvm-svn: 77956
-
Daniel Dunbar authored
llvm-svn: 77953
-
Daniel Dunbar authored
llvm-svn: 77950
-
Evan Cheng authored
llvm-svn: 77949
-
Daniel Dunbar authored
This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. llvm-svn: 77946
-
Rafael Espindola authored
llvm-svn: 77944
-
Rafael Espindola authored
Thanks to Eli Friedman for noticing it. llvm-svn: 77942
-
Rafael Espindola authored
Fixes PR4669 llvm-svn: 77940
-
Evan Cheng authored
Use the i12 variant of load / store opcodes if offset is zero. Now we pass all of multisource as well. llvm-svn: 77939
-
Eli Friedman authored
options, which don't appear to be useful. -enable-mips-absolute-call is completely unused (and unless I'm mistaken, is supposed to have the same effect that -relocation-model=dynamic-no-pic should have), and -disable-mips-abicall appears to be effectively a synonym for -relocation-model=static. Adjust the few users of hasABICall to checks which seem more appropriate. Update MipsSubtarget, MipsTargetMachine, and MipselTargetMachine to synchronize with recent changes. llvm-svn: 77938
-
Andreas Bolka authored
llvm-svn: 77932
-
Daniel Dunbar authored
llvm-svn: 77931
-
Bill Wendling authored
- Tidy up some headers. llvm-svn: 77929
-
Daniel Dunbar authored
- The C, C++, MSIL, and Mips backends still need the module. llvm-svn: 77927
-
Richard Osborne authored
llvm-svn: 77920
-
Bill Wendling authored
pushes in the function prolog if the function doesn't have any stack space, i.e. for a prolog like: 0x40011870: push %r15 0x40011872: push %r14 0x40011874: push %rbx Patch by Zoltan! llvm-svn: 77919
-
Daniel Dunbar authored
Module*. Also, dropped uses of TargetMachine where unnecessary. The only target which still takes a TargetMachine& is Mips, I would appreciate it if someone would normalize this to match other targets. llvm-svn: 77918
-
- Aug 02, 2009
-
-
Jakob Stoklund Olesen authored
__builtin_bfin_ones does the same as ctpop, so it can be implemented in the front-end. __builtin_bfin_loadbytes loads from an unaligned pointer with the disalignexcpt instruction. It does the same as loading from a pointer with the low bits masked. It is better if the front-end creates a masked load. We can always instruction select the masked to disalignexcpt+load. We keep csync/ssync/idle. These intrinsics represent instructions that need workarounds for some silicon revisions. We may even want to convert inline assembler to intrinsics to enable the workarounds. llvm-svn: 77917
-
Nick Lewycky authored
llvm-svn: 77914
-
Daniel Dunbar authored
llvm-svn: 77913
-
Jakob Stoklund Olesen authored
llvm-svn: 77912
-
Edward O'Callaghan authored
llvm-svn: 77911
-
Edward O'Callaghan authored
llvm-svn: 77907
-
Jakob Stoklund Olesen authored
llvm-svn: 77906
-
Jakob Stoklund Olesen authored
Allow imp-def and imp-use of anything in the scavenger asserts, just like the machine code verifier. Allow redefinition of a sub-register of a live register. llvm-svn: 77904
-
Jakob Stoklund Olesen authored
llvm-svn: 77903
-
Jakob Stoklund Olesen authored
This is just the framework to identify the needed workarounds. They are not actually implemented. llvm-svn: 77902
-
Jakob Stoklund Olesen authored
We use the same constraints as GCC, including those that are slightly insane for inline assembler. llvm-svn: 77899
-
Jakob Stoklund Olesen authored
Generate code for the Blackfin family of DSPs from Analog Devices: http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html We aim to be compatible with the exsisting GNU toolchain found at: http://blackfin.uclinux.org/gf/project/toolchain The back-end is experimental. llvm-svn: 77897
-
Dan Gohman authored
support. This isn't immediately interesting, because Legalize ends up lowering SELECT_CC if the target doesn't support it, but this simplifies the process. Also, if the SELECT_CC would be expanded in Legalize, it can potentially end up with two copies of the condition expression. By leaving it as SELECT+SETCC, the SELECT can be expanded into two SELECTs that use a single SETCC. The two comparisons are usually CSE'd, but depending on when various expressions get legalized, the comparison expression could involve calls to library functions, such that the comparison expression may not be able to be CSE'd. This will be needed by a future patch. llvm-svn: 77896
-
Dan Gohman authored
llvm-svn: 77895
-
Dan Gohman authored
llvm-svn: 77894
-
Dan Gohman authored
llvm-svn: 77893
-
Benjamin Kramer authored
llvm-svn: 77892
-
Jakob Stoklund Olesen authored
Use of an <undef> register is treated like an <imp-use>. It is not an error to use a dead <undef> register. llvm-svn: 77890
-
Chris Lattner authored
TLOF, unifying all the dwarf targets at the same time. llvm-svn: 77889
-
Chris Lattner authored
llvm-svn: 77888
-
Chris Lattner authored
object files. llvm-svn: 77887
-