| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
conversions. PR12121.
llvm-svn: 151674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 151669
|
| |
|
|
| |
llvm-svn: 151668
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Original log:
---------------------
Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
This fixes code such as:
enum e {x, y};
int f(enum {y, x} n) {
return 0;
}
This finally fixes PR5464 and PR5477.
---------------------
I also reverted r151641 which was enhancement on top of r151638.
llvm-svn: 151667
|
| |
|
|
|
|
| |
list-initializations. Fixes PR12118.
llvm-svn: 151666
|
| |
|
|
|
|
| |
sure we don't use it with compilers that don't support it.
llvm-svn: 151665
|
| |
|
|
|
|
|
|
| |
don't support cross-file diagnostics
into a common place. Currently enable this filtration for Plist diagnostics as well.
llvm-svn: 151664
|
| |
|
|
|
|
|
|
|
| |
unnecessary cruft caused by path inlining.
This introduces a concept of a "prunable" PathDiagnosticEvent. Currently this is a flag, but
we may evolve the concept to make this more dynamically inferred.
llvm-svn: 151663
|
| |
|
|
| |
llvm-svn: 151662
|
| |
|
|
|
|
| |
closest function context (RetainCountChecker).
llvm-svn: 151661
|
| |
|
|
|
|
| |
here, and generally nicer to the optimizer.
llvm-svn: 151659
|
| |
|
|
|
|
|
|
| |
methods are no longer needed now that LinearScan has gone away.
(Contains tweaks trivialSpillEverywhere to enable the removal of getNewVRegs).
llvm-svn: 151658
|
| |
|
|
|
|
| |
message.
llvm-svn: 151657
|
| |
|
|
|
|
| |
test.
llvm-svn: 151656
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
rdar://10947759
llvm-svn: 151654
|
| |
|
|
| |
llvm-svn: 151653
|
| |
|
|
|
|
| |
This fixes http://llvm.org/bugs/show_bug.cgi?id=12105.
llvm-svn: 151652
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Solaris and we'll ship a __cxa_atexit implementation...
llvm-svn: 151648
|
| |
|
|
|
|
|
|
| |
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: 151642
|
| |
|
|
|
|
| |
name change went horribly wrong and I forgot to retest afterwards.
llvm-svn: 151641
|
| |
|
|
| |
llvm-svn: 151640
|
| |
|
|
| |
llvm-svn: 151639
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function, and ensure they are properly scoped.
This fixes code such as:
enum e {x, y};
int f(enum {y, x} n) {
return 0;
}
This finally fixes PR5464 and PR5477.
llvm-svn: 151638
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
that have valid load addresses.
llvm-svn: 151636
|
| |
|
|
|
|
|
|
|
|
| |
make sure to record the source location of the ivar name.
[libclang] When indexing @synthesized objc methods, report the @implementation
as the lexical container.
Fixes rdar://10905472
llvm-svn: 151635
|
| |
|
|
|
|
|
|
| |
the getter/setter objc method entities that the property is associated with.
rdar://10244558
llvm-svn: 151634
|
| |
|
|
|
|
|
|
|
|
| |
extension.
[libclang] Index the getter/setter methods of a property of a objc class extension.
Fixes rdar://10907597
llvm-svn: 151633
|
| |
|
|
|
|
| |
clang (and linking clang against it).
llvm-svn: 151632
|
| |
|
|
| |
llvm-svn: 151631
|
| |
|
|
|
|
| |
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: 151616
|