- Feb 12, 2012
-
-
Nick Lewycky authored
to TargetLibraryInfo and use one of them in GlobalOpt. llvm-svn: 150323
-
Craig Topper authored
llvm-svn: 150321
-
Craig Topper authored
llvm-svn: 150314
-
- Feb 11, 2012
-
-
Anton Korobeynikov authored
Patch by Kai Nacke! llvm-svn: 150307
-
Benjamin Kramer authored
llvm-svn: 150305
-
Benjamin Kramer authored
llvm-svn: 150304
-
Benjamin Kramer authored
This requires some gymnastics to make it available for C code. Remove the names from the disassembler tables, making them relocation free. llvm-svn: 150303
-
Craig Topper authored
Remove some patterns for matching vector_shuffle instructions since vector_shuffles should be custom lowered before isel. llvm-svn: 150299
-
Craig Topper authored
Fix shuffle lowering code to stop creating temporary DAG nodes to do shuffle mask checks on. This seemed to be confusing things such that vector_shuffle ops to got through to iselection. This is another step towards removing the vector_shuffle handling patterns from isel. llvm-svn: 150296
-
- Feb 10, 2012
-
-
Jim Grosbach authored
Now that the clang driver passes the CPU and feature information to the backend when processing assembly files (150273), this isn't necessary. llvm-svn: 150274
-
Jason W Kim authored
llvm-svn: 150251
-
Andrew Trick authored
llvm-svn: 150228
-
Andrew Trick authored
llvm-svn: 150227
-
Andrew Trick authored
Creates a configurable regalloc pipeline. Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa. When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>. CodeGen transformation passes are never "required" as an analysis ProcessImplicitDefs does not require LiveVariables. We have a plan to massively simplify some of the early passes within the regalloc superpass. llvm-svn: 150226
-
Jim Grosbach authored
rdar://10838899 llvm-svn: 150222
-
- Feb 09, 2012
-
-
Sirish Pande authored
llvm-svn: 150178
-
James Molloy authored
Teach the MC and disassembler about SoftFail, and hook it up to UNPREDICTABLE on ARM. Wire this to tBLX in order to provide test coverage. llvm-svn: 150169
-
Craig Topper authored
llvm-svn: 150167
-
Craig Topper authored
Flatten some of the arrays in the X86 disassembler tables to reduce space needed to store pointers on 64-bit hosts and reduce relocations needed at startup. Part of PR11953. llvm-svn: 150161
-
Jakob Stoklund Olesen authored
Calls clobber the flags, but when using register masks there is no EFLAGS<imp-def> operand. llvm-svn: 150117
-
- Feb 08, 2012
-
-
Andrew Trick authored
Moving toward a uniform style of pass definition to allow easier target configuration. Globally declare Pass ID. Globally declare pass initializer. Use INITIALIZE_PASS consistently. Add a call to the initializer from CodeGen.cpp. Remove redundant "createPass" functions and "getPassName" methods. While cleaning up declarations, cleaned up comments (sorry for large diff). llvm-svn: 150100
-
Andrew Trick authored
llvm-svn: 150097
-
Andrew Trick authored
llvm-svn: 150096
-
Andrew Trick authored
llvm-svn: 150095
-
Andrew Trick authored
llvm-svn: 150093
-
Andrew Trick authored
llvm-svn: 150091
-
Brendon Cahoon authored
Creating the isPredicated TSFlag enables the code to use the property defined in the instruction format instead of using a large switch statement. llvm-svn: 150078
-
Elena Demikhovsky authored
> This IR code > %res = call <8 x float> @llvm.x86.avx.cmp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 14) > fails with assertion: > > llc: X86ATTInstPrinter.cpp:62: void llvm::X86ATTInstPrinter::printSSECC(const llvm::MCInst*, unsigned int, llvm::raw_ostream&): Assertion `0 && "Invalid ssecc argument!"' failed. > 0 llc 0x0000000001355803 > 1 llc 0x0000000001355dc9 > 2 libpthread.so.0 0x00007f79a30575d0 > 3 libc.so.6 0x00007f79a23a1945 gsignal + 53 > 4 libc.so.6 0x00007f79a23a2f21 abort + 385 > 5 libc.so.6 0x00007f79a239a810 __assert_fail + 240 > 6 llc 0x00000000011858d5 llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) + 119 I added the full testing for all possible pseudo-ops of cmp. I extended X86AsmPrinter.cpp and X86IntelInstPrinter.cpp. You'l also see lines alignments (unrelated to this fix) in X86IselLowering.cpp from my previous check-in. llvm-svn: 150068
-
Craig Topper authored
llvm-svn: 150067
-
Craig Topper authored
Remove GCC builtins for vpermilp* intrinsics as clang no longer needs them. Custom lower the intrinsics to the vpermilp target specific node and remove intrinsic patterns. llvm-svn: 150060
-
Chad Rosier authored
llvm-svn: 150047
-
Chad Rosier authored
llvm-svn: 150045
-
Chad Rosier authored
llvm-svn: 150014
-
- Feb 07, 2012
-
-
Evan Cheng authored
llvm-svn: 150008
-
Evan Cheng authored
load / store) if the ADD / SUB has a live definition of CPSR. Bug reported by David Meyer. Alas, no test case. llvm-svn: 149970
-
Craig Topper authored
llvm-svn: 149968
-
Craig Topper authored
llvm-svn: 149961
-
Chad Rosier authored
llvm-svn: 149934
-
- Feb 06, 2012
-
-
Andrew Trick authored
llvm-svn: 149926
-
Derek Schuff authored
This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. llvm-svn: 149918
-