- Jun 24, 2008
-
-
Chris Lattner authored
polution problems from system headers. Patch by Nathan Keynes! llvm-svn: 52682
-
Bill Wendling authored
llvm-svn: 52647
-
- Jun 16, 2008
-
-
Evan Cheng authored
- Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. - Mark lots of X86 intrinsics as "Commutative" to allow load folding. llvm-svn: 52353
-
- Jun 10, 2008
-
-
Matthijs Kooijman authored
llvm-svn: 52177
-
- Jun 09, 2008
-
-
Dan Gohman authored
llvm-svn: 52149
-
- Jun 06, 2008
-
-
Duncan Sands authored
and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). llvm-svn: 52044
-
- Jun 05, 2008
-
-
Nick Lewycky authored
llvm-svn: 51998
-
- Jun 04, 2008
-
-
Chris Lattner authored
for reporting this. llvm-svn: 51926
-
- Jun 02, 2008
-
-
Dan Gohman authored
llvm-svn: 51879
-
Dan Gohman authored
in DAGISelEmitter output. This bug was recently uncovered by the addition of patterns for CALL32m and CALL64m, which are nodes that now have both MemOperands and variadic_ops. This bug was especially visible with PIC in various configurations, because the new patterns are matching the indirect call code used in many PIC configurations. llvm-svn: 51877
-
- Jun 01, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 51841
-
- May 31, 2008
-
-
Mikhail Glushenkov authored
llvm-svn: 51814
-
Dan Gohman authored
index for the input pattern in terms of the output pattern. Instead keep track of how many fixed operands the input pattern actually has, and have the input matching code pass the output-emitting function that index value. This simplifies the code, disentangles variables_ops from the support for predication operations, and makes variable_ops more robust. llvm-svn: 51808
-
Evan Cheng authored
llvm-svn: 51795
-
- May 30, 2008
-
-
Evan Cheng authored
llvm-svn: 51775
-
Mikhail Glushenkov authored
llvm-svn: 51759
-
Mikhail Glushenkov authored
llvm-svn: 51757
-
Mikhail Glushenkov authored
llvm-svn: 51756
-
Mikhail Glushenkov authored
It can be handy to have all information about options gathered in a single place to provide an overview of all supported options. This patch allows the following: def Options : OptionList<[ (switch_option "E", (help "Help string")), (alias_option "quiet", "q") ... ]>; Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in this context, so the only properties that are allowed are 'help' and 'required'. See usage example in examples/Clang.td. llvm-svn: 51754
-
Mikhail Glushenkov authored
llvm-svn: 51752
-
Mikhail Glushenkov authored
The following is now allowed: (case (not_empty "o"), do_something, ...) This didn't work previously because "-o" is built-in. llvm-svn: 51751
-
Mikhail Glushenkov authored
llvm-svn: 51750
-
Mikhail Glushenkov authored
llvm-svn: 51749
-
Mikhail Glushenkov authored
The following is now legal: (case (in_language "c"), (case (switch_on "E"), "gcc -x c -E $INFILE", (default), "gcc -x c $INFILE"), (default), "gcc $INFILE $OUTFILE") llvm-svn: 51748
-
Mikhail Glushenkov authored
llvm-svn: 51747
-
Mikhail Glushenkov authored
There are now no situations when 'default' is required. llvm-svn: 51746
-
Mikhail Glushenkov authored
llvm-svn: 51745
-
Mikhail Glushenkov authored
llvm-svn: 51744
-
Mikhail Glushenkov authored
llvm-svn: 51742
-
Mikhail Glushenkov authored
llvm-svn: 51738
-
Mikhail Glushenkov authored
llvm-svn: 51737
-
Mikhail Glushenkov authored
llvm-svn: 51734
-
Mikhail Glushenkov authored
For instance, the following command: llvmc2 -E hello.c now generates a file with the correct suffix (hello.i). llvm-svn: 51733
-
Mikhail Glushenkov authored
Used like this: (cmd_line "$CALL(MyHook) --option -o $ENV(VARIABLE) $CALL(AnotherHook)") Also works with case expressions. Hook declarations are auto-generated, the definitions should be provided by the user (just drop a .cpp file in the tools/llvmc2 directory). Hooks should live in the "hooks" namespace and have type std::string hooks::Hook(void). llvm-svn: 51732
-
Mikhail Glushenkov authored
llvm-svn: 51729
-
Mikhail Glushenkov authored
llvm-svn: 51728
-
Mikhail Glushenkov authored
Besides assigning edge weights, it will also be used by the cmd_line tool property. llvm-svn: 51727
-
- May 29, 2008
-
-
Dan Gohman authored
cases due to an isel deficiency already noted in lib/Target/X86/README.txt, but they can be matched in this fold-call.ll testcase, for example. This is interesting mainly because it exposes a tricky tblgen bug; tblgen was incorrectly computing the starting index for variable_ops in the case of a complex pattern. llvm-svn: 51706
-
Dan Gohman authored
definitions. This adds a new construct, "discard", for indicating that a named node in the input matching pattern is to be discarded, instead of corresponding to a node in the output pattern. This allows tblgen to know where the arguments for the varaible_ops are supposed to begin. This fixes "rdar://5791600", whatever that is ;-). llvm-svn: 51699
-
Bill Wendling authored
instruction to execute. This can be used for transformations (like two-address conversion) to remat an instruction instead of generating a "move" instruction. The idea is to decrease the live ranges and register pressure and all that jazz. llvm-svn: 51660
-