- Sep 20, 2012
-
-
Jason Molenda authored
get FormatManager.cpp to build on no-python platforms again. llvm-svn: 164284
-
Michael Liao authored
llvm-svn: 164283
-
Sean Silva authored
Toctree was not being interlinked properly. llvm-svn: 164282
-
Michael Liao authored
- Rewrite/merge pseudo-atomic instruction emitters to address the following issue: * Reduce one unnecessary load in spin-loop previously the spin-loop looks like thisMBB: newMBB: ld t1 = [bitinstr.addr] op t2 = t1, [bitinstr.val] not t3 = t2 (if Invert) mov EAX = t1 lcs dest = [bitinstr.addr], t3 [EAX is implicit] bz newMBB fallthrough -->nextMBB the 'ld' at the beginning of newMBB should be lift out of the loop as lcs (or CMPXCHG on x86) will load the current memory value into EAX. This loop is refined as: thisMBB: EAX = LOAD [MI.addr] mainMBB: t1 = OP [MI.val], EAX LCMPXCHG [MI.addr], t1, [EAX is implicitly used & defined] JNE mainMBB sinkMBB: * Remove immopc as, so far, all pseudo-atomic instructions has all-register form only, there is no immedidate operand. * Remove unnecessary attributes/modifiers in pseudo-atomic instruction td * Fix issues in PR13458 - Add comprehensive tests on atomic ops on various data types. NOTE: Some of them are turned off due to missing functionality. - Revise tests due to the new spin-loop generated. llvm-svn: 164281
-
Sean Silva authored
LGTM by Michael Spencer llvm-svn: 164280
-
Eli Friedman authored
llvm-svn: 164279
-
Andrew Trick authored
Try not to violate conventions immediately before explaining them. llvm-svn: 164278
-
Jordan Rose authored
If someone provides their own function called 'strdup', or 'reallocf', or even 'malloc', and we inlined it, the inlining should have given us all the malloc-related information we need. If we then try to attach new information to the return value, we could end up with spurious warnings. <rdar://problem/12317671> llvm-svn: 164276
-
Jordan Rose authored
While we definitely want this optimization in the future, we're not currently handling constraints on symbolic /expressions/ correctly. These should stay live even if the SymExpr itself is no longer referenced because could recreate an identical SymExpr later. Only once the SymExpr can no longer be recreated -- i.e. a component symbol is dead -- can we safely remove the constraints on it. This liveness issue is tracked by <rdar://problem/12333297>. This reverts r163444 / 24c7f98828e039005cff3bd847e7ab404a6a09f8. llvm-svn: 164275
-
Eli Friedman authored
llvm-svn: 164274
-
Richard Smith authored
non-function friend declaration. Patch by Josh Magee! llvm-svn: 164273
-
Richard Smith authored
llvm-svn: 164272
-
Bill Wendling authored
llvm-svn: 164268
-
Eli Friedman authored
member function templates with an rvalue ref qualifier. llvm-svn: 164267
-
Howard Hinnant authored
Add overflow check to tanh(complex) and reduce to finite answer. Fixes http://llvm.org/bugs/show_bug.cgi?id=13874 llvm-svn: 164266
-
Jim Grosbach authored
Make the TargetPrefix setting one big setting instead of being spread out everywhere. No functional change. llvm-svn: 164265
-
Bill Wendling authored
llvm-svn: 164264
-
Eli Friedman authored
functions. llvm-svn: 164263
-
Benjamin Kramer authored
Otherwise clang can't analyze code that relies on features provided by libc++. llvm-svn: 164262
-
Micah Villmow authored
llvm-svn: 164261
-
Eric Christopher authored
llvm-svn: 164260
-
Greg Clayton authored
A patch that allows for mach-o architectures to be specified as "<number>-<number>" where the first number is the cpu type and the second is the cpu subtype. Also added code to allow use of mach-o architectures that aren't in our tables so that symbolication and static file introspection (crashlogs) can work with them. llvm-svn: 164258
-
Greg Clayton authored
Don't get everything when resolving the symbol context of the ObjC Class symbol, just the module + symbol. llvm-svn: 164257
-
Owen Anderson authored
Soften the pattern-can-never-match error in TableGen into a warning. This pattern can be very useful in cases where you want to define a multiclass that covers both commutative and non-commutative operators (say, add and sub). llvm-svn: 164256
-
Sean Callanan authored
an out-of-date compiler in certain cases. llvm-svn: 164255
-
Eric Christopher authored
llvm-svn: 164254
-
- Sep 19, 2012
-
-
Eric Christopher authored
llvm-svn: 164253
-
Eric Christopher authored
llvm-svn: 164252
-
Owen Anderson authored
Implement a correct copy constructor for Record. Now that we're using the ID number as a key in maps (for determinism), it is imperative that ID numbers be globally unique, even when we copy construct a Record. This fixes some obscure failure cases involving registers defined inside multiclasses or foreach constructs that would not receive a unique ID, and would end up being omitted from the AsmMatcher tables. llvm-svn: 164251
-
Jakob Stoklund Olesen authored
A common coalescing conflict in vector code is lane insertion: %dst = FOO %src = BAR %dst:ssub0 = COPY %src The live range of %src interferes with the ssub0 lane of %dst, but that lane is never read after %src would have clobbered it. That makes it safe to merge the live ranges and eliminate the COPY: %dst = FOO %dst:ssub0 = BAR This patch teaches the new coalescer to resolve conflicts where dead vector lanes would be clobbered, at least as long as the clobbered vector lanes don't escape the basic block. llvm-svn: 164250
-
Andrew Kaylor authored
This patch adds memory support functions which will later be used to implement section-specific protection handling in MCJIT. llvm-svn: 164249
-
Preston Gurd authored
to improve compatibility with GNU as. Based on a patch by PaX Team. Fixed assertion failures on non-Darwin and added additional test cases. llvm-svn: 164248
-
Duncan Sands authored
Anthony Bryant. llvm-svn: 164247
-
Preston Gurd authored
This patch is based on the one by PaX Team. Patch by Andy Zhang! llvm-svn: 164246
-
Preston Gurd authored
The directive can be matched with directives other than '.rept' Patch by Andy Zhang! llvm-svn: 164245
-
DeLesley Hutchins authored
is placed on a function that has no path to the exit block. llvm-svn: 164244
-
Michael Liao authored
- Merge the processing of LOAD_ADD with other atomic load-arith operations - Separate the logic getting target constant for atomic-load-op and add an optimization for atomic-load-add on i16 with negative value - Optimize a minor case for atomic-fetch-add i16 with negative operand. Test case is revised. llvm-svn: 164243
-
DeLesley Hutchins authored
LOCKS_EXCLUDED is used on a method with a name that is is not a simple identifier. llvm-svn: 164242
-
Howard Hinnant authored
Overloaded __pad_and_output on ostreambuf_iterator and in this overload call sputn instead of dereferencing the iterator which calls sputc. This is intended to be purely a performance optimization, especially for clients who may have overloaded the virtual function xsputn. llvm-svn: 164241
-
David Blaikie authored
Patch by Joey Gouly. llvm-svn: 164239
-