| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
contexts through a number of APIs.
llvm-svn: 78258
|
| |
|
|
|
|
| |
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78247
|
| |
|
|
|
|
| |
and eliminate complexity. Yay!
llvm-svn: 78243
|
| |
|
|
| |
llvm-svn: 78242
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
just argv[0]. And remove the code for searching the current
working directory and for searching PATH; the point of FindExecutable
is not to find whatever version of the executable can be found by
searching around, but to find an executable that accompanies the
current executable.
Update the tools to use sys::Program::FindProgramByName when they
want PATH searching.
llvm-svn: 78240
|
| |
|
|
| |
llvm-svn: 78208
|
| |
|
|
| |
llvm-svn: 78206
|
| |
|
|
|
|
| |
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78199
|
| |
|
|
| |
llvm-svn: 78197
|
| |
|
|
| |
llvm-svn: 78192
|
| |
|
|
| |
llvm-svn: 78187
|
| |
|
|
|
|
|
|
|
|
|
|
| |
a dirty hack and isn't need anymore since the last x86 code emitter patch)
- Add a target-dependent modifier to addend calculation
- Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext
- Use getELFSectionFlags whenever possible
- fix getTextSection to use TLOF and emit the right text section
- Handle global emission for static ctors, dtors and Type::PointerTyID
- Some minor fixes
llvm-svn: 78176
|
| |
|
|
| |
llvm-svn: 78157
|
| |
|
|
|
|
| |
getKindForGlobal.
llvm-svn: 78156
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of awkwardly encoding calling-convention information with ISD::CALL,
ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
provides three virtual functions for targets to override:
LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
lowering done on the special nodes. They provide the same information, but
in a more immediately usable format.
This also reworks much of the target-independent tail call logic. The
decision of whether or not to perform a tail call is now cleanly split
between target-independent portions, and the target dependent portion
in IsEligibleForTailCallOptimization.
This also synchronizes all in-tree targets, to help enable future
refactoring and feature work.
llvm-svn: 78142
|
| |
|
|
|
|
|
|
|
|
| |
for ELF to work.
2) RIP addressing: Use SIB bytes for absolute relocations where RegBase=0,
IndexReg=0.
3) The JIT can get the real address of cstpools and jmptables during
code emission, fix that for object code emission
llvm-svn: 78129
|
| |
|
|
| |
llvm-svn: 78119
|
| |
|
|
|
|
|
|
| |
header, to make LLVMContextImpl.h
not hideous. Also, fix some MSVC compile errors.
llvm-svn: 78115
|
| |
|
|
| |
llvm-svn: 78097
|
| |
|
|
|
|
|
| |
the masm backend. If anyone cares about masm in the future,
we'll have semantic sections it can hang off of.
llvm-svn: 78096
|
| |
|
|
|
|
| |
canonical types.
llvm-svn: 78076
|
| |
|
|
|
|
| |
__TEXT,__ustring section on darwin.
llvm-svn: 78068
|
| |
|
|
|
|
| |
it is just being used as a prefix, so forward substitute it directly.
llvm-svn: 78067
|
| |
|
|
|
|
|
|
| |
add new concrete versions for 1/2/4-byte mergable strings.
These are not actually created yet.
llvm-svn: 78055
|
| |
|
|
|
|
| |
around in a tree I forgot about.
llvm-svn: 78048
|
| |
|
|
| |
llvm-svn: 78046
|
| |
|
|
| |
llvm-svn: 78043
|
| |
|
|
|
|
|
|
| |
private,
eliminate IsInTextSection.
llvm-svn: 78017
|
| |
|
|
| |
llvm-svn: 78015
|
| |
|
|
| |
llvm-svn: 78012
|
| |
|
|
| |
llvm-svn: 78010
|
| |
|
|
|
|
|
| |
few places in InstCombine to use it, to fix problems handling pointer
types. This fixes the recent llvm-gcc bootstrap error.
llvm-svn: 78005
|
| |
|
|
|
|
| |
and others.
llvm-svn: 78003
|
| |
|
|
|
|
| |
more step towards "semantics sections"
llvm-svn: 78002
|
| |
|
|
| |
llvm-svn: 77984
|
| |
|
|
|
|
| |
like "LLVM ERROR: llvm: error:" or "LLVM ERROR: ERROR:".
llvm-svn: 77971
|
| |
|
|
|
|
| |
fixes here and there (mostly __m64).
llvm-svn: 77964
|
| |
|
|
| |
llvm-svn: 77959
|
| |
|
|
| |
llvm-svn: 77953
|
| |
|
|
| |
llvm-svn: 77950
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 77932
|
| |
|
|
| |
llvm-svn: 77931
|
| |
|
|
|
|
| |
- The C, C++, MSIL, and Mips backends still need the module.
llvm-svn: 77927
|
| |
|
|
|
|
|
|
|
|
| |
__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
|
| |
|
|
|
|
| |
match.
llvm-svn: 77908
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 77903
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 77892
|