| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
Extract a base class and provide four specific sub-classes for iterating
over const/non-const bundles/instructions.
This eliminates the mystery bool constructor argument.
llvm-svn: 151684
|
| |
|
|
|
|
|
|
|
|
| |
find root names on Unix.
- This fixes make_absolute to not basically always call current_path() on
Unix systems.
- I think the API probably needs cleanup in this area, but I'll let Michael
handle that.
llvm-svn: 151681
|
| |
|
|
| |
llvm-svn: 151680
|
| |
|
|
|
|
| |
in the streaming case.
llvm-svn: 151676
|
| |
|
|
| |
llvm-svn: 151675
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this hook, functions w/ a completely empty body (including no
epilogue) will cause an MCEmitter assertion failure.
For example,
define internal fastcc void @empty_function() {
unreachable
}
rdar://10947471
llvm-svn: 151673
|
| |
|
|
|
|
|
|
|
|
| |
SlotIndexes are not assigned to instructions inside bundles, but it is
still valid to look up the index of those instructions.
The reverse getInstructionFromIndex() will return the first instruction
in the bundle.
llvm-svn: 151672
|
| |
|
|
|
|
| |
and isWeak(), with a bitset of flags.
llvm-svn: 151670
|
| |
|
|
|
|
| |
sure we don't use it with compilers that don't support it.
llvm-svn: 151665
|
| |
|
|
|
|
|
|
| |
methods are no longer needed now that LinearScan has gone away.
(Contains tweaks trivialSpillEverywhere to enable the removal of getNewVRegs).
llvm-svn: 151658
|
| |
|
|
|
|
|
|
|
|
| |
debug info for assembly files. We were already doing the right thing when
producing debug info for C/C++.
ELF linkers don't know dwarf, so they depend on these relocations to produce
valid dwarf output.
llvm-svn: 151655
|
| |
|
|
|
|
|
|
| |
Clang builds. The detection logic for compilers that support the warning
isn't working. Rafael is going to investigate it, but didn't want people
to have to wade through build spam until then.
llvm-svn: 151649
|
| |
|
|
|
|
|
|
| |
These instructions accept but do not require a size suffix.
rdar://10947225
llvm-svn: 151646
|
| |
|
|
|
|
| |
direct call.
llvm-svn: 151645
|
| |
|
|
| |
llvm-svn: 151644
|
| |
|
|
| |
llvm-svn: 151639
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid problems with zero shifts when getting the bits that move between words
we use a trick: first shift the by amount-1, then do another shift by one. When
amount is 0 (and size 32) we first shift by 31, then by one, instead of by 32.
Also fix a latent bug that emitted the low and high words in the wrong order
when shifting right.
Fixes PR12113.
llvm-svn: 151637
|
| |
|
|
|
|
| |
prediction. ...", it is breaking the Clang build during the Compiler-RT part.
llvm-svn: 151630
|
| |
|
|
| |
llvm-svn: 151629
|
| |
|
|
| |
llvm-svn: 151627
|
| |
|
|
|
|
|
|
|
|
|
| |
When the GEP index is a vector of pointers, the code that calculated the size
of the element started from the vector type, and not the contained pointer type.
As a result, instead of looking at the data element pointed by the vector, this
code used the size of the vector. This works for 32bit members (on 32bit
systems), but not for other types. Added code to peel the vector type and
added a test.
llvm-svn: 151626
|
| |
|
|
| |
llvm-svn: 151625
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the processor keeps a return addresses stack (RAS) which stores the address
and the instruction execution state of the instruction after a function-call
type branch instruction.
Calling a "noreturn" function with normal call instructions (e.g. bl) can
corrupt RAS and causes 100% return misprediction so LLVM should use a
unconditional branch instead. i.e.
mov lr, pc
b _foo
The "mov lr, pc" is issued in order to get proper backtrace.
rdar://8979299
llvm-svn: 151623
|
| |
|
|
|
|
| |
suggested in PR11951.
llvm-svn: 151622
|
| |
|
|
|
|
| |
start of it. There were all sorts of buildbot issues
llvm-svn: 151621
|
| |
|
|
| |
llvm-svn: 151620
|
| |
|
|
| |
llvm-svn: 151618
|
| |
|
|
| |
llvm-svn: 151617
|
| |
|
|
| |
llvm-svn: 151615
|
| |
|
|
|
|
| |
not O32.
llvm-svn: 151614
|
| |
|
|
|
|
| |
Mac OS X. Patch by Fabian Groffen, with a slight tweak by me.
llvm-svn: 151612
|
| |
|
|
|
|
| |
load and store instructions.
llvm-svn: 151611
|
| |
|
|
|
|
|
|
| |
Don't attempt to extend physreg live ranges across calls.
<rdar://problem/10942095>
llvm-svn: 151610
|
| |
|
|
| |
llvm-svn: 151609
|
| |
|
|
| |
llvm-svn: 151607
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an outgoing call takes more than 2k of arguments on the stack, we
don't allocate that call frame in the prolog, but adjust the stack
pointer immediately before the call instead.
This causes problems with the emergency spill slot because PEI can't
track stack pointer adjustments on the second pass, and if the outgoing
arguments are too big, SP can't be used to reach the emergency spill
slot at all.
Work around these problems by ensuring there is a base or frame pointer
that can be used to access the emergency spill slot.
<rdar://problem/10917166>
llvm-svn: 151604
|
| |
|
|
|
|
|
|
| |
Add -D option to llvm-nm to dump dynamic symbols.
Patch by David Meyer.
llvm-svn: 151600
|
| |
|
|
| |
llvm-svn: 151599
|
| |
|
|
|
|
| |
(half, ppcf128, mmx, etc.)
llvm-svn: 151596
|
| |
|
|
|
|
| |
breaks other things.
llvm-svn: 151594
|
| |
|
|
|
|
| |
to the instruction scheduler for the Intel Atom.
llvm-svn: 151590
|
| |
|
|
| |
llvm-svn: 151588
|
| |
|
|
|
|
| |
defaults to the ABI alignment. Given that, make this code a bit more aggressive in such cases.
llvm-svn: 151584
|
| |
|
|
| |
llvm-svn: 151582
|
| |
|
|
| |
llvm-svn: 151580
|
| |
|
|
| |
llvm-svn: 151578
|
| |
|
|
|
|
|
| |
manifests itself when building LLVM with LTO.
<rdar://problem/10913281>
llvm-svn: 151576
|
| |
|
|
|
|
| |
Patch by David Meyer.
llvm-svn: 151575
|
| |
|
|
|
|
|
|
|
| |
%S5<def> = COPY %S0<kill>
First clear def map of Q1, etc.
No small test case available.
llvm-svn: 151574
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We on the linker to resolve calls to the appropriate BL/BLX instruction
to make interworking function correctly. It uses the symbol in the
relocation to do that, so we need to be careful about being too clever.
To enable this for ARM mode, split the BL/BLX fixup kind off from the
unconditional-branch fixups.
rdar://10927209
llvm-svn: 151571
|