- Feb 11, 2013
-
-
Tobias Grosser authored
CLooG is already optional in the autoconf build. llvm-svn: 174872
-
Tim Northover authored
This gives a DiagnosticType to all AsmOperands in sight. This replaces all "invalid operand" diagnostics with something more specific. The messages given should still be sufficiently vague that they're not usually actively misleading when LLVM guesses your instruction incorrectly. llvm-svn: 174871
-
Cameron Zwarich authored
This is currently a bit hairier than it needs to be, since depending on where the split block resides the end ListEntry of the split block may be the end ListEntry of the original block or a new entry. Some changes to the SlotIndexes updating should make it possible to eliminate the two cases here. This also isn't as optimized as it could be. In the future Liveinterval should probably get a flag that indicates whether the LiveInterval is within a single basic block. We could ignore all such intervals when splitting an edge. llvm-svn: 174870
-
Cameron Zwarich authored
really trying to avoid piping SlotIndexes through to RemoveBranch() and friends. llvm-svn: 174869
-
Cameron Zwarich authored
particular, holes were being left between two blocks after splitting an edge. llvm-svn: 174868
-
Bill Wendling authored
This emits the attribute groups that are used by the functions. (It currently doesn't print out return type or parameter attributes within attribute groups.) Note: The functions still retrieve their attributes from the "old" bitcode format (using the deprecated 'Raw()' method). This means that string attributes within an attribute group will not show up during a disassembly. This will be addressed in a future commit. llvm-svn: 174867
-
Bill Wendling authored
llvm-svn: 174866
-
Bill Wendling authored
llvm-svn: 174865
-
Kostya Serebryany authored
llvm-svn: 174864
-
Daniel Jasper authored
Before: operatorvoid*(); operator vector< A< A>>(); After: operator void *(); operator vector<A<A> >(); llvm-svn: 174863
-
Manuel Klimek authored
llvm-svn: 174862
-
Evgeniy Stepanov authored
llvm-svn: 174861
-
Bob Wilson authored
This reverts my commit 171047. Now that I've removed my misguided attempt to support backend warnings, these diagnostics are only about inline assembly. It would take quite a bit more work to generalize them properly, so I'm just reverting this. llvm-svn: 174860
-
Hal Finkel authored
This removes the last of the linear searches over ranges of std::multimap iterators, giving a 7% speedup on the doduc.bc input from PR15222. No functionality change intended. llvm-svn: 174859
-
Hal Finkel authored
This is another cleanup aimed at eliminating linear searches in ranges of std::multimap. No functionality change intended. llvm-svn: 174858
-
Hal Finkel authored
Profiling suggests that getInstructionTypes is performance-sensitive, this cleans up some double-casting in that function in favor of using dyn_cast. No functionality change intended. llvm-svn: 174857
-
Hal Finkel authored
By itself, this does not have much of an effect, but only because in the default configuration the full cycle checks are used only for small problem sizes. This is part of a general cleanup of uses of iteration over std::multimap ranges only for the purpose of checking membership. No functionality change intended. llvm-svn: 174856
-
Evan Cheng authored
function is successfully handled by fast-isel. That's because function arguments are *always* handled by SDISel. Introduce FastLowerArguments to allow each target to provide hook to handle formal argument lowering. As a proof-of-concept, add ARMFastIsel::FastLowerArguments to handle functions with 4 or fewer scalar integer (i8, i16, or i32) arguments. It completely eliminates the need for SDISel for trivial functions. rdar://13163905 llvm-svn: 174855
-
Evan Cheng authored
llvm-svn: 174854
-
David Blaikie authored
I have some uncommitted changes to the cast code that catch this sort of thing at compile-time but I still need to do some other cleanup before I can enable it. llvm-svn: 174853
-
Joel Jones authored
llvm-svn: 174852
-
Cameron Zwarich authored
support for updating SlotIndexes to MachineBasicBlock::SplitCriticalEdge(). This calls renumberIndexes() every time; it should be improved to only renumber locally. llvm-svn: 174851
-
Cameron Zwarich authored
both LiveVariables and LiveIntervals. llvm-svn: 174850
-
Bill Wendling authored
This reads the attribute groups. It currently doesn't do anything with them. NOTE: In the commit to the bitcode writer, the format *may* change in the near future. Which means that this code would also change. llvm-svn: 174849
-
Bill Wendling authored
llvm-svn: 174848
-
Bill Wendling authored
llvm-svn: 174847
-
Bill Wendling authored
llvm-svn: 174846
-
Bill Wendling authored
This is some initial code for emitting the attribute groups into the bitcode. NOTE: This format *may* change! Do not rely upon the attribute groups' bitcode not changing. llvm-svn: 174845
-
Bill Wendling authored
Attribute groups are essentially all AttributeSets which are used by the program. Enumerate them here. llvm-svn: 174844
-
- Feb 10, 2013
-
-
Nico Weber authored
The more general code for formatting ObjC method exprs does this and more, it's no longer necessary to special-case this. No behavior change. llvm-svn: 174843
-
Nico Weber authored
As it turns out, this already works reasonably well. This example from http://clang.llvm.org/docs/ObjectiveCLiterals.html NSDictionary *dictionary = @{ @"name" : NSUserName(), @"date" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] }; is formatted like NSDictionary *dictionary = @{ @"name" : NSUserName(), @"date" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] }; There's already a FIXME in NestedStaticInitializers about supporting one initializer per line, which is really all that's missing here too. llvm-svn: 174842
-
Nico Weber authored
(From http://clang.llvm.org/docs/ObjectiveCLiterals.html.) llvm-svn: 174841
-
Nico Weber authored
Before: @{ foo: bar } ; Now: @{ foo : bar }; parseBracedList() already does the right thing from an UnwrappedLineParser perspective, so check for "@{" in all loops that process constructs that can contain expressions and call parseBracedList() if found. llvm-svn: 174840
-
Vincent Lejeune authored
llvm-svn: 174839
-
rdar://13177960Bob Wilson authored
Apple's kernel engineers have been expecting this behavior even though we've never implemented it before, as far as I can tell. In recent months, clang has gotten better at using vector instructions to optimize memcpy-like operations, and that has exposed problems when vector/floating-point instructions are used in kexts that don't support that. This behavior also matches what Apple's GCC did for PowerPC targets. llvm-svn: 174838
-
Bob Wilson authored
llvm-svn: 174837
-
rdar://13180731Bob Wilson authored
For x86 targets, we've been using the -msoft-float option to control passing the no-implicit-float option to cc1. Since the -mno-implicit-float option is now accepted by the driver, this just makes it work for x86 the same as it does for ARM targets. llvm-svn: 174836
-
Dmitri Gribenko authored
llvm-svn: 174835
-
Bill Wendling authored
llvm-svn: 174834
-
Bill Wendling authored
llvm-svn: 174833
-