- Jul 22, 2013
-
-
Shuxin Yang authored
There already have two "dead" functions, initialize{IPO|IPA}, defined for similar purpose. I decide not to call these two functions for two reasons: o. they don't cover all LTO passes (which will soon be separated into IPO and post-IPO passes) o. We have not yet figured out the right passes and the ordering for IPO and post-IPO stages, meaning this change is only for the time being. Since LTO passes are registered, we are now able to print IR before and after particular point. For OSX users: -------------- "...-Wl,-mllvm -Wl,-print-after=<pass-name>" will print IR after the specified pass. For Other UNIX with GNU gold linker: ------------------------------------ "-Wl,-plugin-opt=-print-after=<pass-name>" should work. (NOTE: no need for "-Wl,-mllvm") Strip "-Wl," if flags are fed directly to linker instead of clang/clang++. llvm-svn: 186853
-
Eric Christopher authored
llvm-svn: 186852
-
Eric Christopher authored
llvm-svn: 186851
-
Jim Grosbach authored
Variadic MC instructions don't note whether the variable operands are uses or defs, so mayAffectControlFlow() must conservatively assume they are defs and return true if the PC is in the operand list. rdar://14488628 llvm-svn: 186846
-
Nadav Rotem authored
Fix an obvious typo in the loop vectorizer where the cost model uses the wrong variable. The variable BlockCost is ignored. We don't have tests for the effect of if-conversion loops because it requires a big test (that includes if-converted loops) and it is difficult to find and balance a loop to do the right thing. llvm-svn: 186845
-
Justin Holewinski authored
llvm-svn: 186844
-
Hans Wennborg authored
Option aliases in option groups were previously disallowed by an assert. As far as I can tell, there was no technical reason for this, and I would like to be able to put cl.exe compatible options in their own group for Clang, so let's change the assert. llvm-svn: 186838
-
Mihai Popa authored
instructions. With this patch: 1. ldr.n is recognized as mnemonic for the short encoding 2. ldr.w is recognized as menmonic for the long encoding 3. ldr will map to either short or long encodings depending on the size of the offset llvm-svn: 186831
-
Rafael Espindola authored
This matches gnu archive behavior and since archive member order can change which member is used, not changing the order on replacement looks like the right thing to do. This patch also refactors the logic for which archive member to keep and whether to move it to a helper function (computeInsertAction). The nesting in computeNewArchiveMembers was getting a bit confusing. llvm-svn: 186829
-
Rafael Espindola authored
GNU ar when not given the a or b modifiers replaces archive members in the same location of the old ones. I am about to implement that in llvm-ar. For now, just don't depend on the current llvm-ar behavior on this test. llvm-svn: 186823
-
Justin Holewinski authored
.ftz to instructions if the nvptx-f32ftz attribute is set to "true" llvm-svn: 186820
-
Tim Northover authored
This reverts commit r186813, which broke the bots. llvm-svn: 186818
-
Craig Topper authored
llvm-svn: 186815
-
Craig Topper authored
llvm-svn: 186814
-
Craig Topper authored
llvm-svn: 186813
-
Craig Topper authored
llvm-svn: 186812
-
Craig Topper authored
llvm-svn: 186811
-
Tim Northover authored
After Ulrich's r180677 (thanks!) TableGen is intelligent enough to handle tied constraints involving complex operands properly, so virtually all of the ARM custom converters are now unnecessary. llvm-svn: 186810
-
Craig Topper authored
llvm-svn: 186809
-
Nadav Rotem authored
llvm-svn: 186808
-
Michael Gottesman authored
Added missing - in the header of PrologEpilogInserter.h so that editors properly realize it is a c++ header and not a c header. llvm-svn: 186801
-
Richard Smith authored
deallocation functions. llvm-svn: 186798
-
- Jul 21, 2013
-
-
Rafael Espindola authored
We were incorrectly computing where to insert a member if it was replacing a previous member that was before the insert point. llvm-svn: 186792
-
Rafael Espindola authored
llvm-svn: 186791
-
Benjamin Kramer authored
llvm-svn: 186790
-
Chandler Carruth authored
to iterate over. llvm-svn: 186788
-
Craig Topper authored
llvm-svn: 186787
-
Nadav Rotem authored
llvm-svn: 186786
-
Logan Chien authored
Fix exception demo when we are building the examples with configure/make. This commit updates the link components in the Makefile. llvm-svn: 186785
-
Chandler Carruth authored
helper function. This leaves both trivial cases handled entirely in helper functions and merely manages the list of allocas to process in the run method. The next step will be to handle all of the trivial promotion work prior to even creating the core class and the subsequent simplifications that enables. llvm-svn: 186784
-
Chandler Carruth authored
a single block into the helper routine. This takes advantage of the fact that we can directly replace uses prior to any store with undef to simplify matters and unconditionally promote allocas only used within one block. I've removed the special handling for the case of no stores existing. This has no semantic effect but might slow things down. I'll fix that in a later patch when I refactor this entire thing to be easier to manage the different cases. llvm-svn: 186783
-
Chandler Carruth authored
llvm-svn: 186782
-
Chandler Carruth authored
handles the general cases. The hope is to refactor this so that we don't end up building the entire class for the trivial cases. I also want to lift a lot of the early pre-processing in the initial segment of run() into a separate routine, and really none of it needs to happen inside the primary promotion class. These routines in particular used none of the actual state in the promotion class, so they don't really make sense as members. llvm-svn: 186781
-
Chandler Carruth authored
This struct is nicely independent of everything else, and we already needed a foward declaration here. It's simpler to just define it immediately. llvm-svn: 186780
-
Chandler Carruth authored
llvm-svn: 186779
-
Rafael Espindola authored
GlobalOpt simplifies llvm.compiler.used by removing any members that are also in the more strict llvm.used. Handle the special case where llvm.compiler.used becomes empty. llvm-svn: 186778
-
Chandler Carruth authored
that ensued from that. llvm-svn: 186777
-
Chandler Carruth authored
pattern and conform to the naming conventions. llvm-svn: 186776
-
Chandler Carruth authored
subsequent changes don't introduce inconsistencies. llvm-svn: 186775
-
Andrew Trick authored
llvm-svn: 186774
-