- Mar 12, 2014
-
-
Rafael Espindola authored
As an example that was not actually being used, it suffered from a slow bitrot. The two main issues with it were that it had no cmake support and included a copy of the autoconf directory. The reality is that autoconf is not easily composable. The lack of composabilty is why we have clang options in llvm's configure. Suggesting that users include a copy of autoconf/ in their projects seems a bad idea. We are also in the process of switching to cmake, so pushing autoconf to new project is probably not what we want. llvm-svn: 203728
-
David Blaikie authored
llvm-svn: 203727
-
David Blaikie authored
This makes the mapping consistent with other CU->X mappings in the MCContext, helping pave the way to refactor all these values into a single data structure per CU and thus a single map. I haven't renamed the data structure as that would make the patch churn even higher (the MCLineSection name no longer makes sense, as this structure now contains lines for multiple sections covered by a single CU, rather than lines for a single section in multiple CUs) and further refactorings will follow that may remove this type entirely. For convenience, I also gave the MCLineSection value semantics so we didn't have to do the lazy construction, manual delete, etc. (& for those playing at home, refactoring the line printing into a single data structure will eventually alow that data structure to be reused to own the debug_line.dwo line table used for type unit file name resolution) llvm-svn: 203726
-
Rafael Espindola authored
llvm-svn: 203725
-
Justin Bogner authored
Chandler voiced some concern with checking this in without some discussion first. Reverting for now. This reverts r203703, r203704, r203708, and 203709. llvm-svn: 203723
-
Michael Zolotukhin authored
Don't normalize an expression during postinc transformation unless it's invertible. llvm-svn: 203719
-
Adam Nemet authored
Extend what's currently done for shift because the HW performs this masking implicitly: (rotl:i32 x, (and y, 31)) -> (rotl:i32 x, y) I use the newly factored out multiclass that was only supporting shifts so far. For testing I extended my testcase for the new rotation idiom. <rdar://problem/15295856> llvm-svn: 203718
-
Rafael Espindola authored
llvm-svn: 203717
-
Michael Zolotukhin authored
llvm-svn: 203716
-
Justin Bogner authored
MSVC doesn't understand it, and it wasn't really necessary anyway. llvm-svn: 203709
-
Justin Bogner authored
This was leftover from an approach I abandoned, but I forgot to update it before committing. llvm-svn: 203708
-
Raul E. Silvera authored
This reverts commit 86cb795388643710dab34941ddcb5a9470ac39d8. The problems previously found have been resolved through other CLs. llvm-svn: 203707
-
Rafael Espindola authored
llvm-svn: 203706
-
Rafael Espindola authored
On ELF and COFF an alias is just another name for a position in the file. There is no way to refer to a position in another file, so an alias to undefined is meaningless. MachO currently doesn't support aliases. The spec has a N_INDR, which when implemented will have a different set of restrictions. Adding support for it shouldn't be harder than any other IR extension. For now, having the IR represent what is actually possible with current tools makes it easier to fix the design of GlobalAlias. llvm-svn: 203705
-
Justin Bogner authored
This replaces the llvm-profdata tool with a version that uses the recently introduced Profile library. The new tool has the ability to generate and summarize profdata files as well as merging them. llvm-svn: 203704
-
Justin Bogner authored
This provides a library to work with the instrumentation based profiling format that is used by clang's -fprofile-instr-* options and by the llvm-profdata tool. This is a binary format, rather than the textual one that's currently in use. The tests are in the subsequent commits that use this. llvm-svn: 203703
-
Eric Christopher authored
llvm-svn: 203702
-
Rafael Espindola authored
Without this common features like off_t and strdup are missing. This should bring back those bots. Configure bits by Meador Inge. llvm-svn: 203701
-
Roman Divacky authored
llvm-svn: 203699
-
Eric Christopher authored
llvm-svn: 203698
-
Eric Christopher authored
llvm-svn: 203697
-
Matt Arsenault authored
llvm-svn: 203695
-
Hans Wennborg authored
This allows us to generate table lookups for code such as: unsigned test(unsigned x) { switch (x) { case 100: return 0; case 101: return 1; case 103: return 2; case 105: return 3; case 107: return 4; case 109: return 5; case 110: return 6; default: return f(x); } } Since cases 102, 104, etc. are not constants, the lookup table has holes in those positions. We therefore guard the table lookup with a bitmask check. Patch by Jasper Neumann! llvm-svn: 203694
-
Eric Christopher authored
is a declaration and return the size of the type. llvm-svn: 203690
-
Evan Cheng authored
llvm-svn: 203687
-
Rafael Espindola authored
llvm-svn: 203686
-
Adam Nemet authored
The peephole (shift x, (and y, 31)) -> (shift x, y) is repeated for each integer type and each shift variant. To improve this a new multiclass is added that covers all integer types. The shift patterns are now instantiated from this. I am planning to add new instances for rotates as well. No functional change intended: * test/CodeGen/X86/shift-and.ll provides coverage * Compared the expanded tablegen output and matched up the defs for these Pat<>s before and after llvm-svn: 203685
-
Quentin Colombet authored
This is related to <rdar://problem/15607571>. llvm-svn: 203682
-
Eric Christopher authored
No functional change. llvm-svn: 203681
-
Eric Christopher authored
llvm-svn: 203680
-
Justin Bogner authored
llvm-svn: 203679
-
David Blaikie authored
llvm-svn: 203678
-
Rafael Espindola authored
When printing assembly we don't have a Layout object, but we can still try to fold some constants. Testcase by Ulrich Weigand. llvm-svn: 203677
-
David Blaikie authored
llvm-svn: 203676
-
Eli Bendersky authored
llvm-svn: 203675
-
Eli Bendersky authored
Otherwise gcc 4.8.2 generates a warning. llvm-svn: 203671
-
Hans Wennborg authored
This is a follow-up to r203635 as suggested by Rafael. llvm-svn: 203670
-
Eli Bendersky authored
There's a bit of duplicated "magic" code in opt.cpp and Clang's CodeGen that computes the inliner threshold from opt level and size opt level. This patch moves the code to a function that lives alongside the inliner itself, providing a convenient overload to the inliner creation. A separate patch can be committed to Clang to use this once it's committed to LLVM. Standalone tools that use the inlining pass can also avoid duplicating this code and fearing it will go out of sync. Note: this patch also restructures the conditinal logic of the computation to be cleaner. llvm-svn: 203669
-
Will Schmidt authored
Update the datalayout string for ppc64LE. llvm-svn: 203664
-
Alon Mishne authored
llvm-svn: 203662
-