- Mar 11, 2009
-
-
Duncan Sands authored
linkage, so remove it. llvm-svn: 66690
-
- Mar 07, 2009
-
-
Duncan Sands authored
and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. llvm-svn: 66339
-
- Feb 18, 2009
-
-
Nate Begeman authored
that has not been JIT'd yet, the callee is put on a list of pending functions to JIT. The call is directed through a stub, which is updated with the address of the function after it has been JIT'd. A new interface for allocating and updating empty stubs is provided. Add support for removing the ModuleProvider the JIT was created with, which would otherwise invalidate the JIT's PassManager, which is initialized with the ModuleProvider's Module. Add support under a new ExecutionEngine flag for emitting the infomration necessary to update Function and GlobalVariable stubs after JITing them, by recording the address of the stub and the name of the GlobalValue. This allows code to be copied from one address space to another, where libraries may live at different virtual addresses, and have the stubs updated with their new correct target addresses. llvm-svn: 64906
-
- Jan 15, 2009
-
-
Rafael Espindola authored
llvm-svn: 62279
-
- Jan 12, 2009
-
-
Duncan Sands authored
suggested by Chris. llvm-svn: 62099
-
- Dec 19, 2008
-
-
Chris Lattner authored
llvm-svn: 61244
-
- Dec 10, 2008
-
-
Evan Cheng authored
Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids some overflow issues. Patch by Thomas Jablin. llvm-svn: 60828
-
- Nov 08, 2008
-
-
Evan Cheng authored
llvm-svn: 58897
-
- Oct 09, 2008
-
-
Dale Johannesen authored
make it clearer what the function does. No functional change. llvm-svn: 57325
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Aug 21, 2008
-
-
Owen Anderson authored
llvm-svn: 55092
-
- May 23, 2008
-
-
Dan Gohman authored
exclude struct and array types. llvm-svn: 51459
-
- May 14, 2008
-
-
Dale Johannesen authored
are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
-
- Apr 16, 2008
-
-
Nicolas Geoffray authored
Correlate stubs with functions in JIT: when emitting a stub, the JIT tells the memory manager which function the stub will resolve. llvm-svn: 49814
-
- Mar 11, 2008
-
-
Dan Gohman authored
that merely add passes. This allows them to be used with either FunctionPassManager or PassManager, or even with a custom new kind of pass manager. llvm-svn: 48256
-
- Feb 20, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 47367
-
- Feb 13, 2008
-
-
Nicolas Geoffray authored
llvm-svn: 47079
-
- Jan 29, 2008
-
-
Duncan Sands authored
to get the alignment of global variables, rather than using hand-made versions. llvm-svn: 46495
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Nov 05, 2007
-
-
Duncan Sands authored
should only effect x86 when using long double. Now 12/16 bytes are output for long double globals (the exact amount depends on the alignment). This brings globals in line with the rest of LLVM: the space reserved for an object is now always the ABI size. One tricky point is that only 10 bytes should be output for long double if it is a field in a packed struct, which is the reason for the additional argument to EmitGlobalConstant. llvm-svn: 43688
-
- Sep 12, 2007
-
-
Dale Johannesen authored
Next round of x87 long double stuff. Getting close now, basically works. llvm-svn: 41875
-
- Sep 11, 2007
-
-
Dale Johannesen authored
access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). llvm-svn: 41858
-
- Sep 06, 2007
-
-
Dale Johannesen authored
Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
-
- May 03, 2007
-
-
Devang Patel authored
llvm-svn: 36662
-
- May 02, 2007
-
-
Devang Patel authored
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
-
- May 01, 2007
-
-
Devang Patel authored
llvm-svn: 36632
-
- Mar 04, 2007
-
-
Reid Spencer authored
llvm-svn: 34903
-
- Mar 03, 2007
-
-
Nate Begeman authored
llvm-svn: 34875
-
- Feb 28, 2007
-
-
Nate Begeman authored
llvm-svn: 34741
-
Nate Begeman authored
llvm-svn: 34740
-
- Feb 15, 2007
-
-
Reid Spencer authored
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
-
- Feb 14, 2007
-
-
Chris Lattner authored
Patch by Scott Michel. llvm-svn: 34266
-
- Feb 10, 2007
-
-
Chris Lattner authored
llvm-svn: 34161
-
Chris Lattner authored
llvm-svn: 34156
-
- Feb 08, 2007
-
-
Bill Wendling authored
llvm-svn: 34031
-
- Feb 07, 2007
-
-
Nate Begeman authored
based on the alignment of the symbol and the target data's preferred align for that type. Also, rename some arguments for consistency. llvm-svn: 33984
-
- Feb 03, 2007
-
-
Bill Wendling authored
llvm-svn: 33816
-
- Jan 29, 2007
-
-
Nate Begeman authored
llvm-svn: 33629
-
- Jan 26, 2007
-
-
Nate Begeman authored
scattered relocations. llvm-svn: 33555
-
- Jan 24, 2007
-
-
Bill Wendling authored
Writer" for the pass name. llvm-svn: 33483
-